Develop Broadcast auto dialer system to call multiple cell numbers at the same time


We have setup the asterisk on Ubuntu, we want to develop a application which can broadcast prerecorded message to multiple mobile numbers at the same time.
For ex. User will schedule a campaign for particular date and time, the campaign should start at the specified time and broadcast call (all call will be placed at the same time to all contacts into that campaign).
we have found some commands and techniques but those are for extensions . We are not much familiar with asterisk, so we are not sure how to start this application.
Also we did some googling and got some terms like call file, also there is Zap terms which is not clear to me, and how can we use this settings.

Any suggestion will be much appreciated.

There’s a good document in the Wiki about call files here:

It really sounds like you will want to contract with a professional to design your system if you are unfamiliar with Asterisk as a toolkit.

1 Like

This is something I have done before, but instead of call file I used AMI and Originate Action,

System was developed using Asterisk / PHP & MYSQL


Thanks @ambiorixg12 for your reply,

But I am using .Net C# technology, if you have any link or related AMI code that can help me, either in .net or PHP will be very helpful for me.

Also I looked into Originate action but very confused as I am able to call only on extension, but i have no idea how schedule call for future that can call on mobile.

Thanks again.

Thanks @johnkiniston for your response, I am looking into call files, but not able to call on mobile, also it seems that I have to make changes in config files as mentioned on below links.

Please correct me if I am understanding any thing wrong or doing some wrong stuff.

Thanks again for your response.

You should have no problem originating a call to a mobile phone, I do it all the time either with a LOCAL channel or dialing through my trunk provider to the number directly.

Just set the Channel: line appropriately.

Channel: PJSIP/MyTrunk/5205551212


Channel: LOCAL/5205551212@pstn-local

The site your links are referencing is over a decade old and the information is out of date, I recommend sticking to for current documentation.

I saved the calling date on a DB, then with a cron job I have an script who run every 1 minute and check if the current script date it is >= (calling date on the DB) and if so it dials

Thank you @johnkiniston
Currently I setup SIP. Do I need to setup PJSIP? Sorry to ask you again and again but I am very confused here about Channel, below what i am using in call file.

Channel: SIP/TrunkName/19***81***
Callerid: "ABC"
MaxRetries: 5
RetryTime: 300
WaitTime: 45
Context: from-internal
Extension: 113
Priority: 1

Do i need to specify context here ?

Yes you need to specify the Context, That’s where you are directing the channel you are dialing to.

So your example sends the call out TrunkName to the number you obfuscated and is connecting it to Extension 113 in your from-internal context.

1 Like

Thank you @ambiorixg12 for response,
I am not able to call on mobile using originate action, did you?
if yes, can you please share me the syntax for that.

Yes, When I am using this example I am getting call on my extension (configured on X-Lite), not clear, Do I Need to create any particular context, and how to create that. Any link or syntax?
And one thing I want to clear my self about SIP and PJSIP setup.

Please see extensions.conf.sample and You need to understand how contexts work before you ask questions here.

Also, remember that the ability to make simultaneous calls will be limited by your PSTN or mobile network service provider.

Using Microsoft. .NET is a policy decision. It is usually a bad policy decision when it comes to open source software, as very few open source users use .NET, and those that do probably don’t answer on peer support forums. You will get beset peer support for Asterisk scripting if you use PHP for your scripts.

res_pjsip is the replacement for the chan_sip stack.

You can read how to configure it in the Wiki at

Contexts are also explained in the WIki

I can’t tell you what you need to create for your project, Only you can determine what you need.

1 Like

PHP for me is one of the best programming language to interact with Asterisk AGI and AMI

1 Like

You may also want to have a look at our WombatDialer - - it is a product, but it is free to use if you require a small number of calls made per day.