[SR-Users] path uri problem

Iñaki Baz Castillo ibc at aliax.net
Tue Apr 9 18:19:03 CEST 2013


2013/4/9 Juha Heinanen <jh at tutpro.com>:
> because path-value starts with name-addr and my interpretation is that
> since there are <>s around this path header body:
>
> Path: <sip:192.98.102.10;transport=tcp;lr;received='sip:192.98.102.10:58156%3Btransport%3Dtcp'>
>
> solely consists of name-addr and does not include any rr-params.  sip
> uri included in name-addr in turn cannot have ; and = in its param
> values.


In the above Path there is NO header params but JUST URI params
(header params would be placed after the ">"). And indeed the above
usage is INCORRECT. This is what happens when parsing a Route or Path
header as the above:

Path: <sip:192.98.102.10;transport=tcp;lr;received='sip:192.98.102.10:58156%3Btransport%3Dtcp'>

Parsing result:

    - display name:  null
    - schema:      sip
    - user:        null
    - host:        "192.98.102.10" (ipv4)
    - port:        null
    - params:      {
         "transport"=>"tcp'",
         "lr"=>null,
         "received"=>"'sip:192.98.102.10:58156",
         "transport"=>   "tcp'"
      }



Do you see it? the above Path is BNF valid but 100% unexpected as
there are the following URI params/values (now without double quotes):

      transport  :    tcp
      lr     :
      received  :  'sip:192.98.102.10:58156  <-- note the initial ' !!!
      transport   :    tcp'   <-- note the final ' !!!!


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.



Regards.



--
Iñaki Baz Castillo
<ibc at aliax.net>



More information about the sr-users mailing list