[OpenSIPS-Users] Call control always returning 1 - Call with limit, even with rating engine down

Magnus Burman magnus.burman at adamo.es
Tue Jun 15 18:51:51 CEST 2010


So to answer my own question: xlog does of course also populate retcode...

2010/6/15 Magnus Burman <magnus.burman at adamo.es>:
> Hi guys,
>
> I'm having some problems with callcontrol. I always get return code 1,
> even when I don't have a rating engine up. Consequently the call is
> set up (bad) and it's not tore down at the end of the timer (bad).
>
> Any hints of how I can debug this further?
>
> syslog:
> 2010-06-15T12:10:04.125+02:00 /usr/sbin/opensips [11547] Before callcontrol
> 2010-06-15T12:10:04.128+02:00 /usr/sbin/opensips [11546]
> ERROR:call_control:send_command: did timeout waiting for an answer
> 2010-06-15T12:10:04.128+02:00 /usr/sbin/opensips [11546] After callcontrol
> 2010-06-15T12:10:04.128+02:00 /usr/sbin/opensips [11546] Call control:
> return code 1 - Call with limit
>
> opensips.cfg
>    if((method=="INVITE" && !has_totag())) {
>        xlog("L_INFO", "Before callcontrol");
>        call_control();
>        xlog("L_INFO", "After callcontrol");
>        switch($retcode) {
>             case 2:
>                 # Call with no limit
>                 xlog("L_INFO", "Call control: return code 2 - call
> with no limit");
>                 break;
>             case 1:
>                 # Call with a limit under callcontrol management
>                 xlog("L_INFO", "Call control: return code 1 - Call with limit");
>                 break;
>             case -1:
>                 xlog("L_INFO", "Call control: not enough credit for
> prepaid call\n");
>                 acc_aaa_request("402");
>                 sl_send_reply("402", "Not enough credit");
>                 exit;
>                 break;
>             case -2:
>                 # Locked by call in progress (prepaid call)
>                 xlog("L_INFO", "Call control: prepaid call locked by
> another call in progress\n");
>                 acc_aaa_request("403");
>                 sl_send_reply("403", "Call locked by a another call in
> progress");
>                 exit;
>                 break;
>             default:
>                 # Internal error
>                 xlog("L_INFO", "Call control: internal server error\n");
>                 acc_aaa_request("500");
>                 sl_send_reply("500", "Internal server error");
>                 exit;
>        }
>    }
>



More information about the Users mailing list