Kedar,
3261 is pretty clear (in an abstract way) about how to handle everything but REGISTER.
In those cases the request address would be sip:[EMAIL PROTECTED], and proxy.biloxy.com
would typically use that (perhaps just "bob") to look up in a location service for
next hop info. And it wouldn't typically matter what method it was.
But REGISTER is different. The request URI is sip:biloxy.com - bob isn't the intended
recipient of the request, the registrar who has no username part is. Another way of
thinking of it is that the proxy itself (being responsible for biloxy.com) is the
intended recipient. So the proxy could simply act as the registrar in this case. If it
doesn't want to do that, but instead has knowledge of another server to use as a
registrar, then it can simply use that knowledge to decide the next hop. That could be
implemented by looking up some reserved name in the location service if you like.
Whether it selects a different next hop depending on method is up to it. Normally
there are few methods that are meaningful to send to sip:biloxy.com without a username
part. OPTIONS is another one that comes to mind. Even if REGISTER is offloaded from
the proxy it is likely that OPTIONS wouldn't be.
This is all implementation detail - I can see no reason why it should be standardized.
Paul
> Kedar Patil wrote:
>
> Hi,
>
> How does a SIP proxy server decide to forward a REGISTER request to REGISTRAR and a
>SUBSCRIBE request to Presence Server?
>
> For clarification pls. consider following example (and let me know if I am
>interpreting
> anything wrongly in this description) :
>
> A SIP UA is visiting "visited.com" domain. The "visited.com" admin has configured
> this UA with "proxy.visited.com:5060" as the outgoing proxy. The UA wants to
> register with the REGISTRAR its new contact. (pls. Ignore mobility issues here).
>
> The SIP UA sends following REGISTER request to "proxy.visited.com:5060",
>
> bobspc.visited.com - > proxy.visited.com
>
> REGISTER sip:biloxi.com SIP/2.0
> Via: SIP/2.0/UDP bobspc.visited.com:5060;branch=z9hG4bKnashds7
> Max-Forwards: 70
> To: Bob <sip:[EMAIL PROTECTED]>
> From: Bob <sip:[EMAIL PROTECTED]>;tag=456248
> Call-ID: 843817637684230@998sdasdh09
> CSeq: 1826 REGISTER
> Contact: <sip:[EMAIL PROTECTED]>
> Expires: 7200
> Content-Length: 0
> Now, as per RFC3263,
>
> 1) "proxy.visited.com" is not responsible for "biloxi.com" domain.
> So it performs a NAPTR query for TARGET "biloxi.com",
> It returns, say, one NAPTR SIP+D2U record "_sip._udp.biloxi.com".
>
> 2) Then "proxy.visited.com" performs an SRV query for "_sip._udp.biloxi.com",
> it returns, say, one SRV record "proxy.biloxi.com" and port 5070.
>
> 3) Then "proxy.visited.com" performs an A record query for "proxy.biloxi.com",
> it returns, say, a.b.c.d.
>
> So "proxy.visited.com" sends above request, (without any modifications), to
> a.b.c.d at port 5070 using UDP.
>
> Now, "proxy.biloxi.com" receives the above request. It is responsible for
> "biloxi.com" domain. The REGISTRAR for biloxi.com domain is say
> "registrar.biloxi.com". "proxy.biloxi.com" must decide to send above request
> to "registrar.biloxi.com".
>
> RFC3261, section 16.5 allows "proxy.biloxi.com", to use any abstract
> location service to find the destination for the request.
>
> Q : Is it true that, in order to find the destination, "proxy.biloxi.com" is
> required to look into SIP request, and see if it is REGISTER, then query
> abstract location service for REGISTRAR, if it is SUBSCRIBE, then instead
> query for PRESENCE SERVER. So destination is queried based on SIP method?
> Is this what is expected?
>
> thanks in advance,
> = Kedar =
>
>
>
>
>
_______________________________________________
Sip-implementors mailing list
[EMAIL PROTECTED]
http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors