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@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@202.168.41.225,to:5004@202.168.41.225,fromtag:a42f4694cd2519b3,totag:as1948cde3
mediaproxy[6335]: request 2fc1aa3946236d91@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@202.168.41.225,to:5004@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(); >> }