AW: [Users] Registrar-initiated Route changes on Invite?

Daniel-Constantin Mierla daniel at voice-system.ro
Fri Nov 11 12:21:22 CET 2005


Hello,

On 11/08/05 12:41, Johannes Lehninger wrote:
> Hi Daniel,
>
> 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).
>   
dst_uri is not a header, is just a field inside openser meant to store 
the address of the next hop (outbound proxy). I am not sure I get your 
question. If you want to apply the changes to the SIP message (the new 
headers) and reprocess the message, then forwarding to itself is the 
only way. But I do not see any reason for what you want to achieve (if I 
got it right).

Cheers,
Daniel

> It works with the following config
> Avpushto("$duri","adress1");
> Avpushto("$Route","adress2");
> Forward("itself");
>
> Regards
> Johannes
>
>
> -----Ursprüngliche Nachricht-----
> 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?
>
> Hello Joachim,
>
> 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.
>
> Cheers,
> Daniel
>
>
> 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).
>>
>> 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
>>>>
>>>>
>>>>       
>>>>         
>> _______________________________________________
>> Users mailing list
>> Users at openser.org
>> http://openser.org/cgi-bin/mailman/listinfo/users
>>
>>   
>>     
>
> _______________________________________________
> Users mailing list
> Users at openser.org
> http://openser.org/cgi-bin/mailman/listinfo/users
>
>
>   




More information about the Users mailing list