2013/4/9 Richard Fuchs rfuchs@sipwise.com:
On 04/09/13 12:19, Iñaki Baz Castillo wrote:
So the "received" value added by Kamailio is invalid. Such a value cannot be the value of a SIP URI parameter at all. I strongly propose encoding it in base64 or escaping the "=" and the ";" symbols when in a SIP URI param value as Juha suggests.
Would you and everyone else agree that unconditionally encoding the param in base64 would be the preferred solution? I have some pending additions to the path module and could include that as well.
No. SIP already requires hex-(un)escaping in various places (i.e. the Replaces header requires it, a URI username could require it, etc), so it's expected that SIP libraries/clients/servers already include hex-(un)escaping support.
In the other side I don't remember any place in core SIP protocol in which Base64 is used, neither I know wheter Kamailio has built-in code for it or not (well, it's an easy addition anyhow...).
IMHO using the SIP core mechanisms for these kinds of needs (thus hex-(un)escaping) is the correct choice, but since the ;received URI param is a non standard hack which just Kamailio needs and understands, it can be done in any way.
Regards.
-- Iñaki Baz Castillo ibc@aliax.net