On Fri, May 9, 2014 at 3:52 PM, Rene Montilva <renemontilva(a)gmail.com>wrote;wrote:
these are the values before the function call:
/usr/sbin/kamailio[24933]: INFO: <script>: saldo:0.0005000000 y
seg:0.000666666666666667
You are printing then before the assigment.
*xlog("L_INFO", "saldo:$dbr(ra=>[0,0]) y seg:$dbr(ra=>[0,1])
");*
use
*xlog("L_INFO", "saldo:$var(credit) y seg:$var(cost_per_second) ");*
I just run a test with your values, and they did work.
$var(credit) = "0.0005";
$var(cost_per_second) = "0.0006";
*if (!cnxcc_set_max_credit("$var(client)",....*
this function doesn't work, maybe are the long value:
*if ($var(credit) < $var(cost_per_second)) {*
* sl_send_reply("402", "payment required");*
* exit;*
*}*
On Fri, May 9, 2014 at 3:48 PM, Carlos Ruiz Díaz <
carlos.ruizdiaz(a)gmail.com> wrote:
> Oops, correction:
>
> *if ($var(credit) < $var(cost_per_second)) {*
> * sl_send_reply("402", "payment required");*
> * exit;*
> *}*
>
> By the way, please inform of your results after doing your tests.
>
> Thanks,
> Carlos
>
>
> On Fri, May 9, 2014 at 3:17 PM, Carlos Ruiz Díaz <
> carlos.ruizdiaz(a)gmail.com> wrote:
>
>> Hello,
>>
>> "i_pulse" and "f_pulse" are direct translations of the
Spanish (I
>> noticed you speak it) phrases "pulso inicial" and "pulso
final", which I
>> don't think have the same meaning in English. Updating the docs and using
>> the proper terminology are pending matters on this module.
>>
>> Both values represent the initial and interim costs of the call, in
>> your case, it is being billed second by second (1:1), subtracting
"0.000666666666666667"
>> every second from a pool of credit that is equal to "0.0006500000".
>>
>> The message that's being shown, looks like a precision loss error,
>> which is unlikely because I used numbers even smaller than yours. Please
>> print the values of $var(credit) and $var(cost_per_sec) before
>> calling the cnxcc function.
>>
>> Furthermore, you should also consider checking your values before
>> passing them to the function. For example:
>>
>> *1. check if the credit is greater than the cost per second,
>> *before*.*
>>
>> *if ($var(credit) > $var(cost_per_second)) {*
>> * sl_send_reply("402", "payment required");*
>> * exit;*
>> *}*
>>
>> There's no reason to call the function when the conditions are not
>> met. Cnxcc will authorize the call and hang it immediately (1 second
>> later).
>>
>> I may need to add this check myself inside the module.
>>
>> *2. make sure you are rejecting the call in case of module's error. *
>>
>>
>>
>>
>>
>> *if (!cnxcc_set_max_credit("$var(client)",
"$var(credit)",
>> "$var(cost_per_sec)", "$var(i_pulse)",*
>>
>> * "$var(f_pulse)") { *
>>
>> * sl_send_reply("503", "something's wrong in the
server"); *
>>
>> * exit; *
>> *}*
>>
>> Regards,
>> Carlos
>>
>>
>>
>>
>> On Fri, May 9, 2014 at 2:45 PM, Rene Montilva <renemontilva(a)gmail.com
>> > wrote:
>>
>>> Hi Carlos
>>>
>>> This my kamailio config:
>>>
>>> #!ifdef CNXCC_MONEY
>>> sql_query("ca", "select * from
>>>
billing.sel_customer_credit('pepe','xxxxxxx","ra");
>>>
>>> xlog("L_INFO", "Setting up money based credit control");
>>>
>>> if($dbr(ra=>rows)> 0){
>>> xlog("L_INFO", "saldo:$dbr(ra=>[0,0]) y
seg:$dbr(ra=>[0,1]) ");
>>>
>>> $var(credit) = $dbr(ra=>[0,0]); # 30$ of credit
>>> $var(cost_per_sec) = $dbr(ra=>[0,1]); # 1$ per sec
>>> $var(i_pulse) = "1"; # 1$ to establish the call
>>> $var(f_pulse) = "1"; # 1$ per second
>>>
>>>
>>> }
>>>
>>> sql_result_free ("ra");
>>>
>>> # if only one call is established, that call should last 9 seconds.
>>>
>>> if (!cnxcc_set_max_credit("$var(client)",
>>> "$var(credit)",
>>> "$var(cost_per_sec)",
>>> "$var(i_pulse)",
>>>
>>>
>>>
>>> And this are the values by syslog info
>>>
>>> INFO: <script>: saldo:0.0006500000 y seg:0.000666666666666667
>>> ERROR: cnxcc [cnxcc_mod.c:1425]: set_max_credit(): credit value must
>>> be > 0: 0.000000
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Fri, May 9, 2014 at 3:08 PM, Carlos Ruiz Díaz <
>>> carlos.ruizdiaz(a)gmail.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> Can you paste the code you are using, with the values that each
>>>> variable contain at the moment of initiating the call?
>>>>
>>>> Regards,
>>>>
>>>>
>>>> On Fri, May 9, 2014 at 2:35 PM, Rene Montilva <
>>>> renemontilva(a)gmail.com> wrote:
>>>>
>>>>> Hi list
>>>>>
>>>>> I don't understand prepaid logic calculation, because when my
>>>>> credit is 0 or lees than cost per second, the call is established
equal
>>>>>
>>>>> $var(i_pulse) and $var(f_pulse) how this works????
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing
>>>>> list
>>>>> sr-users(a)lists.sip-router.org
>>>>>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Carlos
>>>>
http://caruizdiaz.com
>>>>
http://ngvoice.com
>>>> +52 55 3048 3303
>>>>
>>>> _______________________________________________
>>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing
>>>> list
>>>> sr-users(a)lists.sip-router.org
>>>>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>>
>>>>
>>>
>>> _______________________________________________
>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing
>>> list
>>> sr-users(a)lists.sip-router.org
>>>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>
>>>
>>
>>
>> --
>> Carlos
>>
http://caruizdiaz.com
>>
http://ngvoice.com
>> +52 55 3048 3303
>>
>
>
>
> --
> Carlos
>
http://caruizdiaz.com
>
http://ngvoice.com
> +52 55 3048 3303
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users(a)lists.sip-router.org
>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
>
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
+52 55 3048 3303
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users(a)lists.sip-router.org