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

Martin Hoffmann hn at nvnc.de
Mon Jul 16 14:33:01 CEST 2007


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.

>   You paragraph would make sense for stateful proxies for the duration
>   of the transaction.

Well, no, since a stateful proxy makes the decision only once per
transaction (it swallows re-sent messages).

Regards,
Martin



More information about the sr-users mailing list