[Users] Registrar-initiated Route changes on Invite?

Joachim Fabini Joachim.Fabini at tuwien.ac.at
Thu Oct 20 17:12:58 CEST 2005


Hi Klaus,

Seems like I missed to mention the most important thing: 
We do have the mechanisms to store and retrieve all routes
in place. What I am looking for is just the mechanism 
(OpenSER calls, order of calls) where/how to add some route 
headers within the registrar so that it can route the message 
to the destination.

It's about plain SIP routing, nothing to do with path 
(although it's a path implementation).

regards
--Joachim


> -----Original Message-----
> From: Klaus Darilion [mailto:klaus.mailinglists at pernau.at] 
> Sent: Donnerstag, 20. Oktober 2005 15:33
> To: Joachim Fabini
> Cc: users at openser.org; 'Joachim Fabini'
> Subject: Re: [Users] Registrar-initiated Route changes on Invite?
> 
> I think the Path module from ser experimental tree, recently 
> updated by 
> Andreas Granig, could do that. Probably you would have to port it to 
> openser.
> 
> regards
> klaus
> 
> Joachim Fabini wrote:
> > Hi,
> > 
> > We'd like to force the following SIP INVITE routing 
> > scenario: UA1->P1->P2->R->P2->P1->UA2. 
> > 
> > Unfortunately the Route is not known apriori and
> > must be built dynamically. P1 knows the Route from
> > P1 to R, R knows the Route from R to P1/UA2.
> > 
> > The INVITE sent by UA1 is loosely routed to R based
> > on the Route (Route: <sip:P2;lr>,<sip:R;lr>) 
> > that is added by P1 to UA1's INVITE. This works.
> > The message arrives correctly to the registrar, Route 
> > header contains Route: <sip:R;lr> as it should.
> > 
> > What we'd like to do: 
> > 1) Lookup the contact (lookup("location");)
> > 2) Rewrite the Route field to the value
> >    Route: <sip:P2;lr>,<sip:P1;lr> that is 
> >    stored by R in an AVP.
> > 3) Forward the Invite on this route to UA2
> > 
> > Can someone please give some hints on how this 
> > is typically done in OpenSER? 
> > Although we rewrite the Invite's Route header field 
> > (new value stored in an AVP) at the Registrar, 
> > loose_route() does not work. We tried several 
> > alternatives including re-writing the Route header,
> > pushing hard-coded strings into the Route, etc. but 
> > none of these solutions does what we want.
> > 
> > What does work is if R self-forwards the Invite and
> > only then adds a new Route header. Apparently 
> > loose_route() in R acts on the route header of the 
> > incoming INVITE - if present - and ignores route header 
> > changes done within the script.
> > 
> > Thanks in advance
> > --Joachim
> > 
> > 
> > _______________________________________________
> > Users mailing list
> > Users at openser.org
> > http://openser.org/cgi-bin/mailman/listinfo/users
> > 
> > 
> 





More information about the Users mailing list