[OpenSIPS-Devel] [ opensips-Patches-3036052 ] [path] Fix "use_received" rr callback

SourceForge.net noreply at sourceforge.net
Mon Aug 2 17:11:09 CEST 2010


Patches item #3036052, was opened at 2010-07-28 18:24
Message generated for change (Comment added) made by bogdan_iancu
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=1086412&aid=3036052&group_id=232389

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: trunk
Status: Open
Resolution: Invalid
Priority: 5
Private: No
Submitted By: Christophe Sollet (csollet)
Assigned to: Bogdan-Andrei Iancu (bogdan_iancu)
Summary: [path] Fix "use_received" rr callback

Initial Comment:
Path rr callback overwrite transport information from R-URI when it use the received param as this param doesn't contain any transport information but only NATed IP and port.
This patch add the transport param to the dst_uri if present in R-URI.



----------------------------------------------------------------------

>Comment By: Bogdan-Andrei Iancu (bogdan_iancu)
Date: 2010-08-02 18:11

Message:
Hi Christophe,

I'm still convinced that adding the transport to Path is the correct way -
if you have protocol change, you will have 2 PATH hdrs. Like (for
REGISTER):

UAC   (ct;tcp)  --->tcp---> opensips (path;udp , path;tcp)   --->udp---->
registrar

So, you will have in INVITE (in the other way):
RURI: ct;tcp
Route: path;udp
Route; path;tcp

so, it will go via UDP to opensips, switch to TCP before sending to end
point.

Regards,
Bogdan

Regards,
Bogdan

----------------------------------------------------------------------

Comment By: Christophe Sollet (csollet)
Date: 2010-08-02 16:14

Message:
Hi bogdan,

You're right, this can be working only on the last Route : really a bad
idea... :) 

But I'm unsure about adding the transport param on the path header to
merge it at callback level : The transport will be used by the previous hop
(In  a scenario with a registrar and a front proxy, the registrar will try
to contact the proxy with the proto used between the UA and the proxy).

Attached patch (path-transport.diff) add the transport param as a uri
param of the received value (the whole is surrounded by double quote).

Regards,
Christophe.

----------------------------------------------------------------------

Comment By: Bogdan-Andrei Iancu (bogdan_iancu)
Date: 2010-08-01 23:08

Message:
Hi Christophe,

I'm not sure this is correct because:

1) a Route header must be self-sufficient, so if a TRANSPORT info is
needed, it must be included in it; that means the fix must be done when the
PATH hdr is added, not when ROUTE hdr is used.

2) mixing the info from a ROUTE hdr with the info from RURI is not
correct, as they are two independent routing hops. RURI defines the
terminus point, while the ROUTE is one of the hops. Between the current hop
and the terminus point, the protocol may change several time, so you should
not change the proto (somewhere at a hop) based on the properties of the
terminus point.

In my opinion, the trasnport info must be added to the PATH hdr and the
callback just merge the TRANSPORT and RECEIVED to build the DST URI.

Regards,
Bogdan

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=1086412&aid=3036052&group_id=232389



More information about the Devel mailing list