Support A2Billing :

provided by Star2Billing S.L.

Support A2Billing :
It is currently Thu Mar 28, 2024 9:40 pm
Predictive Dialer


All times are UTC




Post new topic Reply to topic  [ 5 posts ] 
Author Message
 Post subject: A2billing call handling bypass solution for high call volume
PostPosted: Mon Jun 23, 2008 12:34 am 
Offline
User avatar

Joined: Sun Mar 19, 2006 3:13 pm
Posts: 123
Location: English Indiana, USA
I think it would be an good idea to have a mode a2billing could be launch for high volume traffic without loading all the other features. Something simple that doesn’t uses much ram would be nice.


Badly needing more server recourses so I wrote a dialplan which I am sharing here. I am getting call center traffic and other high volume traffic from clients who were sending calls at he rate of 3 to 5 calls per second. I have a massive number of records in cc_ratecard table being close to a million rates for various plans I created for retail clients. To query for rates and plans on this high volume traffic in such a large table will crash a lot of servers as it did mine.

A2billing also takes up to 8 to 12 MB of RAM for each call. So this was a new problem I was starting to run into and part of the reason for writing a dial plan that completely bypasses a2billing and still checks for credit , creditlimit and authenticates clients by account code, logs CDR in the same CDR table A2billing uses and deducts the balance form the clients just the same as a2billing does. Below is list of features benefits.


1. Authenticates client by account code from a2billing database.
2. Checks credit and creditlimit and activated fields from clients account in the a2billing database and determines if client has enough founds or rather his/hers account been shut off.
3. Uses a2billing database so client can still log in a2billing and a view their CDRs and balance same as before and make payments using paypal or whatever.
4. Uses a fraction of the servers resources compared to a2billing.
5. Doesn’t keep a live connection to the database for the entire duration of the call.
6. BY duplicating the dial plan multable times you can use different tables for rates for differant client. Example one clients wants all the rates blocked above .0088 you can create him a special table and only add areas which are less than or = .0088... Because tables will have fewer records it speeds up the call process tremendously and uses less resources.
7. Supports spoofing whatever caller id you want per npanxx.
8. Supports dialing with or without a tech prefix.
9. Table is very simple to populate with data. It has only five fields npanxx price provider spoofCid Prefix
10. Bills calls on per second increments.
11. Blocks calls from being made unless in rate table.
12. If no caller id number is in spoofCid field the original received caller ID will be sent
13. Supports choosing multiple providers or trunks to send the calls out, based on NPANXX. Trunk names must be same as in table listed under provider.
14. Logs originating caller id and the spoof caller id with the CDR. To use this feature you must add new field in cc_call table. Also logs the total non billable seconds in your CDRs. This helps you find which providers take a long time to connect your calls.
15. Supports using Canreinvite=yes to help save on bandwidth and in some cases greatly increase voice quality.
CDRs fields logged in your cc_call table are
Sessionid
Uniqueid
Username
Starttime
Stoptime
Sessiontime (seconds billed for)
Calledstation (number called)
Startdelay (time call took connecting)
Terminatecause (call progress report)
Calledprovider (company or trunk call went out on)
Calledrate (rate the call was charged at)
Sessionbill (about of the bill)
Beforebal (the balance before the call)
Src (spoofed caller id)
originating_cid

Customers account fields updated in cc_card table which are updated

1. lastuse , credit, nbused =( update with nbused+1)


To sum it all up it working great for my test calls and it was all done with only 41 lines of code. Use at your own risk. Attached is the code in text file.

To make table run code below.
CREATE TABLE `cc_route_nCid` (
`npanxx` varchar(50) NOT NULL,
`price` double default NULL,
`provider` varchar(50) default NULL,
`spoofCid` varchar(50) default NULL,
`Prefix` varchar(25) default NULL,
PRIMARY KEY (`npanxx`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1


Attachments:
a2bbypass.txt [5.92 KiB]
Downloaded 1312 times
Top
 Profile  
 
 Post subject: Those missing 41 lines . . .
PostPosted: Fri Jul 25, 2008 2:50 pm 
Offline

Joined: Fri Jul 25, 2008 2:46 pm
Posts: 1
That makes so much sense for this scenario, very intriguing, but I can't find your enclosed code.

Dick


Top
 Profile  
 
 Post subject: Re: Those missing 41 lines . . .
PostPosted: Fri Aug 08, 2008 11:05 am 
Offline
User avatar

Joined: Sun Mar 19, 2006 3:13 pm
Posts: 123
Location: English Indiana, USA
dicko wrote:
That makes so much sense for this scenario, very intriguing, but I can't find your enclosed code.

Dick


Ok first code had some errors in it..
A little work was done to fix this.. Below are the updates


CREATE TABLE `cc_route` (
`id_provider` int(11) NOT NULL auto_increment,
`npanxx` varchar(50) default NULL,
`price` double default NULL,
`provider` varchar(50) default NULL,
`spoofCid` varchar(25) default NULL,
`Prefix` varchar(25) default NULL,
PRIMARY KEY (`id_provider`),
KEY `npannx` (`npanxx`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1


Attachments:
custom_extensions_a2billing.txt [6.13 KiB]
Downloaded 1369 times
Top
 Profile  
 
 Post subject: you make take a look at this
PostPosted: Mon Feb 09, 2009 6:23 am 
Offline

Joined: Mon May 07, 2007 7:15 am
Posts: 19
Location: China
http://allvoipsolutions.org/mydrupal/node/224

I implement it using MYSQL application ,so not use permanent db connection during call,not initial one php process for each call

it's stable,working configs
but for callback/callingcard ,it still not supported


Top
 Profile  
 
 Post subject: Re: A2billing call handling bypass solution for high call volume
PostPosted: Sat May 09, 2015 1:23 am 
Offline

Joined: Sat Oct 01, 2011 4:41 am
Posts: 50
I do my callback outside a2billing. i add the callback rates to the outbound calls.. i needed more redundancy and couldnt get it with a2billing,. my google voice limits calls and now if google voice ends it i can originate with a different provider...

i will be using this script too.. but what i am curious is will it work with the Speed dial function.. all my customers depend on the speed dial


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 5 posts ] 
Auto Dialer Software


All times are UTC


Who is online

Users browsing this forum: No registered users and 12 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group