[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