RFC-3261 suggests rewriting Record-route in responses, as a mechanism to
support multi-home proxy. RFC5658 (and few more) have suggested a different
alternative i.e. Double Record-routing and which you are currently using. 

The mechanism of double record-routing requires removing both the routes
(which identifies the incoming and outgoing interfaces) present in the
message) from IN-DIALOG requests during message pre-processing. 
So as per the figure below, (Ref:RFC5658), the proxy should remove routes
having value .65 and .129.

             +-----+-----+
                   | UA1 |
                   +--+--+
                      | .66
       192.0.2.64/26  |
      ----------------+---+-...
                           |
                           | .65
                         +-+-+
                         | P |
                         +-+-+
                           | .129
                           |          192.0.2.128/26
                     ...---+------+------------------
                                  |
                                  | .130
                               +--+--+
                               | UA2 |
                               +--+--+

So considering your message, the message will have two routes identifying
the incoming leg of proxy, so in that case ONLY ONE should be removed.

On the other hand if the initial request has routes for both the legs of
proxy, then both of them shall be removed.

How is it removed is left for implementations - i.e. using request spiraling
or removing both the routes in one go.

Regards,
Harbhanu
****************************************************************************
***********
This e-mail and attachments contain confidential information from HUAWEI,
which is intended only for the person or entity whose address is listed
above. Any use of the information contained herein in any way (including,
but not limited to, total or partial disclosure, reproduction, or
dissemination) by persons other than the intended recipient's) is
prohibited. If you receive this e-mail in error, please notify the sender by
phone or email immediately and delete it!

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Iñaki
Baz Castillo
Sent: Tuesday, May 31, 2011 2:47 AM
To: [email protected]
Subject: [Sip-implementors] Proxy removing more than one Route header
(looserouting)

Hi, RFC 3261 states that a proxy should just remove the top most Route
if it contains a value added by it (or if it's a pre-loaded Route in
an initial request pointing to the proxy itself).

But when a proxy speaks different transport on both "legs" a common
technique is to add two Record-Route (on for each transport) and then
remove both at the same time when an in-dialog request arrives.

So I wonder: If an initial request contains two pre-loaded Route
headers with values pointing to the proxy, could the proxy remove both
of them? i.e:

  INVITE sip:[email protected] SIP/2.0
  Route: <sip:A.org>, <sip:A:A.org:5060>

Thanks.

-- 
Iñaki Baz Castillo
<[email protected]>

_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors


_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to