[Serusers] Forwarding and mediaproxy

Greger V. Teigre greger at teigre.com
Fri Feb 16 14:26:54 CET 2007


No, I think that confirms what I thought I remembered. As onfailure will 
use the original message, there will be parts of it you cannot change.
g-)

Shaun Hofer wrote:
> I found the problem, which was on the Asterisk end. As it stands, it works 
> fine when exclude route(4) call. When I call with mediaproxy being used, I 
> don't get any sound. From packet captures I can see RTP stream coming from 
> Asterisk to SER machine(I assume mediaproxy). Asterisk seems to also send RTP 
> packets to UA.  Does this mean mediaproxy can't be used after failure_route 
> or is there something else I can try ?
>
> route[4] {
>         # ----------------------------------------------------------
>         # NAT Traversal Section
>         # ----------------------------------------------------------
>         if (isflagset(6) || isflagset(7) || isflagset(11)) {
>                 if (!isflagset(8)) {
>                          setflag(8);
>                          use_media_proxy();
>                  };
>         };
> }
>
> route[7] {
>         setflag(11);
>         revert_uri();
>         rewritehostport("202.168.41.218:5060");
>         append_branch();
>         route(4);
>         t_relay();
> }
>
> failure_route[1] {
>         if (t_check_status("487")) {
>                 break;
>         };
>         if (isflagset(26) && t_check_status("486")) {
>                         avp_delete("s:fwdbusy");
>                         resetflag(26);
>                         route(7);
>         };
>         if (isflagset(27) && t_check_status("408")) {
>                         avp_delete("s:fwdnoanswer");
>                         resetflag(27);
>                        route(7);
>         };
>         end_media_session();
> }
>
> mediaproxy[6335]: lookup 2fc1aa3946236d91 at 10.0.0.101 202.168.41.218:8672:audio 
> 202.168.41.218 202.168.41.225 local 202.168.41.225 unknown Asterisk=20PBX=20 
> info=from:5002 at 202.168.41.225,to:5004 at 202.168.41.225,fromtag:a42f4694cd2519b3,totag:as1948cde3
>
> mediaproxy[6335]: request 2fc1aa3946236d91 at 10.0.0.101 203.220.88.70:5522:audio 
> 203.220.88.70 202.168.41.225 remote 202.168.41.218 remote Grandstream=20 
> info=from:5002 at 202.168.41.225,to:5004 at 202.168.41.225,fromtag:a42f4694cd2519b3,totag:
>
> Thanks
> Shaun
>
> On Tuesday 06 February 2007 17:37, Greger V. Teigre wrote:
>   
>> Well, nothing much I can do. "whole thing broke" and "no success" are 
>> not easy to debug remotely... ;-)
>> g-)
>>
>> Shaun Hofer wrote:
>>     
>>> I must be loosing the plot here, I tried t_relay() with no success.
>>>
>>> -Shaun
>>>
>>> On Monday 05 February 2007 20:00, you wrote:
>>>   
>>>       
>>>> Sorry I didn't catch that before, but when you add a new branch after a 
>>>> failure, you must call t_relay()...
>>>> g-)
>>>>
>>>> Shaun Hofer wrote:
>>>>     
>>>>         
>>>>> I'm not entirly sure why, but when i put it into a seperate route the 
>>>>>           
> whole 
>   
>>>>> thing broke, I tried it with and without t_relay_to_udp and break. 
>>>>> When I try the following, ser doesn't even send anything to Asterisk. 
>>>>>           
> Any 
>   
>>>>> idea's what I'm doing wrong ?
>>>>>
>>>>> route[7] {
>>>>>         revert_uri();
>>>>>         rewritehostport("202.168.41.218:5060");
>>>>>         append_branch();
>>>>> }
>>>>>
>>>>> failure_route[1] {
>>>>>         if (t_check_status("487")) {
>>>>>                 break;
>>>>>         };
>>>>>         if (isflagset(26) && t_check_status("486")) {
>>>>>                         avp_delete("s:fwdbusy");
>>>>>                         resetflag(26);
>>>>>                         route(7);
>>>>>         };
>>>>>  	if (isflagset(27) && t_check_status("408")) {
>>>>>                         avp_delete("s:fwdnoanswer");
>>>>>                         resetflag(27);
>>>>>                         route(7);
>>>>>         };
>>>>>         end_media_session();
>>>>> }
>>>>>
>>>>> Thanks 
>>>>> Shaun
>>>>>
>>>>> On Thursday 01 February 2007 18:43, Greger V. Teigre wrote:
>>>>>   
>>>>>       
>>>>>           
>>>>>> you should remove t_relay_to_udp, as well as the break and make sure 
>>>>>> that on return to failure_route you don't run more commands.
>>>>>> g-)
>>>>>>
>>>>>> Shaun Hofer wrote:
>>>>>>     
>>>>>>         
>>>>>>             
>>>>>>> I tried making route just to house the commands, I call for both:
>>>>>>> route[7] {
>>>>>>> 	revert_uri();
>>>>>>> 	rewritehostport("202.168.41.218:5060");
>>>>>>> 	append_branch();
>>>>>>>  	t_relay_to_udp("202.168.41.218", "5060");
>>>>>>> 	break;
>>>>>>> }
>>>>>>>
>>>>>>> When I did this I found that it wouldn't work properly. I did play 
>>>>>>>               
> around 
>   
>>>>>>>       
>>>>>>>           
>>>>>>>               
>>>>> with 
>>>>>   
>>>>>       
>>>>>           
>>>>>>> putting something like use_mediaproxy and calling other routes but 
>>>>>>>               
> seemed 
>   
>>>>>>> like they failed to be called correctly.  I'm thinking either I 
>>>>>>>               
> mediaproxy 
>   
>>>>>>> all traffic before from the start or let rtp travel directly between 
>>>>>>>               
> UA 
>   
>>>>>>>       
>>>>>>>           
>>>>>>>               
>>>>> and 
>>>>>   
>>>>>       
>>>>>           
>>>>>>> Asterisk.
>>>>>>>
>>>>>>> On Wednesday 31 January 2007 18:21, you wrote:
>>>>>>>   
>>>>>>>       
>>>>>>>           
>>>>>>>               
>>>>>>>> You could create a route and then call the route from failure_route. 
>>>>>>>> However, I'm not sure if that will work as the INVITE was already 
>>>>>>>>                 
> sent 
>   
>>>>>>>> to the UA not responding. But try.
>>>>>>>> g-)
>>>>>>>>
>>>>>>>> Shaun Hofer wrote:
>>>>>>>>     
>>>>>>>>         
>>>>>>>>             
>>>>>>>>                 
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> I wish to forward busy and no answer calls to Asterisk, and have the 
>>>>>>>>>                   
> RTP 
>   
>>>>>>>>> stream go through mediaproxy. At the moment, some calls use 
>>>>>>>>>                   
> mediaproxy 
>   
>>>>>>>>>           
>>>>>>>>>               
>>>>>>>>>                   
>>>>> and 
>>>>>   
>>>>>       
>>>>>           
>>>>>>>>> some don't. If the call is not using mediaproxy to get it too. I 
>>>>>>>>>                   
> have 
>   
>>>>>>>>>       
>>>>>>>>>           
>>>>>>>>>               
>>>>>>>>>                   
>>>>>>> noticed 
>>>>>>>   
>>>>>>>       
>>>>>>>           
>>>>>>>               
>>>>>>>>> that I can't call use_media_proxy() from failed route. I don't want 
>>>>>>>>>                   
> to 
>   
>>>>>>>>>           
>>>>>>>>>               
>>>>>>>>>                   
>>>>> use 
>>>>>   
>>>>>       
>>>>>           
>>>>>>>>> mediaproxy for every call between UA's, if not needed. Any 
>>>>>>>>>                   
> suggestions 
>   
>>>>>>>>>           
>>>>>>>>>               
>>>>>>>>>                   
>>>>> on 
>>>>>   
>>>>>       
>>>>>           
>>>>>>>>>       
>>>>>>>>>           
>>>>>>>>>               
>>>>>>>>>                   
>>>>>>> how 
>>>>>>>   
>>>>>>>       
>>>>>>>           
>>>>>>>               
>>>>>>>>> I might be able to get calls to use mediaproxy if forwarded ?
>>>>>>>>>
>>>>>>>>> current fail route:
>>>>>>>>>
>>>>>>>>> failure_route[1] {
>>>>>>>>>         if (t_check_status("487")) {
>>>>>>>>>                 break;
>>>>>>>>>         };
>>>>>>>>>         if (isflagset(26) && t_check_status("486")) {
>>>>>>>>>                 avp_delete("s:fwdbusy");
>>>>>>>>>                 resetflag(26);
>>>>>>>>>                 revert_uri();
>>>>>>>>>                 rewritehostport("202.168.41.218:5060");
>>>>>>>>>                 append_branch();
>>>>>>>>>                 t_relay_to_udp("202.168.41.218", "5060");
>>>>>>>>>                 break;
>>>>>>>>>         };
>>>>>>>>>         if (isflagset(27) && t_check_status("408")) {
>>>>>>>>>                 avp_delete("s:fwdnoanswer");
>>>>>>>>>                 resetflag(27);
>>>>>>>>>  		revert_uri();
>>>>>>>>>                 rewritehostport("202.168.41.218:5060");
>>>>>>>>>                 append_branch();
>>>>>>>>>                 t_relay_to_udp("202.168.41.218", "5060");
>>>>>>>>>                 break;
>>>>>>>>> 	};
>>>>>>>>>         end_media_session();
>>>>>>>>> }
>>>>>>>>>                   
>
>
>   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20070216/ff830c05/attachment.htm>


More information about the sr-users mailing list