> 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

Reply via email to