/// <summary> /// Converts this to valid "via-parm" value. /// </summary> /// <returns>Returns "via-parm" value.</returns> public override string ToStringValue() { /* * Via = ( "Via" / "v" ) HCOLON via-parm *(COMMA via-parm) * via-parm = sent-protocol LWS sent-by *( SEMI via-params ) * via-params = via-ttl / via-maddr / via-received / via-branch / via-extension * via-ttl = "ttl" EQUAL ttl * via-maddr = "maddr" EQUAL host * via-received = "received" EQUAL (IPv4address / IPv6address) * via-branch = "branch" EQUAL token * via-extension = generic-param * sent-protocol = protocol-name SLASH protocol-version * SLASH transport * protocol-name = "SIP" / token * protocol-version = token * transport = "UDP" / "TCP" / "TLS" / "SCTP" / other-transport * sent-by = host [ COLON port ] * ttl = 1*3DIGIT ; 0 to 255 * * Via extentions: * // RFC 3486 * via-compression = "comp" EQUAL ("sigcomp" / other-compression) * // RFC 3581 * response-port = "rport" [EQUAL 1*DIGIT] * * Examples: * Via: SIP/2.0/UDP 127.0.0.1:58716;branch=z9hG4bK-d87543-4d7e71216b27df6e-1--d87543- * // Specifically, LWS on either side of the ":" or "/" is allowed. * Via: SIP / 2.0 / UDP 127.0.0.1:58716;branch=z9hG4bK-d87543-4d7e71216b27df6e-1--d87543- */ StringBuilder retVal = new StringBuilder(); retVal.Append(ProtocolName + "/" + ProtocolVersion + "/" + ProtocolTransport + " "); retVal.Append(SentBy.ToString()); retVal.Append(ParametersToString()); return(retVal.ToString()); }
public override string ToString() { StringBuilder sb = new StringBuilder(); sb.Append($"Via: {SIPVersion}"); sb.Append($"/{Protocol} "); sb.Append($"{SentBy.ToString()};"); if (!string.IsNullOrWhiteSpace(Branch)) { sb.Append($"branch={Branch};"); } if (!string.IsNullOrWhiteSpace(RPort)) { sb.Append($"{RPort}"); } sb.AppendLine(); return(sb.ToString()); }
public override string FormatBodyToString() { var b = new StringBuilder(); b.AppendFormat("{0}/{1} {2};{3}", SipConstants.SipTwoZeroString, Transport, SentBy.ToString(), Parameters.FormatToString()); return(b.ToString()); }