[Freeswitch-users] nibblebill do not terminate calls properly

Sergey Safarov s.safarov at gmail.com
Mon Apr 11 23:59:18 MSD 2016


I think problem in order of flush command. To take effect nibble rate must
be set before execution flush.

On Mon, Apr 11, 2016, 22:50 tanguy <phenix at vfemail.net> wrote:

> > Sergey
> Thank you for your piece of dialplan but i don't think it's the
> solution. You offer a different solution to set the nibble_rate
> variable, but in my sample case this variable is properly set because
> the call is billed.
>
> > Luis
> A bug, maybe. I don't remember my freeswitch version ( i can't connect
> to my servers yet ) but i think it's 1.4 series.
>
> I can try the last 1.6 version, i will also try a standard freeswitch
> sample configuration ( without config files provided by fusionpbx )
>
>
> Quoting Darren <d at d-man.org>:
>
> > If you can point me to the pull request, I can take a look and see
> > if I can integrate it in.
> >
> > From:
> > <freeswitch-users-bounces at lists.freeswitch.org<mailto:
> freeswitch-users-bounces at lists.freeswitch.org>> on behalf of Luis Daniel
> Lucio Quiroz
> > <luis.daniel.lucio at gmail.com<mailto:luis.daniel.lucio at gmail.com>>
> > Reply-To: FreeSWITCH Users Help
> > <freeswitch-users at lists.freeswitch.org<mailto:
> freeswitch-users at lists.freeswitch.org>>
> > Date: Sunday, April 10, 2016 at 11:09 AM
> > To: FreeSWITCH Users Help
> > <freeswitch-users at lists.freeswitch.org<mailto:
> freeswitch-users at lists.freeswitch.org>>
> > Subject: Re: [Freeswitch-users] nibblebill do not terminate calls
> properly
> >
> >
> > 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<mailto: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<mailto: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<http://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<mailto:sofia/internal/
> 5003 at company.voip.domain.com> Action
> > nibblebill(flush)
> > Dialplan:
> > sofia/internal/5003 at company.voip.domain.com<mailto:sofia/internal/
> 5003 at company.voip.domain.com> Action
> > set(nibble_account=${accountcode})
> > Dialplan:
> > sofia/internal/5003 at company.voip.domain.com<mailto:sofia/internal/
> 5003 at company.voip.domain.com> Action
> > set(nibble_rate=0.1)
> > EXECUTE
> > sofia/internal/5003 at company.voip.domain.com<mailto:sofia/internal/
> 5003 at company.voip.domain.com>
> > nibblebill(flush)
> > EXECUTE
> > sofia/internal/5003 at company.voip.domain.com<mailto:sofia/internal/
> 5003 at company.voip.domain.com>
> > set(nibble_account=company.voip.domain.com<
> http://company.voip.domain.com>)
> > 2016-04-10 12:10:04.049418 [DEBUG] mod_dptools.c:1477
> > sofia/internal/5003 at company.voip.domain.com<mailto:sofia/internal/
> 5003 at company.voip.domain.com> SET
> > [nibble_account]=[company.voip.domain.com<http://company.voip.domain.com
> >]
> > EXECUTE
> > sofia/internal/5003 at company.voip.domain.com<mailto: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<mailto: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<http://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<http://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<http://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<http://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<http://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<mailto: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<mailto:
> 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<mailto: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<mailto:
> FreeSWITCH-users at lists.freeswitch.org>
> > http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> > UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> <http://lists.freeswitch.org/mailman/options/freeswitch-users>
> > http://www.freeswitch.org
> >
> > _________________________________________________________________________
> > Professional FreeSWITCH Consulting Services:
> > consulting at freeswitch.org<mailto: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<mailto:
> 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
>
>
>
>
> -------------------------------------------------
>
> ONLY AT VFEmail! - Use our Metadata Mitigator to keep your email out of
> the NSA's hands!
> $24.95 ONETIME Lifetime accounts with Privacy Features!
> 15GB disk! No bandwidth quotas!
> Commercial and Bulk Mail Options!
>
> _________________________________________________________________________
> 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/20160411/f4700b1e/attachment-0001.html 


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