public SipStatistics(string stats, YateSerializer serializer) { var parts = stats.Split(','); foreach (var part in parts) { var tuple = serializer.DecodeParameter(part); if (!Int64.TryParse(tuple.Item2, out var value)) { continue; } switch (tuple.Item1.ToLower()) { case "routed": Routed = value; break; case "routing": Routing = value; break; case "total": Total = value; break; case "chans": Chans = value; break; case "transactions": Transactions = value; break; } } }
public SipStatusResponse(string response, YateSerializer serializer) { var parts = response.Split(';'); ParseInfo(parts[0], serializer); Stats = new SipStatistics(parts[1], serializer); if (parts.Length > 2) { ParseDetails(parts[2]); } else { Details = new IDictionary <string, string> [0]; } }
private void ParseInfo(string info, YateSerializer serializer) { var parts = info.Split(','); foreach (var part in parts) { var tuple = serializer.DecodeParameter(part); switch (tuple.Item1.ToLower()) { case "name": Name = tuple.Item2; break; case "format": Format = tuple.Item2; break; } } }
public SipStatusResponse ParseResponse(YateMessageResponse response, YateSerializer serializer) { return(new SipStatusResponse(response.Result.Trim(), serializer)); }
public SerializerTest() { _serializer = new YateSerializer(); }