I didn't try a2billing 1.4 or later
I am testing my autodialer system, the callback not initialed fast, i.e in database I have 100 calls ,I suppose the 100 calls should initiated within 1 minute
but in current a2billing callback code, it seems only can send 30 calls within 1 minute. I don't know why ,even I set async = true(want to know full parameters list for AMI Originate Command ? , u can run command in asterisk cli
trixbox1*CLI> manager show command originate
Action: Originate
Synopsis: Originate Call
Privilege: call,all
Description: Generates an outgoing call to a Extension/Context/Priority or
Application/Data
Variables: (Names marked with * are required)
*Channel: Channel name to call
Exten: Extension to use (requires 'Context' and 'Priority')
Context: Context to use (requires 'Exten' and 'Priority')
Priority: Priority to use (requires 'Exten' and 'Context')
Application: Application to use
Data: Data to use (requires 'Application')
Timeout: How long to wait for call to be answered (in ms)
CallerID: Caller ID to be set on the outgoing channel
Variable: Channel variable to set, multiple Variable: headers are allowed
Account: Account code
Async: Set to 'true' for fast origination
then I find Outgoing.pm in callback directory ,it's writing call file to /var/spool/asterisk/outgoing directory ,
so I replace AMI code to below
Asterisk::Outgoing - Create outgoing call queue file
use Asterisk::Outgoing;
my $out = new Asterisk::Outgoing;
$out->setvariable('Channel', 'Zap/1/');
$out->setvariable('MaxRetries', 0);
$out->setvariable('RetryTime', 60);
$out->setvariable('WaitTime', 60);
$out->setvariable('Application', 'Playback');
$out->setvariable('Data', 'beep');
$out->create_outgoing;
then it's instant to call 180 calls at one time (within 1 millsecond)
please note :I have to make changes to
/var/lib/asterisk/a2billing/callback-daemon/lib/Asterisk/Outgoing.pm
below is what I changed
sub create_outgoing {
....
my $outdir = $self->outdir();
//old code
//my $filename = $outdir . '/' . $time. '.outgoing';
//my code:because $time is same for many calls ,$filename is not unique then
my $filename = $outdir . '/' . $time .'_'.$self->{OUTVARS}{uniqueid}. '.outgoing';
open(OUTFILE, ">$filename") || return 0;
...