Using A2Billing to account for extension calls in Elastix
A2Billing is a very flexible piece of software and can be used in many situations. One of these is to account/charge for calls from extensions in Elastix/FreePBX.
I’ve put together a walkthrough about how to do this. The walkthrough is done on a Elastix 1.6 Sysadminman VPS template. I’ve broken it in to 8 parts.
The first 4 parts are getting an extension up and running in Elastix and then the last 4 parts show how to configure A2Billing to account for these calls. Due to the version of A2Billing that comes with Elastix 1.6 (A2Billing version 1.3) it is nescesary to edit a few files manually using the command prompt.
A setup similar to this could possibly be used for a call shop or a hotel system.
Here are the parts -
Part 1 – Create a test extension in Elastix
Part 2 – Set up x-lite to use your Elastix extension
Part 3 – Create a trunk in Elastix
Part 4 – Create an outbound route in Elastix
Part 5 – Creating a trunk in A2Billing on Elastix
Part 6 – Create a customer in a2billing on Elastix
Part 7 – Create a call plan and rate card in A2Billing on Elastix
Part 8 – Create a custom trunk in Elastix for use with A2Billing
Last updated by .
Related posts:
- Part 5 – Creating a trunk in A2Billing on Elastix
- Part 1 – Create a test extension in Elastix
- Part 2 – Set up x-lite to use your Elastix extension
Avaialble systems include FreePBX, PBX-in-a-Flash, Elastix, A2Billing and FusionPBX.
More details and prices can be found at sysadminman.net

Glauco Perez:
This is a terrific series and very helpful. I use it constantly to educate myself on the asterisk boxes esp. Elastix and a2billing. It would be helpful if you would do a part on installing ilbc, gsm and the other codecs onto Elastix as well as update the auto rate download from callwithus or a generic that can be configured for any voip providers. Finally a section on how to install cheap USB phones ( the skype types) to overcome the expensive voip phones would be terrific. Keep up the good work.
kind regards,
2 July 2010, 8:56 pmGlauco
matt:
Thank you for the kind words Glauco, I’m glad you find the articles interesting.
I definitely plan on writing more, and will try to include your suggestion. Updating the callwithus script is something I’ve been meaning to do.
Matt
2 July 2010, 9:02 pmAdam:
Hi
can you explain if I want to make a call from one extension to other extension and it should be charged via a2 billing ? is it possible ?
23 October 2010, 11:24 ammatt:
I can’t think that routing freepbx extension to extension calls through a2billing to charge for them is easy I’m afraid. At least I can’t think if a way to do it.
23 October 2010, 11:51 amChris:
I have tried this several times with the latest install of elastix and is not working. Any ideas why?
20 November 2010, 7:25 pmmatt:
How far are you getting Chris? Can you make a call from the extension just sending via the trunk in FreePBX, rather than routing through A2Billing?
20 November 2010, 8:47 pmChris:
I can get incoming calls and get external calls. the only problem is routing calls through a2billing. I just updated a2billing to 1.6 and will try it again.
20 November 2010, 9:41 pmJohn:
Chris/Matt – did you fix this problem? I have everything setup but I’m unsure how to route through to a2billing.
If i create a card/customer in a2billing then give out my pbx IP with the customer card/password I am unable to connect to it over x-lite
Any ideas how to link the two so that any incoming card/pass is checked on logging in via IP using xlite?
1 December 2010, 9:56 pmmatt:
Hi John,
It’s this page that describes setting up FreePBX to pass incoming calls through to A2Billing – http://sysadminman.net/blog/2010/create-a-custom-trunk-in-elastix-for-use-with-a2billing-1282
Matt
4 December 2010, 3:59 pmChris:
I forgot to update, but I did update a2billing to 1.8.1 and from reading the comments on the page Matt linked in the previous comment I was able to get everything working. Thanks for your help matt. The tutorials are great they are really appreciated.
6 December 2010, 5:18 pmSocotroco Santana:
Hi,
I did every thing in both tutorials:
- Integrating FreePBX with A2Billing
- Using A2Billing to account for extension calls in Elastix
When I try to call system says “Please enter your pin number” x 3 times and hangup.
How can I fix it?
Thanks,
14 January 2011, 2:18 amSssoc
matt:
It’s the bits down the bottom here that are likely to be the problem – http://sysadminman.net/blog/2010/create-a-custom-trunk-in-elastix-for-use-with-a2billing-1282
Make sure for agi-conf1 you’ve got USE_DNID set to YES.
If it still doesn’t work it would be necessary to turn on a2billing debugging and see how a2billing is trying to process the call
14 January 2011, 2:28 amSocotroco Santana:
If I set USE_DNID=No system ask me to enter the phone number and then #
May know a agi-conf1 settings.
I’m sure all steps are done as your tutorial says.
Thanks in advance,
S. Santana
——————————-
With USE_DNID set to NO
——————————-
[Jan 17 21:00:08] VERBOSE[20592] res_agi.c: a2billing.php,1: [restriction] => 0
[Jan 17 21:00:08] VERBOSE[20592] res_agi.c: a2billing.php,1: [29] => 1
[Jan 17 21:00:08] VERBOSE[20592] res_agi.c: a2billing.php,1: [countryprefix] => 1
[Jan 17 21:00:08] VERBOSE[20592] res_agi.c: a2billing.php,1: )
[Jan 17 21:00:08] VERBOSE[20592] res_agi.c: a2billing.php,1:
[Jan 17 21:00:08] VERBOSE[20592] res_agi.c: a2billing.php,1: )
[Jan 17 21:00:08] VERBOSE[20592] res_agi.c: a2billing.php,1:
[Jan 17 21:00:08] VERBOSE[20592] res_agi.c: a2billing.php,1: file:Class.A2Billing.php – line:2873 – uniqueid:1295312384.22 – [SET CHANNEL(language) es]
[Jan 17 21:00:08] VERBOSE[20592] res_agi.c: a2billing.php,1: file:Class.A2Billing.php – line:747 – uniqueid:1295312384.22 – [CARD STATUS UPDATE]
[Jan 17 21:00:08] VERBOSE[20592] res_agi.c: a2billing.php,1: file:Class.A2Billing.php – line:756 – uniqueid:1295312384.22 – [QUERY USING CARD UPDATE::> UPDATE cc_card SET inuse=inuse+1, credit=credit-0.25 WHERE username='9500975365']
[Jan 17 21:00:08] VERBOSE[20592] res_agi.c: a2billing.php,1: file:a2billing.php – line:178 – uniqueid:1295312384.22 – [TRY : callingcard_ivr_authenticate]
[Jan 17 21:00:08] VERBOSE[20592] res_agi.c: a2billing.php,1: file:Class.A2Billing.php – line:2264 – uniqueid:1295312384.22 – [AUTO SetCallerID]
[Jan 17 21:00:08] VERBOSE[20592] res_agi.c: a2billing.php,1: file:Class.A2Billing.php – line:2270 – uniqueid:1295312384.22 – [REQUESTED SetCallerID : 500]
[Jan 17 21:00:08] VERBOSE[20592] res_agi.c: a2billing.php,1: file:Class.A2Billing.php – line:2282 – uniqueid:1295312384.22 – [EXEC SetCallerID : 500]
[Jan 17 21:00:08] VERBOSE[20592] res_agi.c: a2billing.php,1: file:a2billing.php – line:193 – uniqueid:1295312384.22 – [CHANNEL STATUS : 6 = Line is up]
[Jan 17 21:00:08] VERBOSE[20592] res_agi.c: a2billing.php,1: [CREDIT : 50][CREDIT MIN_CREDIT_2CALL : 0]
[Jan 17 21:00:08] VERBOSE[20592] res_agi.c: a2billing.php,1: file:a2billing.php – line:396 – uniqueid:1295312384.22 – TARIFF ID -> 1
[Jan 17 21:00:08] VERBOSE[20592] file.c: — Playing ‘prepaid-enter-dest.gsm’ (language ‘es’)
[Jan 17 21:00:18] VERBOSE[20592] res_agi.c: a2billing.php,1: file:a2billing.php – line:537 – uniqueid:1295312384.22 – RES sip_iax_pstndirect_call DTMF : 17873155050
[Jan 17 21:00:18] VERBOSE[20592] res_agi.c: a2billing.php,1: file:a2billing.php – line:555 – uniqueid:1295312384.22 – TRUNK – dnid : 17873155050 (1)
[Jan 17 21:00:18] VERBOSE[20592] res_agi.c: a2billing.php,1: file:a2billing.php – line:566 – uniqueid:1295312384.22 – CALL SIP_IAX_BUDDY
[Jan 17 21:00:18] VERBOSE[20592] res_agi.c: a2billing.php,1: file:Class.A2Billing.php – line:3421 – uniqueid:1295312384.22 – [SAVING DESTINATION FOR REDIAL: SQL: UPDATE cc_card SET redial = '17873155050' WHERE username='9500975365']:[result: 1]
[Jan 17 21:00:18] VERBOSE[20592] res_agi.c: a2billing.php,1: file:Class.A2Billing.php – line:1083 – uniqueid:1295312384.22 – SIP o IAX DESTINATION : 17873155050
[Jan 17 21:00:18] VERBOSE[20592] res_agi.c: a2billing.php,1: file:Class.A2Billing.php – line:1089 – uniqueid:1295312384.22 -
[Jan 17 21:00:18] VERBOSE[20592] res_agi.c: a2billing.php,1: file:Class.A2Billing.php – line:1100 – uniqueid:1295312384.22 – RESULT :
[Jan 17 21:00:18] VERBOSE[20592] res_agi.c: a2billing.php,1: file:Class.A2Billing.php – line:747 – uniqueid:1295312384.22 – [CARD STATUS UPDATE]
[Jan 17 21:00:18] VERBOSE[20592] res_agi.c: a2billing.php,1: file:Class.A2Billing.php – line:756 – uniqueid:1295312384.22 – [QUERY USING CARD UPDATE::> UPDATE cc_card SET inuse=inuse-1, credit=credit+0.25 WHERE username='9500975365']
[Jan 17 21:00:18] VERBOSE[20592] res_agi.c: — AGI Script a2billing.php completed, returning -1
[Jan 17 21:00:18] VERBOSE[20591] pbx.c: — Executing [h@macro-dialout-trunk:1] Macro(“SIP/500-0000000a”, “hangupcall,”) in new stack
[Jan 17 21:00:18] VERBOSE[20591] pbx.c: — Executing [s@macro-hangupcall:1] GotoIf(“SIP/500-0000000a”, “1?skiprg”) in new stack
[Jan 17 21:00:18] VERBOSE[20591] pbx.c: — Goto (macro-hangupcall,s,4)
[Jan 17 21:00:18] VERBOSE[20591] pbx.c: — Executing [s@macro-hangupcall:4] GotoIf(“SIP/500-0000000a”, “1?skipblkvm”) in new stack
[Jan 17 21:00:18] VERBOSE[20591] pbx.c: — Goto (macro-hangupcall,s,7)
[Jan 17 21:00:18] VERBOSE[20591] pbx.c: — Executing [s@macro-hangupcall:7] GotoIf(“SIP/500-0000000a”, “1?theend”) in new stack
[Jan 17 21:00:18] VERBOSE[20591] pbx.c: — Goto (macro-hangupcall,s,9)
[Jan 17 21:00:18] VERBOSE[20591] pbx.c: — Executing [s@macro-hangupcall:9] Hangup(“SIP/500-0000000a”, “”) in new stack
[Jan 17 21:00:18] VERBOSE[20591] app_macro.c: == Spawn extension (macro-hangupcall, s, 9) exited non-zero on ‘SIP/500-0000000a’ in macro ‘hangupcall’
[Jan 17 21:00:18] VERBOSE[20591] features.c: == Spawn extension (macro-dialout-trunk, h, 1) exited non-zero on ‘SIP/500-0000000a’
[Jan 17 21:00:18] VERBOSE[20591] app_macro.c: == Spawn extension (macro-dialout-trunk, s, 27) exited non-zero on ‘SIP/500-0000000a’ in macro ‘dialout-trunk’
[Jan 17 21:00:18] VERBOSE[20591] pbx.c: == Spawn extension (from-internal, 17873155050, 6) exited non-zero on ‘SIP/500-0000000a’
[Jan 17 21:00:18] VERBOSE[20591] pbx.c: — Executing [h@from-internal:1] Macro(“SIP/500-0000000a”, “hangupcall”) in new stack
[Jan 17 21:00:18] VERBOSE[20591] pbx.c: — Executing [s@macro-hangupcall:1] GotoIf(“SIP/500-0000000a”, “1?skiprg”) in new stack
[Jan 17 21:00:18] VERBOSE[20591] pbx.c: — Goto (macro-hangupcall,s,4)
[Jan 17 21:00:18] VERBOSE[20591] pbx.c: — Executing [s@macro-hangupcall:4] GotoIf(“SIP/500-0000000a”, “1?skipblkvm”) in new stack
[Jan 17 21:00:18] VERBOSE[20591] pbx.c: — Goto (macro-hangupcall,s,7)
[Jan 17 21:00:18] VERBOSE[20591] pbx.c: — Executing [s@macro-hangupcall:7] GotoIf(“SIP/500-0000000a”, “1?theend”) in new stack
[Jan 17 21:00:18] VERBOSE[20591] pbx.c: — Goto (macro-hangupcall,s,9)
[Jan 17 21:00:18] VERBOSE[20591] pbx.c: — Executing [s@macro-hangupcall:9] Hangup(“SIP/500-0000000a”, “”) in new stack
[Jan 17 21:00:18] VERBOSE[20591] app_macro.c: == Spawn extension (macro-hangupcall, s, 9) exited non-zero on ‘SIP/500-0000000a’ in macro ‘hangupcall’
[Jan 17 21:00:18] VERBOSE[20591] pbx.c: == Spawn extension (from-internal, h, 1) exited non-zero on ‘SIP/500-0000000a’
——————————-
18 January 2011, 1:19 amUSE_DNID set to YES
——————————-
[Jan 17 21:07:41] VERBOSE[20729] res_agi.c: a2billing.php,1: [voicemail_activated] => 0
[Jan 17 21:07:41] VERBOSE[20729] res_agi.c: a2billing.php,1: [28] => 0
[Jan 17 21:07:41] VERBOSE[20729] res_agi.c: a2billing.php,1: [restriction] => 0
[Jan 17 21:07:41] VERBOSE[20729] res_agi.c: a2billing.php,1: [29] => 1
[Jan 17 21:07:41] VERBOSE[20729] res_agi.c: a2billing.php,1: [countryprefix] => 1
[Jan 17 21:07:41] VERBOSE[20729] res_agi.c: a2billing.php,1: )
[Jan 17 21:07:41] VERBOSE[20729] res_agi.c: a2billing.php,1:
[Jan 17 21:07:41] VERBOSE[20729] res_agi.c: a2billing.php,1: )
[Jan 17 21:07:41] VERBOSE[20729] res_agi.c: a2billing.php,1:
[Jan 17 21:07:41] VERBOSE[20729] res_agi.c: a2billing.php,1: file:Class.A2Billing.php – line:2873 – uniqueid:1295312840.25 – [SET CHANNEL(language) es]
[Jan 17 21:07:41] VERBOSE[20729] res_agi.c: a2billing.php,1: file:Class.A2Billing.php – line:747 – uniqueid:1295312840.25 – [CARD STATUS UPDATE]
[Jan 17 21:07:41] VERBOSE[20729] res_agi.c: a2billing.php,1: file:Class.A2Billing.php – line:756 – uniqueid:1295312840.25 – [QUERY USING CARD UPDATE::> UPDATE cc_card SET inuse=inuse+1, credit=credit-0.25 WHERE username='9500975365']
[Jan 17 21:07:41] VERBOSE[20729] res_agi.c: a2billing.php,1: file:a2billing.php – line:178 – uniqueid:1295312840.25 – [TRY : callingcard_ivr_authenticate]
[Jan 17 21:07:41] VERBOSE[20729] res_agi.c: a2billing.php,1: file:Class.A2Billing.php – line:2264 – uniqueid:1295312840.25 – [AUTO SetCallerID]
[Jan 17 21:07:41] VERBOSE[20729] res_agi.c: a2billing.php,1: file:Class.A2Billing.php – line:2270 – uniqueid:1295312840.25 – [REQUESTED SetCallerID : 500]
[Jan 17 21:07:41] VERBOSE[20729] res_agi.c: a2billing.php,1: file:Class.A2Billing.php – line:2282 – uniqueid:1295312840.25 – [EXEC SetCallerID : 500]
[Jan 17 21:07:41] VERBOSE[20729] res_agi.c: a2billing.php,1: file:a2billing.php – line:193 – uniqueid:1295312840.25 – [CHANNEL STATUS : 6 = Line is up]
[Jan 17 21:07:41] VERBOSE[20729] res_agi.c: a2billing.php,1: [CREDIT : 50][CREDIT MIN_CREDIT_2CALL : 0]
[Jan 17 21:07:41] VERBOSE[20729] res_agi.c: a2billing.php,1: file:a2billing.php – line:396 – uniqueid:1295312840.25 – TARIFF ID -> 1
[Jan 17 21:07:41] VERBOSE[20729] res_agi.c: a2billing.php,1: file:a2billing.php – line:555 – uniqueid:1295312840.25 – TRUNK – dnid : unknown (1)
[Jan 17 21:07:41] VERBOSE[20729] res_agi.c: a2billing.php,1: file:a2billing.php – line:566 – uniqueid:1295312840.25 – CALL SIP_IAX_BUDDY
[Jan 17 21:07:41] VERBOSE[20729] res_agi.c: a2billing.php,1: file:Class.A2Billing.php – line:3421 – uniqueid:1295312840.25 – [SAVING DESTINATION FOR REDIAL: SQL: UPDATE cc_card SET redial = 'unknown' WHERE username='9500975365']:[result: 1]
[Jan 17 21:07:41] VERBOSE[20729] res_agi.c: a2billing.php,1: file:Class.A2Billing.php – line:1083 – uniqueid:1295312840.25 – SIP o IAX DESTINATION : unknown
[Jan 17 21:07:41] VERBOSE[20729] res_agi.c: a2billing.php,1: file:Class.A2Billing.php – line:1089 – uniqueid:1295312840.25 -
[Jan 17 21:07:41] VERBOSE[20729] res_agi.c: a2billing.php,1: file:Class.A2Billing.php – line:1100 – uniqueid:1295312840.25 – RESULT :
[Jan 17 21:07:41] VERBOSE[20729] res_agi.c: a2billing.php,1: file:Class.A2Billing.php – line:747 – uniqueid:1295312840.25 – [CARD STATUS UPDATE]
[Jan 17 21:07:41] VERBOSE[20729] res_agi.c: a2billing.php,1: file:Class.A2Billing.php – line:756 – uniqueid:1295312840.25 – [QUERY USING CARD UPDATE::> UPDATE cc_card SET inuse=inuse-1, credit=credit+0.25 WHERE username='9500975365']
[Jan 17 21:07:41] VERBOSE[20729] res_agi.c: — AGI Script a2billing.php completed, returning -1
[Jan 17 21:07:41] VERBOSE[20728] pbx.c: — Executing [h@macro-dialout-trunk:1] Macro(“SIP/500-0000000b”, “hangupcall,”) in new stack
[Jan 17 21:07:41] VERBOSE[20728] pbx.c: — Executing [s@macro-hangupcall:1] GotoIf(“SIP/500-0000000b”, “1?skiprg”) in new stack
[Jan 17 21:07:41] VERBOSE[20728] pbx.c: — Goto (macro-hangupcall,s,4)
[Jan 17 21:07:41] VERBOSE[20728] pbx.c: — Executing [s@macro-hangupcall:4] GotoIf(“SIP/500-0000000b”, “1?skipblkvm”) in new stack
[Jan 17 21:07:41] VERBOSE[20728] pbx.c: — Goto (macro-hangupcall,s,7)
[Jan 17 21:07:41] VERBOSE[20728] pbx.c: — Executing [s@macro-hangupcall:7] GotoIf(“SIP/500-0000000b”, “1?theend”) in new stack
[Jan 17 21:07:41] VERBOSE[20728] pbx.c: — Goto (macro-hangupcall,s,9)
[Jan 17 21:07:41] VERBOSE[20728] pbx.c: — Executing [s@macro-hangupcall:9] Hangup(“SIP/500-0000000b”, “”) in new stack
[Jan 17 21:07:41] VERBOSE[20728] app_macro.c: == Spawn extension (macro-hangupcall, s, 9) exited non-zero on ‘SIP/500-0000000b’ in macro ‘hangupcall’
[Jan 17 21:07:41] VERBOSE[20728] features.c: == Spawn extension (macro-dialout-trunk, h, 1) exited non-zero on ‘SIP/500-0000000b’
[Jan 17 21:07:41] VERBOSE[20728] app_macro.c: == Spawn extension (macro-dialout-trunk, s, 27) exited non-zero on ‘SIP/500-0000000b’ in macro ‘dialout-trunk’
[Jan 17 21:07:41] VERBOSE[20728] pbx.c: == Spawn extension (from-internal, 17873155050, 6) exited non-zero on ‘SIP/500-0000000b’
[Jan 17 21:07:41] VERBOSE[20728] pbx.c: — Executing [h@from-internal:1] Macro(“SIP/500-0000000b”, “hangupcall”) in new stack
[Jan 17 21:07:41] VERBOSE[20728] pbx.c: — Executing [s@macro-hangupcall:1] GotoIf(“SIP/500-0000000b”, “1?skiprg”) in new stack
[Jan 17 21:07:41] VERBOSE[20728] pbx.c: — Goto (macro-hangupcall,s,4)
[Jan 17 21:07:41] VERBOSE[20728] pbx.c: — Executing [s@macro-hangupcall:4] GotoIf(“SIP/500-0000000b”, “1?skipblkvm”) in new stack
[Jan 17 21:07:41] VERBOSE[20728] pbx.c: — Goto (macro-hangupcall,s,7)
[Jan 17 21:07:41] VERBOSE[20728] pbx.c: — Executing [s@macro-hangupcall:7] GotoIf(“SIP/500-0000000b”, “1?theend”) in new stack
[Jan 17 21:07:41] VERBOSE[20728] pbx.c: — Goto (macro-hangupcall,s,9)
[Jan 17 21:07:41] VERBOSE[20728] pbx.c: — Executing [s@macro-hangupcall:9] Hangup(“SIP/500-0000000b”, “”) in new stack
[Jan 17 21:07:41] VERBOSE[20728] app_macro.c: == Spawn extension (macro-hangupcall, s, 9) exited non-zero on ‘SIP/500-0000000b’ in macro ‘hangupcall’
[Jan 17 21:07:41] VERBOSE[20728] pbx.c: == Spawn extension (from-internal, h, 1) exited non-zero on ‘SIP/500-0000000b’
matt:
I assume you want DNID set to YES so that the number you dialled is passed to A2Billing? In the example you posted above the number to dial is being passed as ‘Unknown’, this isn’t correct.
Please post your “Custom Dial String” on the custom trunk you setup.
Also post the “a2billing” context you have setup in the file extensions_a2billing.conf (or similar file, not always in the same place depending what distro you’re running)
Something is probably wrong in one of those places.
18 January 2011, 8:35 amSocotroco Santana:
Hi Matt,
I assume you want DNID set to YES so that the number you dialled is passed to A2Billing? Yes
Custom Dial String
——————
Local/$OUTNUM$@a2billing/n
—————————-
“a2billing” context you have setup in the file extensions_a2billing.conf
————————————————————————-
[a2billing]
exten => _X.,1,Answer
exten => _X.,2,Wait(1)
exten => _X.,3,AGI(a2billing.php,1)
exten => _X.,4,Wait(1)
exten => _X.,5,Hangup
[a2billing-callback]
exten => _X.,1,AGI(a2billing.php,1,callback)
exten => _X.,2,Hangup
[a2billing-cid-callback]
exten => _X.,1,Wait(1)
exten => _X.,2,AGI(a2billing.php,1,cid-callback)
exten => _X.,3,Hangup
[a2billing-all-callback]
exten => _X.,1,AGI(a2billing.php,1,all-callback,1) ;last parameter is the callback area code
exten => _X.,2,Hangup
[a2billing-predictivedialer]
exten => _X.,1,AGI(a2billing.php,1,predictivedialer)
exten => _X.,2,Hangup
[a2billing-did]
exten => _X.,1,AGI(a2billing.php,1,did)
exten => _X.,2,Hangup
[a2billing-voucher]
exten => _X.,1,AGI(a2billing.php,1,voucher)
;exten => _X.,1,AGI(a2billing.php,1,voucher,1) ; will add 44 in front of the callerID for the CID authentication
exten => _X.,2,Hangup
[a2billing-sip]
18 January 2011, 1:46 pmexten => _X.,1,AGI(a2billing.php,2)
exten => _X.,2,Hangup
—————————————-
I’m using:
Centos 5.5
Asterisk 1.8.1.1
FreePBX
FreePBX 2.8.0.4
A2billing 1.8.1
—————————————-
Thanks in advance,
S. Santana
matt:
I think, despite the warning it generates, you should still be using DeadAGI. Try this from the docs for the a2billing context -
[a2billing]
exten => _X.,1,NoOp(A2Billing Start)
exten => _X.,n,DeadAgi(a2billing.php,1)
exten => h,1,Hangup
(be careful that this may mess up other calls if you’re using the a2billing context for those as it doesn’tanswer the call first)
Also, I haven’t moved to Asterisk 1.8 yet.
18 January 2011, 8:31 pmSocotroco Santana:
It doesn’t works.
19 January 2011, 9:24 pmI’m going to install asterisk 1.4 tonight.
Thanks a lot!
SS
adel:
hi matt thanks for ur tutorials its really helpful
i faced problem with using a2billing system, ur tutorial worked with sip trunk but i am trying to use it with ZAP but it’s not working, any ideas ??
thanks in advance
Adel
1 February 2011, 7:06 ammatt:
Hi Adel,
I’m afraid not. If the ZAP trunk works fine in FreePBX for normal calling then I’m not aware of any issues using it in A2Billing.
1 February 2011, 8:15 amadel:
the ZAP trunk works fine in FreePBX but when i build my a2billing trunk using this ZAP it doesn’t, and when i call its just hangup
this pic shows what i did
http://www.iraqup.com/up/20110201/3D4km-1cNC_376333031.JPG
1 February 2011, 9:00 amRobert:
I would like to return to the problem from Socotroco Santana: “Hi,
15 June 2011, 5:06 pmI did every thing in both tutorials:
- Integrating FreePBX with A2Billing
- Using A2Billing to account for extension calls in Elastix
When I try to call system says “Please enter your pin number” x 3 times and hangup.
”
I have the same problem.
What I have found is that variable a2billing.php,1: [agi_accountcode] => is empty but it should be with the accountcode that is added to freepbx account.
Any suggestions why accountcode is not passed from freepbx / in elastix/ to a2billing?