[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