Module uac use some kind of Base64 for SipUri saving in Record-Route header parameter "rr_from_store_param" Base64 is case sensitive, but according to rfc3261: ``` When comparing header fields, field names are always case- insensitive Unless otherwise stated in the definition of a particular header field, field values, parameter names, and parameter values are case-insensitive Tokens are always case-insensitive Unless specified otherwise, values expressed as quoted strings are case-sensitive For example,
Contact: sip:alice@atlantacom;expires=3600
is equivalent to
CONTACT: sip:alice@atlantacom;ExPiReS=3600
and
Content-Disposition: session;handling=optional
is equivalent to
content-disposition: Session;HANDLING=OPTIONAL
The following two header fields are not equivalent:
Warning: 370 devnull "Choose a bigger pipe" Warning: 370 devnull "CHOOSE A BIGGER PIPE" ``` Ok " values expressed as quoted strings are case-sensitive", so I thought to make a quoted string like ``` Record-Route: sip:xxxxxxxxxxxx:5071;lr;ftag=SDj3nsa01-78422015;vsf="baSE64strinG";nat=yes ``` but according to rfc3261 DQUATE is not possible here: ``` other-param = pname [ "=" pvalue ] pname = 1*paramchar pvalue = 1*paramchar paramchar = param-unreserved / unreserved / escaped param-unreserved = "[" / "]" / "/" / ":" / "&" / "+" / "$" ``` Some devices in my network convert "rr_from_store_param" to lower-case letters, so there is trash in To/From headers after restore, It is not wise behaviour, but is rfc compliant
So any idea for using Base32 instead of Base64?
--- Reply to this email directly or view it on GitHub: https://github.com/kamailio/kamailio/issues/455