[SR-Users] Cost deduction in kamailio
Logeshwaran G
logeshwarangs at gmail.com
Wed Aug 30 09:50:23 CEST 2017
Hi,
I am using the below scenario : but there is no cost deduction happening ,
Correct me if I am wrong.
route[CNXCC]
{
$dlg_var(subscriber) = $fU;
$dlg_var(customer_id) = "customer-" + $fU;
$dlg_var(initial_p) = "1";
$dlg_var(final_p) = "1";
$dlg_var(cps) = "1"; ;
$var(minbal) = 1;
$var(ret) = avp_db_query("SELECT credits FROM subscriber where
username='$fU'", "$avp(s:credits)");
xlog("L_WARN", "CNXCC: var(ret)=$var(ret)
avp(s:credits)=$avp(s:credits)\n");
#if(!cnxcc_set_max_credit("$var(customer)", "$avp(s:credits)",
"$var(cps)", "$var(initial_p)", "$var(final_p)"))
if(!cnxcc_set_max_credit("$dlg_var(subscriber)", "$avp(s:credits)",
"$dlg_var(cps)", "$dlg_var(initial_p)", "$dlg_var(final_p)"))
{
xlog("Error setting up credit control");
sl_reply_error();
exit;
}
if ($avp(s:credits)< $var(minbal)){
xlog("L_ALERT", "ALERT: Credit balance is low, sent
403:Forbidden. required=$var(minbal)\n");
sl_send_reply("403", "Forbidden: Low balance");
drop;
}
}
event_route[cnxcc:call-shutdown]
{
xlog("L_ALERT", "event_route:cnxcc: [$ci]: call killed");
# perform some kind of notification, database update, email
sending, etc.
}
Thanks & Kind Regards,
Logeshwaran G
On Wed, Aug 30, 2017 at 11:40 AM, Aqs Younas <aqsyounas at gmail.com> wrote:
> This might help you.
> https://github.com/caruizdiaz/cnxcc-example?files=1
>
> On 30 Aug 2017 11:09 am, "Logeshwaran G" <logeshwarangs at gmail.com> wrote:
>
>> Thanks Federico! Will try it out.
>>
>> Thanks & Kind Regards,
>> Logeshwaran G
>>
>> On Wed, Aug 30, 2017 at 11:34 AM, Federico Cabiddu <
>> federico.cabiddu at gmail.com> wrote:
>>
>>> Hi,
>>> yes it's correct, but if you want to deduct the cost at the end of the
>>> call you should use dlg_var to store cps etc.
>>>
>>> Regards,
>>>
>>> Federico
>>>
>>> On Wed, Aug 30, 2017 at 7:16 AM, Logeshwaran G <logeshwarangs at gmail.com>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> Is this the correct way of using the CNXCC for cost deduction, Guide me
>>>> please.
>>>>
>>>> route[CNXCC]
>>>> {
>>>> $var(customer) = $fU;
>>>> $var(cps) = "1.00"; # cost per second
>>>> $var(initial_p) = "1"; # intial pulse
>>>> $var(final_p) = "1"; #Final_pulse
>>>> $var(minbal) = 1;
>>>> $var(ret) = avp_db_query("SELECT credits FROM subscriber where
>>>> username='$fU'", "$avp(s:credits)");
>>>> xlog("L_WARN", "CNXCC: var(ret)=$var(ret)
>>>> avp(s:credits)=$avp(s:credits)\n");
>>>> cnxcc_set_max_credit("$var(customer)", "$avp(s:credits)",
>>>> "$var(cps)", "$var(initial_p)", "$var(final_p)");
>>>> if ($avp(s:credits)< $var(minbal)){
>>>> xlog("L_ALERT", "ALERT: Credit balance is low, sent
>>>> 403:Forbidden. required=$var(minbal)\n");
>>>> sl_send_reply("403", "Forbidden: Low balance");
>>>> drop;
>>>>
>>>> }
>>>> }
>>>>
>>>>
>>>>
>>>>
>>>> Thanks & Kind Regards,
>>>> Logeshwaran G
>>>>
>>>> On Fri, Aug 25, 2017 at 11:14 AM, Logeshwaran G <
>>>> logeshwarangs at gmail.com> wrote:
>>>>
>>>>> Thanks For your Input Federico, Will try it .
>>>>>
>>>>> Thanks & Kind Regards,
>>>>> Logeshwaran G
>>>>>
>>>>> On Wed, Aug 23, 2017 at 5:45 PM, Federico Cabiddu <
>>>>> federico.cabiddu at gmail.com> wrote:
>>>>>
>>>>>> Hi,
>>>>>> cnxcc doesn't provide this feature. Is not aware of any backend, it
>>>>>> just controls subscriber's balance, money or time, as instructed.
>>>>>> You can calculate the amount to be deducted after the call ends (if
>>>>>> you're doing money based accounting) using dlg variables to store the
>>>>>> needed information (start_time, end_time, cost per second) and then
>>>>>> updating the balance via sqlops module's functions.
>>>>>>
>>>>>> Cheers,
>>>>>>
>>>>>> Federico
>>>>>>
>>>>>> On Wed, Aug 23, 2017 at 7:50 AM, Logeshwaran G <
>>>>>> logeshwarangs at gmail.com> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> How to deduct the call cost or credits for the subscribers with the
>>>>>>> cnxcc module?
>>>>>>>
>>>>>>> Input Please
>>>>>>>
>>>>>>>
>>>>>>> Thanks & Kind Regards,
>>>>>>> Logeshwaran G
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Kamailio (SER) - Users Mailing List
>>>>>>> sr-users at lists.kamailio.org
>>>>>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Kamailio (SER) - Users Mailing List
>>>>>> sr-users at lists.kamailio.org
>>>>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>>>>>
>>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> Kamailio (SER) - Users Mailing List
>>>> sr-users at lists.kamailio.org
>>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>>>
>>>>
>>>
>>> _______________________________________________
>>> Kamailio (SER) - Users Mailing List
>>> sr-users at lists.kamailio.org
>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>>
>>>
>>
>> _______________________________________________
>> Kamailio (SER) - Users Mailing List
>> sr-users at lists.kamailio.org
>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>
>>
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> sr-users at lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20170830/62eb3c1e/attachment.html>
More information about the sr-users
mailing list