[OpenSIPS-Users] CDRTool rating engine callcontrole prepaid Need advice

Dan Pascu dan at ag-projects.com
Tue Dec 1 23:55:55 CET 2009


On 1 Dec 2009, at 14:09, Ilya Pichugin wrote:

>
> I found my mistake - it was necessary to tune  my e164_class.
> And now debiting is OK.. but!
>
> Why function call_control() always return 1 retcode, even there is
> balance <=0 (No credit)?
>
> I cannot understand..

Because $retcode is the last function's return code and you called  
xlog("CALL_CONTROL"); before the switch statement, so you actually  
test the retcode of xlog.

>
>
> Syslog:
> Dec  1 14:47:32 cdrtool call-control[7107]: Call id  
> MDY2YjZlZTc0YzA4OTUwMjhlNTNmY2IwOGRlZmRhMzU. of 3097998 at a.x.y to sip:3364000 at a.x.y 
>  forbidden because credit is too low
>
> Dec  1 15:06:16 cdrtool /usr/local/opensips16/sbin/opensips[9386]:  
> Call has limit and is under callcontrol management RETCODE is 1
>
>
> OpenSIPS code is:
>
>
> if (method=="INVITE" && nat_uac_test("2"))
> {
>        xlog("L_INFO", "record route section | INVITE & nat test: M=$rm
> RURI=$ru F=$fU T=$tu IP=$si\n");
>        call_control();
>        xlog("CALL_CONTROL");
>        switch ($retcode) {
>    case 2:
>        xlog("Call with no limit RETCODE is $retcode ");
>    case 1:
>        xlog("Call has limit and is under callcontrol management  
> RETCODE is $retcode \n");
>        break;
>    case -1:
>        xlog("Not enough credit (prepaid call) RETCODE is $retcode ");
>        sl_send_reply("402", "Not enough credit");
>        exit;
>        break;
>    case -2:
>        xlog("Locked by another call in progress (prepaid call)");
>        sl_send_reply("403", "Call locked by another call in  
> progress");
>        exit;
>        break;
>
>
>
>> Hi All!
>
>> I've installed subject applications. I'm trying to test prepaid calls
>> but it's no successful
>
>> Why does rating engine always return 'postpaid not limited'?
>
> mysql>> select * from prepaid;
>> +----+-------------+-------------------------+---------- 
>> +---------------------+-----------------+-----------------+
>> | id | reseller_id | account                 | balance  |
>> change_date         | active_sessions | session_counter |
>> +----+-------------+-------------------------+---------- 
>> +---------------------+-----------------+-----------------+
>> |  1 |           0 | 3097998 at a.x.y           | -32.6667 |
>> 2009-11-27 18:01:43 | null            |               0 |
>
>
>> I tried to force debit balance (telnet ip 9024), but call_control()  
>> on
>> each INVITE returnes '+1' and in syslog I see 'postpaid not limited'
>
>> And if I call MaxSessionTime, rating engine returne 'none'
>
>> Nov 30 12:07:25 cdrtool call-control[2230]: Call id
>> MDRjZmQ2ZGI5MDFlYzJiMmIyNDgwNjI5Y2FmMTk2YTc. of 3097998 at a.x.y to sip:3364000 at a.x.y 
>>  is postpaid not
>> limited
>
>> I have enabled quota-based accounts but it does not work ;-(
>
> mysql>> select  
> id 
> ,datasource 
> ,account 
> ,domain,quota,blocked,calls,duration,cost,traffic,change_date from  
> quota_usage;
>> +----+-----------------+-------------------------+----------------- 
>> +-------+---------+-------+----------+----------+--------- 
>> +---------------------+
>> | id | datasource      | account                 | domain
>> | quota | blocked | calls | duration | cost     | traffic |  
>> change_date         |
>> +----+-----------------+-------------------------+----------------- 
>> +-------+---------+-------+----------+----------+--------- 
>> +---------------------+
>> |  4 | opensips_radius | 3097998 at a.x.y           | a.x.y
>> |    10 | 1       |    23 |       91 | 658.3667 | 0       |  
>> 2009-11-30 12:49:53 |
>> +----+-----------------+-------------------------+----------------- 
>> +-------+---------+-------+----------+----------+--------- 
>> +---------------------+
>> 2 rows in set (0.00 sec)
>
>> Where is my mistake?
>
>> I hope for your help
>
>
>> ---------------
>
>> Ilya Pichugin
>
>
>
> ---------------
>
> Ilya Pichugin
>
>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users


--
Dan






More information about the Users mailing list