[OpenSIPS-Users] explizit handling auf replyto

Bogdan-Andrei Iancu bogdan at voice-system.ro
Thu Sep 24 10:42:33 CEST 2009


Hi Uwe,

Sorry for the delay - I took a look at the logs and there is what I 
understand from there:
    - I guess you do a parallel forking as the 486 comes from a second 
branch (id 1 starting from 0) (see ;branch=z9hG4bK52ad.7d455a97.1 )
    - The TM decides to store the reply without relaying 
"DBG:tm:relay_reply: branch=1, save=1, relay=-1"  TM does not relay it 
as probably there is no final reply on the first branch (id = 0).

So, the final reply is not forwarded because not all branches are 
completed yet, so TM cannot pick yet a final reply to be sent to UAC.

It is a typical behaviour during parallel forking.

Regards,
Bogdan


Uwe Kastens wrote:
> Hello,
>
> Ok. I need to have that forward() in my configuration the get answers
> like 404, 486, 487 back to my asterisk. Reading your statements this
> should not be possible since I use t_relay for the requests and the
> replys should be routed by default.
>
> I will make a trace and post it to the list. One with forward and the
> other without.
>
> BR and Thanks in advance
>
> Uwe
>
>
>
> Bogdan-Andrei Iancu schrieb:
>   
>> Uwe,
>>
>> forward() is a function exclusivly used for REQUESTS - for replies, 
>> nothing needs to be done as OpenSIPS will do it automatically:
>>
>> 1) if the requests was statefully forwarded (via t_relay() ), the 
>> transaction will contain all the info to route back the reply
>>
>> 2) if the requests was statelessly forwarded (via forward() ), the VIA 
>> stack (in received reply) will contain all the info to route back the reply
>>
>> Regards,
>> Bogdan
>>
>>
>> Uwe Kastens wrote:
>>     
>>> Hi Bogdan,
>>>
>>>   
>>>       
>>>>>  I need to route this
>>>>> replys with an reply_route and forward them explicitly to the pstn gateway.
>>>>>   
>>>>>       
>>>>>           
>>>> and how do you do reply routing ?? replies are automatically routed 
>>>> based on VIA stack and you cannot influence this from script.
>>>>     
>>>>         
>>> ...
>>> if (!t_relay()) {
>>>   sl_reply_error();
>>>  };
>>>
>>> t_on_reply("1");
>>> }
>>> onreply_route[1]  {
>>> xlog("L_DBG","========== route [1] t_on_failure msg-len from $si:$sp:
>>> $ml \n$mb\n ==========\n");
>>> forward("10.20.30.101:5100");
>>> }
>>>
>>> BR
>>>
>>> Uwe
>>>
>>>
>>>
>>>   
>>>       
>>>> Regards,
>>>> Bogdan
>>>>     
>>>>         
>>>>> This not as it should be?
>>>>>
>>>>>
>>>>>
>>>>> BR
>>>>>
>>>>> Uwe
>>>>>   
>>>>>       
>>>>>           
>>>>>> using forward() forces a stateless behaviour of OpenSIPS. To be able to 
>>>>>> catch replies for a requests (what on_reply route does) it requires a 
>>>>>> statefull approach. This is the reason it does not work for you.
>>>>>>
>>>>>> If you use t_relay() instead of forward(), you should be able to use 
>>>>>> failure and onreply routes.
>>>>>>
>>>>>> Regards,
>>>>>> Bogdan
>>>>>>
>>>>>> Uwe Kastens wrote:
>>>>>>     
>>>>>>         
>>>>>>             
>>>>>>> Hello,
>>>>>>>
>>>>>>> I am using opensips 1.5.1 and I have the problem, that busy messages are
>>>>>>> not passed to the mediagw. Anything else is working (ACK etc.pp.). If I
>>>>>>> route that message via forward("IP:port") to the media gw in on_replyto,
>>>>>>> busy is processed correctly. If not, the busy is not send to the mediagw.
>>>>>>>
>>>>>>> So I was wondering if I had to handle some replyto messages?
>>>>>>>
>>>>>>> BR
>>>>>>>
>>>>>>> uwe
>>>>>>>
>>>>>>>
>>>>>>>   
>>>>>>>       
>>>>>>>  




More information about the Users mailing list