Auto call with asterisk

Hi every one
I have a problem: i have a file .xls or csv with 5000 number, and i want auto call for this list, and when they pickup call, they will listen a IVR and have some action with button, I think, I will use .call file to do it but i not sure, Can .call file run with a lot of number or bigger data ???

And if i use .call file, have any another method replace argument Channel: sip/number1@siptrunk,sip/number2@siptrunk…, i think it don’t reasonable if i have 5000 number

If somebody have better method use .call file please tell me
Thanks all!!!

you can write some script to make autocall

or try this product, it have auto call very easy to use, just upload phone list, when customer pickup call, they can connect to any call script ( IVR, queue, … ) :

1 Like

The best thing would be to use auto dialing software. Vicidial for example is built on top of asterisk and can provide a lot of auto dialing features which you might later find out that you need.


I think it’s easy to write a perl (or another language) script and use telnet for an AMI.

I don’t know if it’s possible to send private message on this mailing list ?


you can do couple of things

  1. download and start using vicidial or go auto dial
  2. using your favorite programming language create an app to upload a list (containing phone numbers) doesn’t matter how many number it contains( asterisk will dial if you have enough telephony resources i.e. channels from VoIP provider) create a dial plan flow in asterisk


1 Like

Hi all
Now I can auto call for my list
But I want recall if destination not answer, and I have some problem with time wait to redial
This is my code and dialplan
Code PHP
if(strpos($authenticateResponse, ‘Success’) !== false)
echo “Authenticated to Asterisk Manager Inteface. Initiating call.\n”;
// Prepare originate request
$originateRequest = “Action: Originate\r\n”;
$originateRequest .= “Channel: Local/$internalPhoneline@autocall\r\n”;
$originateRequest .= “Callerid: autocall\r\n”;
$originateRequest .= “Exten: 5000\r\n”;
$originateRequest .= “Context: $context\r\n”;
$originateRequest .= “Priority: 0\r\n”;
$originateRequest .= “Async: yes\r\n\r\n”;
// Send originate request
$originate = stream_socket_sendto($socket, $originateRequest);
if($originate > 0)
exten => _X.,1,Dial(SIP/${EXTEN}@trunkto52,15,t)
exten => _X.,n,GotoIf($[“${DIALSTATUS}”!=“ANSWER”]?redial1)
exten => _X.,n(redial1),wait(10)
exten => _X.,n,Dial(SIP/${EXTEN}@trunkto52,15,t)

My prolem is when redial if no answer, ringgin time seem 5s not 15s, and I see total call can only in 30 or 35s, if I increas wait time from 10s to 100s the call redial can’t action

So what is my problem or how can I increase wait time and call redial can action
thanks every one

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.