Bulk Calls


My firm often makes mass recorded phone calls to voters before an election reminding them that their polling place has moved. We usually go with an outside firm.

I think we can use the Asterisk technology to do this - but does it lend itself to making a huge number of calls through a VOIP system? And is there a VOIP provider who would make this possible?

Typically we send out calls to 200k to up to a million voters.


no answer?

Asterisk is geared towards PBX applications and may not scale to the type of call throughputs you describe here. Of course this depends on many factors:

  • What timeframe (from start to finish) do these calls need to be completed in?
  • What are the call/recorded message lengths?
  • Do you need to make best efforts to get the message through (ie - if a busy signal, try again later)?

Further to this, a cost analysis would need to be done to compare your current outsourced costs compared to the hardware, development and telephony costs it would take to do it with an application such as Asterisk.

This sort of thing would be easy to do using asterisk AGI the thing is MuppetMaster is right about the cash aspect at least in my opinion the first year to front the money for the equipment. I am also not sure that VOIP is the correct answer for lots of calls (the bandwidth may cost alot). it may be a good idea to ask your local telco what it would cost to colo the box there and purchase a couple 4 port digium cards. and use PRI to make the calls.

Just my humble opinion.


I think I have a solution for the net to phone system issue. I found a VIOP firm that is willing to work with me.

I guess the next question is what kind of hardware is required to run 30-50 simultaneous outbound calls?

Asterisk isn’t a “get this size box and it can do x calls, and this size box will do z calls” sort of software. It’s a development environment.

It’s rare that anyone can answer a call like, “What would it take if I wanted to do this?”. Most people are building systems with Asterisk for the first time, and no one is really going to have any experience with how anything will go.

It really depends on what you’re asking it to do. Playing messages is a processor intensive thing for the system to do, so it’ll take a few processors.

For example, you can put three or four servers to the task, each checking a MySQL database full of numbers to call. The servers can then update the database to let you know if the call was answered, busy, SIT tone (disconnected line), etc.

It’s really up to you to develop the solution you want. Just rememeber; It’s your solution. You’re going to build it, you’re going to have to support it.

50 calls worth of internet bandwidth might be a bit expensive though. You can get that (48 channels) with 2 T1’s. If you use a Dialogic card with DSP’s, you can offload the processing necessary to play the announcements to the Dialogic card. If you do that, you can easily build just one server to place that many calls.

You might just consider using T1’s instead of a VOIP provider.

Click here for a handy bandwidth calculator:

asteriskguru.com/tools/bandw … ulator.php

According to my shiny new ‘Asterisk - The Future of Telephony’ book that I received in the post today (you should pick up a copy) when looking to create large systems one must envision a distributed architecture. According to the book, Asterisk systems have been built that scale to 500-1000 users which could support the required 50 simultaneous calls (but this still does not say how many call initiations per second you would like to acheive or call durations, etc).

A distributed architecture could be acheived in a number of ways:

  • A program that drives multiple seperate Asterisk instances via the Asterisk Manager API
  • A single Asterisk instance that drives other Asterisk instances via IAX/Switch to spread the call load
  • and others…

The point is that you will need multiple boxes to drive 50 simultaneous calls for message playback. You may reduce processing requirements by doing things such as encoding the playback files in the codec that you plan to use with the VoIP provider.

In otherwords, it is an inexact ‘science’ and you will have to do some trial and error to see what works for your application.

Muppet - funny, I ordered that book just today. There were two - that one looked better and more up-to-date. Thanks for the great answer.

Dufus - Also, thanks for the great answer.

I actually am looking at it from a channel perspective. Forgive my sloppiness.

WIth a T1, I can utilize 65 channels - maybe 135 or so with a fancy codec.

I have a VIOP provider that will give me a sub-cent rate per minute.

How many people will I need to talk to at a time? Not sure.

I am learning about this. I will soon have a PC I can start working on this with.

A little more about me: I can program MySQL/PHP and know some C and know the Unix environment. I have developed a very content management system that allows non-techies to have full control over the content and structure of their website.

I also am involved in projects where this IVR and voice tech is used. I just had a project for over a $100,000 go by that I could have gotten had I had this technology. Many of my competitors are selling calls at between 6 and 9 cents per call per minute. I can kill them and I have a ready market - IF I can get this technology up and running.

I can sell millions of dollars a year of this if I have this technology working. My competitors all use the traditional dialogic stuff - if I set this up at my home office and use VIOP, then … BANG. I win.

Or maybe I should just pay one of you guys to come over and set this up for me. Eh.

Then phpagi.sourceforge.net may be your friend, as you may write your call interface driven from a MySQL database using the phpagi-astmanager library.

I prefer revenue sharing models… :wink:

Fine. Set the entire system up for me and show me how to use it and I will give you 20% of all net revenues for the first two years.

are you still looking for this?

if you are, we have a company that you can call into, like a calling card and get the conversation recorded…

step 1: call a number (speed dial this number)
step 2: enter destination number (person you want to call)
step 3: talk and we record
step 4: check website or FTP down the files in gsm or wav format.

if you still need this e-mail @ bingenterprises@hotmail.com