On Thu, 2011-06-16 at 12:06 +0200, Daniel-Constantin Mierla wrote:
On 6/15/11 10:50 AM, Evgeniy Spinov wrote:
On Wed, 2011-06-15 at 09:47 +0200, Daniel-Constantin Mierla wrote:
On 6/14/11 1:06 PM, Evgeniy Spinov wrote:
On Mon, 2011-06-13 at 12:12 +0200, Daniel-Constantin Mierla wrote:
Ok, still unsolved problem.
I've changed failover part of the script to use ds_next_dst(). It does what it should and signalization works fine - calls are being connected. However I've got no audio and message in logs:
7(9917) ERROR: rtpproxy [rtpproxy.c:2211]: incorrect port 0 in reply from rtp proxy
I've added force_rtp_proxy() after ds_next_dst() and message disappeared, however still no audio on the failover call.
RTP Proxy runs on the same server and is fine for not failover calls. Success route script executes force_rtp_proxy() and fix_nated_contact() in curtain conditions and that's it.
Am I missing something in my logic?
Try to do the rtpproxy thing in branch route -- anyhow this has nothing to with dispatcher.
Cheers, Daniel
It's done on the branch route, however it seems that branch route is not being executed when the failure branch route is being ran.
do t_on_branch() in failure route as well.
Tried that - nothing changes. Getting "incorrect port 0 in reply from rtpproxy" and no audio.
Cheers, Daniel
Anyhow, when the call is not passing through failure route and ds_next_dst() it is fine, no errors. When it goes there, error with rtp proxy in logs and no audio. When I add force_rtp_proxy() on success of t_relay() in failure route it gives no errors, but still no audio.
I do not know where issue is related, and what is wrong, especially when this scenario worked before.
Just to avoid misunderstanding, providing you a failure and a normal branches of the script. Failure route:
if (is_method("INVITE") && (isbflagset("6") || isflagset(5))) { unforce_rtp_proxy(); }
... ( checks for different errors and messages output is skipped, not related to this issue anyway )
if( ds_next_dst() ) { xlog( "L_NOTICE", "[$Tf] $ci Next gateway $fU -> $tU via
$du\n" ); if( !t_relay() ) { xlog( "L_INFO", "[$Tf] $ci -- ERROR - Can not t_relay()\n" ); return; }; return; } else { xlog( "L_INFO", "[$Tf] $ci No more routes available \n" ); t_reply("503", "Service unavailable -- no more gateways" ); exit; };
And success route completely:
if ((isflagset(5) || isbflagset("6"))&& status=~"(183)|(2[0-9][0-9])") { force_rtp_proxy(); } if (isbflagset("6")) { fix_nated_contact(); }
Thank you.