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


_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to