Using Asterisk for autodialling


Could I ask please could Asterisk be programmed to autodial a preset list of telephone numbers and play them a recorded message as an opt in for a service and can it record a response as a tone from a digital telephone keypad ?

What would be required to do this?

Also could Asterisk be used using skype? Either using usernames or numbers? What would be required to do this?



there are a number of ways to accomplish auto dial-out. one of them is using callfile, which is a text file containing the destination number and the extension to handle answered call. you could put your autodial callfiles in /var/spool/asterisk/outgoing and asterisk will dial out accordingly. more information is in … o-dial+out.

in the callfile, you have to specify an extension to connect when the outbound call is answered. for example,
Channel: Zap/1/1XXXXXXXXXXXX
MaxRetries: 2
RetryTime: 60
WaitTime: 30
Context: opt-out
Extension: 800
Priority: 1

in your extensions.conf, the extension 800 would be something like these:
exten => 800,n,Playback(your-opt-out-msg)
exten => 800,n,Wait(1)
exten => 800,n,Read(key-in||1)

the Read() would put the DTMF to variable key-in.

re Skype with Asterisk, you would find certain information here:

I really appreciated with your kind of help to someone else.

I have one particular question is how and where to write script when the telephone sound prompt will ask user “Enter Account number” then user will send DTMF digit to enter account number then proceed to same action for Pin number then prompt will make beep sound to show it is now recording. These actions should be done after dialing any extension number like 300.

Another question is how to make 1000 calls automatically in 1 day.

I will be really grateful to you if you help me this kind of problem. I am so desperate to wait for this help.


you could put something like this in the extensions.conf:

exten => 300,1(ask-for-acc),Playback(prompt-for-account)
exten => 300,n,Read(key-in-acc||5)
exten => 300,n,GotoIf($["${key-in-acc}"!=“12345”]?(ask-for-acc)

exten => 300,n(ask-for-pin),Playback(prompt-for-pin)
exten => 300,n,Read(key-in-pin||5)
exten => 300,n,GotoIf($["${key-in-pin}"!=“12345”]?(ask-for-pin)

; will beep before recording
exten => 300,n,Record(record-to-where:WAV)

you would find useful details here: … s+IVR+menu … cmd+Record

i am assuming you want to execute outbound jobs of 1000 numbers per day.

if you put 1000 callfile in /var/spool/asterisk/outgoing, asterisk will try to dial that 1000 files and it is unlikely that you have sufficient concurrent outbound channels. you can schedule the actual dial time by updating the callfile’s mtime (use unix touch).


Hi Derek,

You are the best pal I have ever met in this forum. You are my lifesaver, finally. The one you helped me with first question, will act as manual testing. Is that right? I was planning to do automated testing for 1000 calls per day so I can leave work and come back next day and want to make sure testing are done automatically. How to do that? I don’t really understand with your 2nd question suggestion. Could you please explain in simple way as I am not expert? Thanks again for replying to my post.

For above command, which statement In bracket I should write “Enter Account number”.

Let me know if I am right with this plan or not about testing->->->. I have made a call file that will allow to make a call and extension.config the one we are discussing here is to handle the call. Is that all I need to meet following scenario? Do I need another file for 1000 calls per day plan…Something like you were giving advice about mtime unix touch sort of…This kind of help will clear my confusion on head. Hopefully, I will get this time final clean help. If I have all 1000 files to make test then it will be manual. However, my aim is automated testing. Just simply enter 1000 calls and should run automatically.

Scenario- Dial and hang up a call (Telephone line). However, the scenario should run as automated testing for 1000 calls per plan

  1. Pick up the phone

  2. Dial number using 300 or 400

  3. Prompt will ask for Account number

3.1) If telephone user enter wrong Activation number then prompt will say “Do again as Activation number is inccorect”

  1. After successful Activation number, prompt will ask to enter “Pin number”

4.1) If incorrect then prompt will say “Do again as Pin number is incorrect”

  1. After successful Pin number then user will hear beep sound which means the phone is in use and will be recorded and user can now talk anything

  2. Now user will hangup the phone