[SR-Users] Problem with resuming suspended transactions.

Daniel-Constantin Mierla miconda at gmail.com
Mon Nov 23 17:39:49 CET 2015


Hello,

probably you want the next snippet:

                if (!t_relay())
                        xlog("L_INFO","Cannot relay PUSHED invite.");
                        sl_reply_error();


to be:

                if (!t_relay()) {
                        xlog("L_INFO","Cannot relay PUSHED invite.");
                        sl_reply_error();
                }


Because you don't have curly braces for the IF block, only the xlog is
executed in case of error. sl_reply_error() is executed always.

Cheers,
Daniel

On 23/11/15 17:29, Dmytro Bogovych wrote:
> Greetings.
>
> We build specialized softphone for iOS. Push notifications are used to
> notify user and wake up softphone app on missed calls and messages.
>
> We used Daniel's example config script as base for own configuration
> file. It has the same parts and does not differ too much. I talk about
> this example: http://www.kamailio.org/events/2014-KamailioWorld/day2/26-Daniel-Constantin.Mierla-Kamailio.cfg-Async.pdf
>
> Everything was ok for few monthes - with kamailio 4.1.2.
> Few weeks ago we upgraded to 4.3.3.
> Now paused calls cannot be resumed properly.
>
> Softphone receives 500 Server error (No error 0/SL) in response
>
> This is problem part of script:
>
> route[RELAYRESUMED] {
>
>         # enable additional event routes for forwarded requests
>         # - serial forking, RTP relaying handling, a.s.o.
>         if (is_method("INVITE|SUBSCRIBE")) {
>                 t_on_branch("MANAGE_BRANCH");
>                 t_on_reply("MANAGE_REPLY");
>         }
>         if (is_method("INVITE")) {
>                 t_on_failure("MANAGE_FAILURE");
>         }
>         if ($var(rr_target) != "")
>         {
>                 xlog("L_INFO","Relay to $var(rr_ip):$var(rr_port)\n");
>                 $ru = "sip:" + $rU + "@" + $var(rr_ip) + ":" +
> $var(rr_port) + ";transport=" + $var(rr_proto);
>                 xlog("L_INFO","Current request URI is $ru\n");
>                 if (!t_relay())
>                         xlog("L_INFO","Cannot relay PUSHED invite.");
>                         sl_reply_error();
>         }
>         else
>         {
>                 xlog("L_WARN","Target proto is not set\n");
>                 sl_reply_error();
>         }
>         exit;
> }
>
> It produces log
> -----
> Nov 23 14:42:24 ctdsip3 /usr/local/sbin/kamailio[32141]: INFO:
> <script>: resuming trasaction [23927:345343979] 1985987629
> (23927:345343979)
>
> Nov 23 14:42:24 ctdsip3 /usr/local/sbin/kamailio[32141]: INFO:
> <script>: Relay to 95.133.110.17:11791
>
> Nov 23 14:42:24 ctdsip3 /usr/local/sbin/kamailio[32141]: INFO:
> <script>: Current request URI is
> sip:1985987629 at 95.133.110.17:11791;transport=tls
>
> Nov 23 14:42:24 ctdsip3 /usr/local/sbin/kamailio[32141]: ERROR: sl
> [sl_funcs.c:363]: sl_reply_error(): ERROR: sl_reply_error used: No
> error (0/SL)
>
> Nov 23 14:42:24 ctdsip3 /usr/local/sbin/kamailio[32141]: INFO:
> <script>: Checking FAILED messages for 1985987629: 0
> -----
>
> sl_reply_error() sends 500 with No error (0/SL) description. Later 180
> & 200 are sent.
>
> But client softphone terminates transaction already (as it handles 500
> response code) .
>
> There is no "Cannot relay PUSHED invite." message in the log however.
>
>
> I will be happy to heary any idea what can be cause...
>
> Thank you!
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

-- 
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Book: SIP Routing With Kamailio - http://www.asipto.com
Kamailio Advanced Training, Nov 30-Dec 2, Berlin - http://asipto.com/kat




More information about the sr-users mailing list