[Serusers] [Serdev] loose_route behaviour, detecting single Route with myself

Klaus Darilion klaus.mailinglists at pernau.at
Mon Jul 16 16:18:15 CEST 2007



Martin Hoffmann wrote:
> Jan Janak wrote:
>> Martin Hoffmann wrote:
>>> Klaus Darilion wrote:
>>>> sl:
>>>> (A) loose_route=true,  --> just forward
>>>> (B) loose_route=false, --> lookup()*, forward
>>>> (C) loose_route=true,  --> just forward
>>>> (D) loose_route=true,  --> lookup()**, forward
>>> Just a quick reminder that lookup() and forward don't go together. A
>>> stateless proxy has to make the same decision for the same message (aka
>>> re-sent request). Since entries in usrloc expire, there is a good chance
>>> that a resent will be send somewhere else.
>>   What makes you think that stateless proxies have to make the same
>>   decision for the same message?
> 
> RFC 3261, section 16.11:
> 
> |    A stateless proxy MUST follow the request processing steps described
> |    in Sections 16.4 through 16.5 with the following exception:
> |
> |      o  A stateless proxy MUST choose one and only one target from the
> |         target set.  This choice MUST only rely on fields in the
> |         message and time-invariant properties of the server.  In
> |         particular, a retransmitted request MUST be forwarded to the
> |         same destination each time it is processed.  Furthermore,
> |         CANCEL and non-Routed ACK requests MUST generate the same
> |         choice as their associated INVITE.

That would mean that doing lookup() in a stateless proxy is practically 
not allowed.

regards
klaus



More information about the sr-users mailing list