AW: [Users] Registrar-initiated Route changes on Invite?
Johannes at ftw.at
Tue Nov 8 11:41:03 CET 2005
another question concerning this set of proxies I want to travers.
I insert the first one with avp_pushto($duri...)
But how do I get openser to insert this new header without forwarding it to
itself (using forward).
It works with the following config
Von: users-bounces at openser.org [mailto:users-bounces at openser.org] Im Auftrag
von Daniel-Constantin Mierla
Gesendet: Freitag, 21. Oktober 2005 10:47
An: Joachim Fabini
Cc: 'Joachim Fabini'; users at openser.org
Betreff: Re: [Users] Registrar-initiated Route changes on Invite?
the solution is rather simple. If you have a set of proxies where you
want to send the message, you have to add the address of the first one
in dst_uri (see avp_pushto() -> $duri:
http://www.voice-system.ro/docs/avpops/ar01s06.html#avp_pushto) and the
rest of them in Route headers.
On 10/20/05 18:12, Joachim Fabini wrote:
> 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).
>> -----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
>> Joachim Fabini wrote:
>>> 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
>>> Users mailing list
>>> Users at openser.org
> Users mailing list
> Users at openser.org
Users mailing list
Users at openser.org
More information about the Users