> In a Contact header of a SIP 302 response message > to be sent out , I am trying to include a tel URI > as below: > > Contact: < tel:+1-800-123-4567;cic=+1-6789 > > > But the third party SIP stack we use automatically > encode "+" to "%2b". > > Is this incorrect behavior?
Yes. > Or is the SIP client receiving the tel URI supposed > to decode "%2b" as "+"? My understanding is no. The following RFC 3966 section 3 snippets appear to apply. The '+' is being used as a delimiter; thus it "MUST NOT be percent encoded". As far as I know, RFC 2396 indicating '+' within reserved indicates that the client should not interpret "%2b" as "+" within this situation. "The syntax definition follows RFC 2396 [RFC2396], indicating the actual characters contained in the URI. If the reserved characters "+", ";", "=", and "?" are used as delimiters between components of the "tel" URI, they MUST NOT be percent encoded. These characters MUST be percent encoded if they appear in tel URI parameter values. Characters other than those in the "reserved" and "unsafe" sets (see RFC 2396 [RFC2396]) are equivalent to their "% HEX HEX" percent encoding." global-number-digits = "+" *phonedigit DIGIT *phonedigit _______________________________________________ Sip-implementors mailing list [email protected] https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
