Support A2Billing :

provided by Star2Billing S.L.

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


All times are UTC




Post new topic Reply to topic  [ 43 posts ]  Go to page 1, 2, 3  Next
Author Message
 Post subject: FreePBX Custom Trunk Integration -> A2B/$OUTNUM$?
PostPosted: Thu May 31, 2007 5:32 am 
Offline

Joined: Tue Mar 27, 2007 5:23 am
Posts: 93
Hello,

Environment: Using A2Billing with Trixbox/FreePBX.

I was wondering if it was possible to add A2Billing trunks into FreePBX. The goal is to simply add a trunk, which will be called A2B on the local machine. It will pass through the normal dialout procedures but then it will transfer the outbound CID and number to be called to A2B.

Right now I have it setup as a so called extension via a manual edit of the extensions_custom.conf file however, the problem I have is with the Caller ID information. I can not transmit the extension's callerID info cause it is transmitting the extension number instead of the Outbound CallerID information.

This is what I have in my extension_custom.conf file:

Extensions->A2billing

exten => _1NXXNXXXXXX,1,Answer
exten => _1NXXNXXXXXX,2,Wait,1
exten => _1NXXNXXXXXX,3,DeadAGI,a2billing.php
exten => _1NXXNXXXXXX,4,Congestion
exten => _1NXXNXXXXXX,5,Wait,2
exten => _1NXXNXXXXXX,6,Hangup

exten => _011.,1,Answer
exten => _011.,2,Wait,1
exten => _011.,3,DeadAGI,a2billing.php
exten => _011.,4,Congestion
exten => _011.,5,Wait,2
exten => _011.,6,Hangup

exten => _225,1,Answer
exten => _225,2,Wait,1
exten => _225,3,DeadAGI,a2billing.php
exten => _225,4,Congestion
exten => _225,5,Wait,2
exten => _225,6,Hangup


What I would like it to do is to somehow modify the macro-dialout-trunk, if it sees a custom trunk that says A2B/$OUTNUM$ then it would call up the DeadAGI for a2billing.php and dialout with the actual Outbound CallerID instead of the Extension.

The reason for this is to not need to hack up FreePBX with the fix that was provided here via an extension. I would like to be able to set A2Billing as a trunk so that it would forward the long distance requests accordingly with the proper Outbound Callerid phone numbers and not the extensions as the current hack does.

Has anyone done this or has anyone been able to integrate via the FreePBX Custom Trunk web interface to work with A2Billing without the need to enter a custom hack like I did above?

Thanks.


Top
 Profile  
 
 Post subject:
PostPosted: Thu May 31, 2007 8:33 am 
Offline

Joined: Mon Jun 19, 2006 5:14 pm
Posts: 218
use the custom trunks interface and route the $OUTNUM$ to the proper a2b context in some custom context based on your routing codes. yes it is doable. how?

like so

Local/$OUTNUM$@a2billing/n where a2billing is your context


Top
 Profile  
 
 Post subject:
PostPosted: Thu May 31, 2007 7:11 pm 
Offline

Joined: Tue Mar 27, 2007 5:23 am
Posts: 93
gue wrote:
use the custom trunks interface and route the $OUTNUM$ to the proper a2b context in some custom context based on your routing codes. yes it is doable. how?

like so

Local/$OUTNUM$@a2billing/n where a2billing is your context


Since doing this as local, it would only pass the extension and not the callerid or am I wrong?

Added after 22 minutes:

cyberglobe wrote:
gue wrote:
use the custom trunks interface and route the $OUTNUM$ to the proper a2b context in some custom context based on your routing codes. yes it is doable. how?

like so

Local/$OUTNUM$@a2billing/n where a2billing is your context


Since doing this as local, it would only pass the extension and not the callerid or am I wrong?


I added the following into extensions_custom.conf

include => from-internal-trixbox
include => to-a2billing

[to-a2billing]
s,1,Answer
s,2,Wait,1
s,3,DeadAGI,a2billing.php
s,4,Congestion
s,5,Wait,1
s,6,Hangup

and added the local/$OUTNUM$@to-a2billing trunk but came back as follows:

-- Executing Set("SIP/1003-b7912908", "custom=AMP") in new stack
-- Executing GotoIf("SIP/1003-b7912908", "1?customtrunk") in new stack
-- Goto (macro-dialout-trunk,s,22)
-- Executing Set("SIP/1003-b7912908", "pre_num=AMP:local/") in new stack
-- Executing Set("SIP/1003-b7912908", "the_num=OUTNUM") in new stack
-- Executing Set("SIP/1003-b7912908", "post_num=@to-a2billing") in new stack
-- Executing GotoIf("SIP/1003-b7912908", "1?outnum:skipoutnum") in new stack
-- Goto (macro-dialout-trunk,s,26)
-- Executing Set("SIP/1003-b7912908", "the_num=1514xxxxxxxx") in new stack
-- Executing Dial("SIP/1003-b7912908", "local/1514xxxxxxxx@to-a2billing|300|") in new stack
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing Goto("SIP/1003-b7912908", "s-CHANUNAVAIL|1") in new stack
-- Goto (macro-dialout-trunk,s-CHANUNAVAIL,1)
-- Executing NoOp("SIP/1003-b7912908", "Dial failed due to CHANUNAVAIL - failing through to other trunks") in new stack
-- Executing Macro("SIP/1003-b7912908", "outisbusy|") in new stack


It never even ran through the script. Should I be placing the to-a2billing elsewhere? Also is my syntax for [to-a2billing] even correct?
Thanks in advance.


Top
 Profile  
 
 Post subject:
PostPosted: Thu May 31, 2007 8:09 pm 
Offline

Joined: Mon Jun 19, 2006 5:14 pm
Posts: 218
Quote:
[to-a2billing]
s,1,Answer
s,2,Wait,1
s,3,DeadAGI,a2billing.php
s,4,Congestion
s,5,Wait,1
s,6,Hangup


try this:

[to-a2billing]
_X.,1,Answer
_X.,2,Wait,1
_X.,3,DeadAGI,a2billing.php
_X.,4,Congestion
_X.,5,Wait,1
_X.,6,Hangup


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jun 01, 2007 12:15 am 
Offline

Joined: Tue Mar 27, 2007 5:23 am
Posts: 93
That worked... however it is still transmitting the Internal Extension number and not the outbound CallerID number. :(

It seems that cause it is using the local tag, it still considers it as an internal connection and therefore does not produce callerID info. This is basically what our initial hack did.

Is there another tag like external available for custom trunks?


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jun 01, 2007 1:30 am 
Offline

Joined: Mon Jun 19, 2006 5:14 pm
Posts: 218
i don't fully understand your needs/question

Assumptions:

- call is coming from something like an ATA through a sip.conf setup
- sip.conf setup has context = from-internal
- you have a outbound route defined to match 011., 1., 225.
- outbound route uses the "custom trunk" which passes the call to the a2b context
- a2b context passes the call to a2b agi

Assuming this is the case the callerID that will be sent out with the call will come from the ATA [as defined in the ATA display name or sometimes the username] or as specified in the sip.conf [callerid="name" <number>] for the ATA. In Freepbx you can set the callerid for the sip.conf context in the UI this way you don't have to manually put it into the sip.conf context

I don't understand what you mean by calleriD is the "extension" . The custom local trunk is just passing the call like any other channel it is not modifying the callerid


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jun 01, 2007 4:32 am 
Offline

Joined: Tue Mar 27, 2007 5:23 am
Posts: 93
gue wrote:
i don't fully understand your needs/question

Assumptions:

- call is coming from something like an ATA through a sip.conf setup
- sip.conf setup has context = from-internal
- you have a outbound route defined to match 011., 1., 225.
- outbound route uses the "custom trunk" which passes the call to the a2b context
- a2b context passes the call to a2b agi

Assuming this is the case the callerID that will be sent out with the call will come from the ATA [as defined in the ATA display name or sometimes the username] or as specified in the sip.conf [callerid="name" <number>] for the ATA. In Freepbx you can set the callerid for the sip.conf context in the UI this way you don't have to manually put it into the sip.conf context

I don't understand what you mean by calleriD is the "extension" . The custom local trunk is just passing the call like any other channel it is not modifying the callerid


Here is the call procedure.
- call is coming from something like an ATA through a sip.conf setup
- sip.conf setup has context = from-internal
- you have a outbound route defined to match 011., 1nxxnxxxxxx
* - dialout-trunk macro should be replacing the extension number with the outbound callerid however it is not doing so cause the custom trunk was "local". This needs to be addressed as "external".
- outbound route uses the "custom trunk" which passes the call to the a2b context
- a2b context passes the call to a2b agi **with the caller id from the SIP.CONF being properly forwarded.

Therefore,
if I have an extension 2000, and an outbound callerid of "me"<15145551212> for extension 2000, then when I dial 011. or 1nxxnxxxxxx it would run the outbound route to see where it should be dialing and use the callerid of 15145551212 and not 2000 as it is doing so now.

When I used the _X. which worked, it took over the whole system and was trying to forward all calls via A2Billing and completely ignored the outbound route list. It seems that A2Billing wants an extension number instead of reading the DNIS for the call. Any way to force A2Billing to force DNIS reading for the call instead of looking for the agi_extension?

Example, I modified the macro-dialout-trunk in extensions.conf file
Code:
; Modified to support outbound calling for A2B
; original line: exten => s,n(skipoutnum),Dial(${pre_num:4}${the_num}${post_num},300,${DIAL_TRUNK_OPTIONS})
; added function
exten => s,n(skipoutnum),GotoIf($["${pre_num}" = "AMP:A2B/"]?a2bdial:skipoutnumnormal) ; Checks for A2B custom trunk and dials it.
exten => s,n(a2bdial),DeadAGI(a2billing.php) ; Dials out via the a2billing.php script.
exten => s,n,Goto(s-${DIALSTATUS},1)
exten => s,n(skipoutnumnormal),Dial(${pre_num:4}${the_num}${post_num},300,${DIAL_TRUNK_OPTIONS})
; end of modified additions


Now the custom trunk is called A2B/$OUTNUM$
It now works somewhat. I am now stuck with the AGI_Extension since now it tries to use s instead of the dialed number (DNID) and therefore I am being asked to enter a phone number to dial out again. I need to use the AGI_DNID phone number for dialing out. Is there a way to force A2Billing to use the AGI_DNID instead of the AGI_Extension for taking the number for dialing out.

Added after 59 minutes:

Ok I think I have fixed it.


Here is what I have done to fix up A2Billing and FreePBX to work together via the macro-dialout-trunk so that you can create custom trunks for a2billing pass-thru.

1: Goto FreePBX, Setup, Trunks, Create Custom Trunk.
2: In the Custom Trunk String enter without the quotes "A2B/$OUTNUM$"
3: Save it and you will see a new route called 2B/$OUTNUM$ it is fine just a glitch with FreePBX.
3: Goto Outbound Routes, Create or Modify your Long Distance route and point it to AMP:A2B/$OUTNUM$
4: Now Edit Extensions.conf and look for macro-dialout-trunk and find the line called
Code:
exten => s,n(skipoutnum),Dial(${pre_num:4}${the_num}${post_num},300,${DIAL_TRUNK_OPTIONS})

Replace that line with the code below (which will preserve the original line so you know what you changed)

; Modified to support outbound calling for A2B
; original line: exten => s,n(skipoutnum),Dial(${pre_num:4}${the_num}${post_num},300,${DIAL_TRUNK_OPTIONS})
; added function
exten => s,n(skipoutnum),GotoIf($["${pre_num}" = "AMP:A2B/"]?a2bdial:skipoutnumnormal) ; Checks for A2B custom trunk and dials it.
exten => s,n(a2bdial),DeadAGI(a2billing.php|1) ; Dials out via the a2billing.php script.
exten => s,n,Goto(s-${DIALSTATUS},1)
exten => s,n(skipoutnumnormal),Dial(${pre_num:4}${the_num}${post_num},300,${DIAL_TRUNK_OPTIONS})
; end of modified additions

5: Save extensions.conf
6: We now need to edit a2billing.conf. Goto the agi-conf1 or which agi-conf# you will be using and find use_dnid=
add the following code below it.
Code:
; if YES then it will use the AGI_DNID instead of AGI_Extension for supporting dialout.
switch_extension_for_dnid=YES

7: save a2billing.conf
8: Goto your Asterisk CLI and issue a reload request.
9: Now we are done with FreePBX.
10: goto /var/lib/asterisk/agi-bin and edit a2billing.php
11: look for a line that says
Code:
$A2B->dnid = $agi->request['agi_extension'];

Repleace that line with the following line (No worries, I placed that line into the code for preservation.

               // Added check for agi_extension or agi_dnid for dialout number
               // original line replaced was:
               // $A2B->dnid = $agi->request['agi_extension'];
               //
               if ($A2B->agiconfig['switch_extension_for_dnid']==1)
                  $A2B->dnid = $agi->request['agi_dnid'];
                  else
                  $A2B->dnid = $agi->request['agi_extension'];
               // End of modifications


11: Save a2billing.php
12: now pick up your phone and try dialing. It will now go though A2billing for accounting purposes.
[/code]


Top
 Profile  
 
 Post subject:
PostPosted: Wed Sep 12, 2007 1:07 pm 
Offline

Joined: Mon Aug 13, 2007 4:10 am
Posts: 36
Hi,

I have successfully created an outbound route to A2B and everything works perfectly fine except for one thing.

in the outbound route the dial pattern is 9|.

so it takes any number strips the 9 and sends that number. this happens with any other outbound routes dial pattern, but with the A2B dial pattern it still sends the 9 and A2B is unable to find the matching rate because there is none!

please help!


Top
 Profile  
 
 Post subject:
PostPosted: Fri Sep 14, 2007 2:15 am 
Offline

Joined: Thu Jun 14, 2007 2:20 am
Posts: 23
Location: Brasil
Hi,

I also have successfully implemented the patch, BUT there is an open issue: the custom trunk created does not applies the Dial Rules anymore. It simply sends out all the dialed digits from the extension, including the Trunk Route prefix. This blocks the possibility to add/delete digits for proper translation before sending them out to a2billing.

Any hints on that?

Cheers,

Eduardo.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Sep 14, 2007 2:19 am 
Offline

Joined: Mon Aug 13, 2007 4:10 am
Posts: 36
Thats a real shame! and a pain in the ***!

could anyone help with this???


Top
 Profile  
 
 Post subject: Connecting freePBX with A2Billing via a custom trunk.
PostPosted: Mon Sep 17, 2007 8:33 pm 
Offline

Joined: Thu Jun 14, 2007 2:20 am
Posts: 23
Location: Brasil
How to connect freePBX with Asterisk2Billing using a custom trunk (and keep your trunk Dial Rules!)

I started with the patch proposed by cyberglobe but changed a few things. The idea is to to grab the number to be dialed AFTER passing by the Dial Rules from the trunk and pass it as a parameter to a2billing. Inside a2billing then I retrieve the number passed and use it whenever a call from freePBX is detected.
There may be less intrusive mechanisms, but this one is working pretty fine for me.

Here is the step by step procedure:

1: Go to FreePBX, Setup, Trunks, Create Custom Trunk.
2: Create whatever dial rules you need to translate the dialed number before passing it to a2billing.
3: In the Custom Trunk String enter without the quotes "A2B/$OUTNUM$"
4: Save it and you will see a new route called 2B/$OUTNUM$. It is fine, is just a glitch with FreePBX.
5: Go to Outbound Routes, Create or Modify your Long Distance route and point it to AMP:A2B/$OUTNUM$
6: Important: be sure to check the Intra Company Route option. This ensures that you preserve the original extension ID when dialing out.
7: Now Edit Extensions.conf and look for macro-dialout-trunk and find the line that contains:

Code:
exten => s,n(skipoutnum),Dial(${pre_num:4}${the_num}${post_num},300,${DIAL_TRUNK_OPTIONS})

Replace that line with the code below (which will preserve the original line so you know what you changed)

; Modified to support outbound calling for A2B while keeping trunk Dial Rules working
; original line: exten => s,n(skipoutnum),Dial(${pre_num:4}${the_num}${post_num},300,${DIAL_TRUNK_OPTIONS})
; added function:
exten => s,n(skipoutnum),GotoIf($["${pre_num}" = "AMP:A2B/"]?a2bdial:skipoutnumnormal) ; Checks for A2B custom trunk and dials it.
exten => s,n(a2bdial),DeadAGI(a2billing.php|2|${OUTNUM}) ; Dials out via the a2billing.php script. Note the ${OUTNUM} parameter.
exten => s,n,Goto(s-${DIALSTATUS},1)
exten => s,n(skipoutnumnormal),Dial(${pre_num:4}${the_num}${post_num},300,${DIAL_TRUNK_OPTIONS})
; end of modified additions


8: Save extensions.conf
9: Go to your Asterisk CLI and issue a reload request. Now we are done with FreePBX.
10: Go to /var/lib/asterisk/agi-bin and edit a2billing.php
11: There are two modifications to introduce here. First look for the lines that contains the following code:

Code:
if ($argc > 1 && is_numeric($argv[1]) && $argv[1] >= 0){
   $idconfig = $argv[1];
}else{
   $idconfig = 1;
}

Then add the following three lines right below that:

if ($argc > 2 && is_numeric($argv[2]) && $argv[2] >= 0){   //NEW NEW NEW
   $the_num = $argv[2];         //NEW NEW NEW
}                              //NEW NEW NEW

Now locate the line that contains the following code:

$A2B->dnid = $agi->request['agi_dnid'];

and replace it with the following code:

// Original line replaced was: $A2B->dnid = $agi->request['agi_dnid'];
// Here we test if the call comes from the macro-dialout-trunk context in freePBX
// and set the dnid to be the parameter passed to a2billing
if($agi->request['agi_context'] == "macro-dialout-trunk")   //NEW NEW NEW
   $A2B->dnid = $the_num;            //NEW NEW NEW
else                        //NEW NEW NEW
$A2B->dnid = $agi->request['agi_dnid'];   //NEW NEW NEW
// End of modifications            //NEW NEW NEW


12: Save a2billing.php
13: That's it!

Now you should be able to manage your extensions from freePBX and whenever the A2B route is seized, the calls pass over the control of a2billing rating engine, reporting, and so on.

Enjoy it!

Eduardo.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Sep 17, 2007 10:47 pm 
Offline

Joined: Sat Jul 28, 2007 5:51 am
Posts: 79
hello,

thanks to cyberglobe.....I am using your mod and it work fine but there is one small bug but i could not figure it out.

I work fine for me if i dial US number 1nxxnxxxxxx. when i dial germany number for example with dialing rule is 49. , it drop my last digit (from a debug screen) which make a call cant not be completed and the system is waiting.

Please help!


Top
 Profile  
 
 Post subject: No circuits available on A2B custom trunk.
PostPosted: Tue Nov 13, 2007 11:46 pm 
Offline

Joined: Tue Nov 13, 2007 10:03 pm
Posts: 6
Hi all,

I have implemented as per erobles post, but consistantly obtain a no circuit available message. The log is as follows;

It seems that something is going awry with a2billing.php (it seems to return 0).

I would very much appreciate if the resident experts could take a look and offer a few suggestions as to what I might try next?

Many thanks in advance,
Chris.

[Nov 13 22:01:37] DEBUG[3159] chan_iax2.c: Ooh, voice format changed to 4
[Nov 13 22:01:37] VERBOSE[14163] logger.c: fixlocalprefix: Could not open /localprefixes.conf
[Nov 13 22:01:37] VERBOSE[14163] logger.c: -- AGI Script fixlocalprefix completed, returning 0
[Nov 13 22:01:37] DEBUG[14163] app_macro.c: Executed application: AGI
[Nov 13 22:01:37] VERBOSE[14163] logger.c: -- Executing [s@macro-dialout-trunk:18] Set("IAX2/2999-2", "OUTNUM=1471
") in new stack
[Nov 13 22:01:37] DEBUG[14163] app_macro.c: Executed application: Set
[Nov 13 22:01:37] VERBOSE[14163] logger.c: -- Executing [s@macro-dialout-trunk:19] Set("IAX2/2999-2", "custom=AMP") in new stack
[Nov 13 22:01:37] DEBUG[14163] app_macro.c: Executed application: Set
[Nov 13 22:01:37] VERBOSE[14163] logger.c: -- Executing [s@macro-dialout-trunk:20] GotoIf("IAX2/2999-2", "1?gocall") in new stack
[Nov 13 22:01:37] VERBOSE[14163] logger.c: -- Goto (macro-dialout-trunk,s,24)
[Nov 13 22:01:37] DEBUG[14163] app_macro.c: Executed application: GotoIf
[Nov 13 22:01:37] VERBOSE[14163] logger.c: -- Executing [s@macro-dialout-trunk:24] GotoIf("IAX2/2999-2", "1?customtrunk") in new stack
[Nov 13 22:01:37] VERBOSE[14163] logger.c: -- Goto (macro-dialout-trunk,s,27)
[Nov 13 22:01:37] DEBUG[14163] app_macro.c: Executed application: GotoIf
[Nov 13 22:01:37] VERBOSE[14163] logger.c: -- Executing [s@macro-dialout-trunk:27] Set("IAX2/2999-2", "pre_num=AMP:A2B/") in new stack
[Nov 13 22:01:37] DEBUG[14163] app_macro.c: Executed application: Set
[Nov 13 22:01:37] VERBOSE[14163] logger.c: -- Executing [s@macro-dialout-trunk:28] Set("IAX2/2999-2", "the_num=OUTNUM") in new stack
[Nov 13 22:01:37] DEBUG[14163] app_macro.c: Executed application: Set
[Nov 13 22:01:37] VERBOSE[14163] logger.c: -- Executing [s@macro-dialout-trunk:29] Set("IAX2/2999-2", "post_num=") in new stack
[Nov 13 22:01:37] DEBUG[14163] app_macro.c: Executed application: Set
[Nov 13 22:01:37] VERBOSE[14163] logger.c: -- Executing [s@macro-dialout-trunk:30] GotoIf("IAX2/2999-2", "1?outnum:skipoutnum") in new stack
[Nov 13 22:01:37] VERBOSE[14163] logger.c: -- Goto (macro-dialout-trunk,s,31)
[Nov 13 22:01:37] DEBUG[14163] app_macro.c: Executed application: GotoIf
[Nov 13 22:01:37] VERBOSE[14163] logger.c: -- Executing [s@macro-dialout-trunk:31] Set("IAX2/2999-2", "the_num=1471
") in new stack
[Nov 13 22:01:37] DEBUG[14163] app_macro.c: Executed application: Set
[Nov 13 22:01:37] VERBOSE[14163] logger.c: -- Executing [s@macro-dialout-trunk:32] GotoIf("IAX2/2999-2", "1?a2bdial:skipoutnumnormal") in new stack
[Nov 13 22:01:37] VERBOSE[14163] logger.c: -- Goto (macro-dialout-trunk,s,33)
[Nov 13 22:01:37] DEBUG[14163] app_macro.c: Executed application: GotoIf
[Nov 13 22:01:37] VERBOSE[14163] logger.c: -- Executing [s@macro-dialout-trunk:33] DeadAGI("IAX2/2999-2", "a2billing.php|2|1471
") in new stack
[Nov 13 22:01:37] WARNING[14163] res_agi.c: Running DeadAGI on a live channel will cause problems, please use AGI
[Nov 13 22:01:37] VERBOSE[14163] logger.c: -- Launched AGI Script /var/lib/asterisk/agi-bin/a2billing.php
[Nov 13 22:01:37] VERBOSE[14163] logger.c: -- AGI Script a2billing.php completed, returning 0
[Nov 13 22:01:37] DEBUG[14163] app_macro.c: Executed application: DeadAGI
[Nov 13 22:01:37] VERBOSE[14163] logger.c: -- Executing [s@macro-dialout-trunk:34] Goto("IAX2/2999-2", "s-|1") in new stack
[Nov 13 22:01:37] VERBOSE[14163] logger.c: -- Goto (macro-dialout-trunk,s-,1)
[Nov 13 22:01:37] DEBUG[14163] app_macro.c: Executed application: Goto
[Nov 13 22:01:37] VERBOSE[14163] logger.c: -- Executing [91471
@from-internal:3] Macro("IAX2/2999-2", "outisbusy|") in new stack
[Nov 13 22:01:37] VERBOSE[14163] logger.c: -- Executing [s@macro-outisbusy:1] Playback("IAX2/2999-2", "all-circuits-busy-now|noanswer") in new stack
[Nov 13 22:01:37] VERBOSE[14163] logger.c: -- <IAX2/2999-2> Playing 'all-circuits-busy-now' (language 'en')
[Nov 13 22:01:39] DEBUG[14163] app_macro.c: Executed application: Playback
[Nov 13 22:01:39] VERBOSE[14163] logger.c: -- Executing [s@macro-outisbusy:2] Playback("IAX2/2999-2", "pls-try-call-later|noanswer") in new stack
[Nov 13 22:01:39] VERBOSE[14163] logger.c: -- <IAX2/2999-2> Playing 'pls-try-call-later' (language 'en')
[Nov 13 22:01:39] DEBUG[3163] chan_iax2.c: Immediately destroying 2, having received hangup
[Nov 13 22:01:39] VERBOSE[14163] logger.c: == Spawn extension (macro-outisbusy, s, 2) exited non-zero on 'IAX2/2999-2' in macro 'outisbusy'
[Nov 13 22:01:39] VERBOSE[14163] logger.c: == Spawn extension (macro-outisbusy, s, 2) exited non-zero on 'IAX2/2999-2'
[Nov 13 22:01:39] DEBUG[14163] chan_iax2.c: We're hanging up IAX2/2999-2 now...
[Nov 13 22:01:39] DEBUG[14163] chan_iax2.c: Really destroying IAX2/2999-2 now...
[Nov 13 22:01:39] VERBOSE[14163] logger.c: -- Hungup 'IAX2/2999-2'
[Nov 13 22:01:39] DEBUG[14163] cdr_addon_mysql.c: cdr_mysql: inserting a CDR record.
[Nov 13 22:01:39] DEBUG[14163] cdr_addon_mysql.c: cdr_mysql: SQL command as follows: INSERT INTO cdr (calldate,clid,src,dst,dcontext,channel,dstchannel,lastapp,lastdata,duration,billsec,disposition,amaflags,accountcode,uniqueid) VALUES ('2007-11-13 22:01:37','\"Chris Test\" <2999>','2999','91471
','from-internal', 'IAX2/2999-2','','Playback','pls-try-call-later|noanswer',2,2,'ANSWERED',3,'','1194991297.116')


Top
 Profile  
 
 Post subject:
PostPosted: Wed Nov 14, 2007 12:32 am 
Offline

Joined: Thu Jun 14, 2007 2:20 am
Posts: 23
Location: Brasil
Hi Chris,

I'm far from being an expert, but I would do as the message "Running DeadAGI on a live channel will cause problems, please use AGI" suggest.

Give it a try and replace at line 33:
Code:
exten => s,n(a2bdial),DeadAGI(a2billing.php|2|${OUTNUM})

by:
Code:
exten => s,n(a2bdial),AGI(a2billing.php|2|${OUTNUM})


It seems like your system didn't like the DeadAGI call as the channel is live. Strange, as I have it working with no glitches on a production system.

The difference between your implementation and mine is that you are using a IAX trunk, while I am using a SIP one. May be that changes the behavior of the DeadAGI call, giving the wrong results.

I hope it helps.

Eduardo.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Nov 14, 2007 1:02 am 
Offline

Joined: Fri Apr 28, 2006 5:11 am
Posts: 426
ChrisUK1978, it's look like your Asterisk is old version. to fix this problem you must upgrade your asterisk to last one. this will help.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 43 posts ]  Go to page 1, 2, 3  Next
Hosted Voice Broadcast


All times are UTC


Who is online

Users browsing this forum: No registered users and 5 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:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group