Hi, maybe I miss something but RFC 3261 doesn't clarify very well how
a proxy is supposed to match an URI into a Route header against its
local URI's. Section 16.4 ends with:
If the first value in the Route header field indicates this proxy,
the proxy MUST remove that value from the request.
It just says "indicates this proxy".
So for example let's suppose that my proxy is responsible for domains
A.org and B.org, and listens into two ports (for both) 5060 and 6060
(just UDP).
DNS resources are configured as follows:
- DNS A for A.org points to 1.1.1.1.
- DNS A for B.org points to 2.2.2.2.
- DNS SRV for _sip._udp.A.org points to A.org port 5060.
and also to to A.org port 6060.
- DNS SRV for _sip._udp.B.org points to B.org port 5060.
and also to to B.org port 6060.
So now we have 6 different SIP clients which use a pre-loaded Route as follows:
1) Route: <sip:A.org>
2) Route: <sip:A.org:5060>
3) Route: <sip:A.org:6060>
4) Route: <sip:B.org>
5) Route: <sip:B.org:5060>
6) Route: <sip:B.org:6060>
By following SIP URI comparison procedures, sip:A.org is different
than sip:A.org:5060 so, obviously the proxy cannot perform SIP URI
comparison when matching local Route's.
But obviously all the 6 pre-loaded Routes above should be matched by
the proxy as "local Route" so they should be removed.
It seems then, that the proxy must be "manually" configured to detect
as "local Routes" those which match the domains it's responsible for,
and also take into account the Route URI port (or default port if not
present), so "sip:A.org:5060" also matches as local Route.
Do I miss something? Thanks a lot.
--
Iñaki Baz Castil
--
Iñaki Baz Castillo
<[email protected]>
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors