[OpenSIPS-Devel] [ opensips-Patches-2111024 ] New pseudo variable for route_params

SourceForge.net noreply at sourceforge.net
Thu Sep 18 22:02:44 CEST 2008


Patches item #2111024, was opened at 2008-09-14 22:45
Message generated for change (Comment added) made by nobody
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=1086412&aid=2111024&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: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Nobody/Anonymous (nobody)
Summary: New pseudo variable for route_params

Initial Comment:
To my big surprise, OpenSIPS is not transparent in regards with route parameters. In route scripts, there is no easy way to copy all the route params from the incoming message into the outgoing ones.

I extended the RR modules in order to give access to rr params in a pseudo variable named $rr_params

So copying route params becomes easy

if (loose_route() )
{
    record_route( $rr_params );
    ...
    t_relay();
}

Examining and modifying route params beforehand in script variables or AVPs is also vastly simplified.

Emmanuel BUU
http://www.ives.fr/
http://www.telephone-video.fr/

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

Comment By: Nobody/Anonymous (nobody)
Date: 2008-09-18 20:02

Message:
not sure what you mean: during the first INVITE, if you call
record_route(), openser will add the Record-route header with some
parameters. If there are already Route headers present, openser will remove
the ones pointing to itself and the other will be untouched.

Further, in-dialog requests will contain the Route added by openser. The
Route headers which point to openser will be remove during loose_routing,
other route headers will be untouched.

If you see a different behavior please post an ngrep trace (ngrep -W
byline -t -q -P "" -d any port 5060)

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

Comment By: Emmanuel BUU (neutrino38)
Date: 2008-09-18 19:21

Message:
Fine but then we have an issue here: 

OpenSIPS in its current form drops the route parameters. It is when
record_route() is called, previously received params are wiped out ex:

UAC               OpenSIPS                UAS

INVITE --------> challenge
407 <------------

INVITE --------> add route param ---------> INVITE with route param
                            200 OK + params <---
200 OK + params <-----------


re-INVITE + param ---------> if (loose_route())
                                    record_route()
                                            ---------------> INVITE but
params disapeared !!!

So I should modify the patch just to copy existing params ?

I believed  route param could be used information which would persist
during the dialog ?



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

Comment By: Nobody/Anonymous (nobody)
Date: 2008-09-15 09:21

Message:
FYI: Adding Record-Route header to in-dialog requests is useless, as the
route set is built from the initial request and MUST NOT be changed during
the dialog. If a client interprets Record-route headers of in-dialog
requests than the client is buggy.

klaus

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

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



More information about the Devel mailing list