[Freeswitch-users] nibblebill do not terminate calls properly

Luis Daniel Lucio Quiroz luis.daniel.lucio at gmail.com
Sun Apr 10 22:09:00 MSD 2016


There is. It is not from myself. I just don't remember it
Le 10 avr. 2016 1:44 PM, "Ken Rice" <krice at freeswitch.org> a écrit :

> If there is a known bug and a patch for this, there should be a jira and a
> pull request for the patch
>
> Sent from my iPhone
>
> On Apr 10, 2016, at 12:40 PM, Luis Daniel Lucio Quiroz <
> luis.daniel.lucio at gmail.com> wrote:
>
> There is a known bug and a known patch to fix it. I can't remember right
> now which one it is.
> Hello
> I would like to use nibblebilling for fraud prevention on international
> and premium numbers ( national or emergency calls should never be blocked
> and should still working even if the billing database is unavailable  )
>
> Unfortunately that never hangup my calls using standard dial plan
>
> *nibblebill.conf.xml*
>
> <configuration name="nibblebill.conf" description="Nibble Billing">
>   <settings>
>     <!-- See http://wiki.freeswitch.org/wiki/Mod_nibblebill for help with
> these options -->
>
>     <!-- Information for connecting to your database -->
>     <param name="db_dsn" value="pgsql://hostaddr=127.0.0.1 dbname=xxxx
> user=xxxx password=xxxx"/>
>
>     <!-- The database table where your CASH column is located -->
>     <param name="db_table" value="accounts"/>
>
>     <!-- The column name where we store the value of the account -->
>     <param name="db_column_cash" value="cash"/>
>
>     <!-- The column name for the unique ID identifying the account -->
>     <param name="db_column_account" value="id"/>
>
>     <!-- Default heartbeat interval. Set to 'off' for no heartbeat (i.e.
> bill only at end of call) -->
>     <param name="global_heartbeat" value="20"/>
>
>     <!-- By default, warn a caller when their balance is at $5.00. You can
> set this to a negative number. -->
>     <param name="lowbal_amt" value="-100"/> <!-- i don't need this -->
>     <param name="lowbal_action" value="play ding"/>
>
>     <!-- By default, terminate a caller when their balance hits $0.00. You
> can set this to a negative number. -->
>     <param name="nobal_amt" value="0"/>
>     <param name="nobal_action" value="hangup"/>
>
>     <!-- If a call goes beyond a certain dollar amount, flag or terminate
> it -->
>     <param name="percall_max_amt" value="10"/>
>     <param name="percall_action" value="hangup"/>
>
>   </settings>
> </configuration>
>
> *outbound route*
>
> <extension name="international" >
>    <condition field="destination_number" expression="^00(\d{6,20})$" >
>        <action application="nibblebill" data="flush"/>
>         <action application="set" data="nibble_account=${accountcode}"/>
>         <action application="set" data="nibble_rate=0.1"/>
>        <action application="bridge" data="sofia/gateway/gw_idt/$1" />
>    </condition>
> </extension>
>
>
> *My balance*
> My balance is already negative
>
>  select * from accounts ;
>                 id                |   cash
> ----------------------------------+-----------
>  company.voip.mydomain.com | -0.789471
>
> *A sample call*
> My balance already negative, the call will be billed but never blocked
>
> Dialplan: sofia/internal/5003 at company.voip.domain.com Action
> nibblebill(flush)
> Dialplan: sofia/internal/5003 at company.voip.domain.com Action
> set(nibble_account=${accountcode})
> Dialplan: sofia/internal/5003 at company.voip.domain.com Action
> set(nibble_rate=0.1)
> EXECUTE sofia/internal/5003 at company.voip.domain.com nibblebill(flush)
> EXECUTE sofia/internal/5003 at company.voip.domain.com set(nibble_account=
> company.voip.domain.com)
> 2016-04-10 12:10:04.049418 [DEBUG] mod_dptools.c:1477
> sofia/internal/5003 at company.voip.domain.com SET [nibble_account]=[
> company.voip.domain.com]
> EXECUTE sofia/internal/5003 at company.voip.domain.com set(nibble_rate=0.1)
> 2016-04-10 12:10:04.049418 [DEBUG] mod_dptools.c:1477
> sofia/internal/5003 at company.voip.domain.com SET [nibble_rate]=[0.1]
> 2016-04-10 12:10:52.132458 [DEBUG] mod_nibblebill.c:488 Attempting to bill
> at $0.1 per minute to account company.voip.domain.com
> 2016-04-10 12:10:52.132458 [INFO] mod_nibblebill.c:540 Beginning new
> billing on 644488fc-ff04-11e5-9a27-fd2791153af9
> 2016-04-10 12:10:52.132458 [DEBUG] mod_nibblebill.c:546 42 seconds passed
> since last bill time of 2016-04-10 12:10:09
> 2016-04-10 12:10:52.132458 [DEBUG] mod_nibblebill.c:563 Billing $0.071033
> to company.voip.domain.com (Call: / 0.000000 so far)
> 2016-04-10 12:10:52.132458 [DEBUG] mod_nibblebill.c:393 Doing update query
> 2016-04-10 12:10:52.172440 [DEBUG] mod_nibblebill.c:420 Doing lookup query
> [SELECT cash AS nibble_balance FROM accounts WHERE id='
> company.voip.domain.com']
> 2016-04-10 12:10:52.172440 [DEBUG] mod_nibblebill.c:428 Retrieved current
> balance for account company.voip.domain.com (balance = -0.860504)
>
>
> *Using b-leg only*
> Alternatively i tried an alternative dialplan ( Even if i don't relay
> understand what is the meaning of b-leg billing  )
>
> <action application="bridge"
> data="{enable_heartbeat_events=5,nibble_rate=0.1,nibble_account=${accountcode},originate_timeout=90}sofia/gateway/gw_idt/33$1"
> />
>
> The result is better because the pending call is hanged up when the
> balance reach 0.
>
> 2016-04-10 12:39:59.012462 [CRIT] mod_nibblebill.c:607 Balance of
> -0.003237 fell below allowed amount of 0.000000! (Account
> company.voip.domain.com)
>
> But if i make a new call ( when my balance is negative )  , the caller
> party is immediately hanged but this did not cancel immediately the
> bridge:  The called party ring and can stay bridged for 61 seconds after
> answer.
>
>
>
>
>
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://confluence.freeswitch.org
> http://www.cluecon.com
>
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://confluence.freeswitch.org
> http://www.cluecon.com
>
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://confluence.freeswitch.org
> http://www.cluecon.com
>
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20160410/5ec217f0/attachment-0001.html 


Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users mailing list