[Kamailio-Devel] More about URI port and URI parameters when comparing SIP URI's

Klaus Darilion klaus.mailinglists at pernau.at
Tue Feb 24 21:30:25 CET 2009


Iñaki Baz Castillo wrote:
> Hi, I remember a long thread about SIP URI comparisions. We talked about if a 
> port present in a From/To SIP URI should be matched or not when comparing 
> that URI with other.
> 
> Well, the fact is that port is *not allowed* in From/To headers, as Table 1 
> states in RFC 3261 (pag 151):
> 
> 
>                                                        dialog
>                                           reg./redir. Contact/
>               default  Req.-URI  To  From  Contact   R-R/Route  external
> user          --          o      o    o       o          o         o
> password      --          o      o    o       o          o         o
> host          --          m      m    m       m          m         m
> port          (1)         o      -    -       o          o         o
> user-param    ip          o      o    o       o          o         o
> method        INVITE      -      -    -       -          -         o
> maddr-param   --          o      -    -       o          o         o
> ttl-param     1           o      -    -       o          -         o
> transp.-param (2)         o      -    -       o          o         o
> lr-param      --          o      -    -       -          o         o
> other-param   --          o      o    o       o          o         o
> headers       --          -      -    -       o          -         o
> 
>    (1): The default port value is transport and scheme dependent.  The
>    default  is  5060  for  sip: using UDP, TCP, or SCTP.  The default is
>    5061 for sip: using TLS over TCP and sips: over TCP.
> 
>    (2): The default transport is scheme dependent.  For sip:, it is UDP.
>    For sips:, it is TCP.
> 
>    Table 1: Use and default values of URI components for SIP header
>    field values, Request-URI and references
> 
> 
> 
> Also, in pag 150 it appears:
> 
>    Entries marked "m" are mandatory, those
>    marked "o" are optional, and those marked "-" are not allowed.
>    Elements processing URIs SHOULD ignore any disallowed components if
>    they are present. 
> 
> 
> Under my understanding this means that the following URI's in a From headers 
> are all equal when comparing them:
> 
>   From: <sip:user at domain.org:5060;myparam=qwe>;tag=1111
>   From: <sip:user at domain.org:9999;myparam2=rty>;tag=2222
>   From: <sip:user at domain.org;myparam3=qweuio;tag=3333
> 
> 
> They are equivalent since port must be ignored when comparing URI's in From/To 
> headers (according to the table above).

As I first guess I would say the table is buggy. It is weird that an URI 
has a different meaning when used in a different header. If someone's 
SIP AoR is "sip:user at domain.org:9999", then IMO the port has to be in 
the From URI too - otherwise you can't call the caller back.

klaus




More information about the Devel mailing list