[SR-Users] Kamailio dispatcher
Daniel-Constantin Mierla
miconda at gmail.com
Thu Jun 16 12:06:56 CEST 2011
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.
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.
>
>
>
--
Daniel-Constantin Mierla -- http://www.asipto.com
http://linkedin.com/in/miconda -- http://twitter.com/miconda
More information about the sr-users
mailing list