Automated Asterisk Calling And DTMF Reception

Home » Asterisk Users » Automated Asterisk Calling And DTMF Reception
Asterisk Users 6 Comments

Has anyone used Asterisk for a Call Center operation? What I mean is: given a list of phone numbers, can Asterisk dial each number, play a message and accept some DTMF? I ask because I am an employee of a non-profit company based in San Diego, CA. I already evaluated Voicent and Voxeo. The former has expensive licensing terms and the latter is not best suited for a call center. I would appreciate your kind comments.

6 thoughts on - Automated Asterisk Calling And DTMF Reception

  • Yes it can, very easily. But before you go too far, you need to know there are laws against exactly that sort of thing. You need a human being on the end of the phone.

  • Hi Murthy,

    Short answer: Yes this kind of call center operation is quite common.

    There are several different dialers available for this kind of activity via Asterisk (or one of the projects based on Astersik).

    Please let me know if you need help and I or the list can direct you to some of them. We have done it for some large and complicated applications, and offer it as a service it you like.


  • We make only solicited calls. That means, the people we are going to call have signed up with our service.As for technical details, I can think of a while loop in .ael to dial out. If you can please point me to a URL, I’d be grateful. Best regardsmurthy

  • When I hear ‘call center’ I think of agents and queues.

    What you describe sounds more ‘automated’ — no humans involved.

    I don’t think looping in a dialplan is the right approach, since this process (originating calls) is not executing in the context of a channel.

    I think an external ‘scheduler’ either creating call files or issuing originate requests via AMI is the way to go.

    Something like:

    // read the list of numbers from a text file or database

    // for each number…

    // write a ‘call file’ in /tmp/

    // move the call file to the outgoing spool directory

    // sleep a bit so you don’t overwhelm Asterisk or your SIP provider

    // lather, rinse, repeat

    The call file asks Asterisk to dial the number. Once the call is answered, the call continues at the context, extension, and priority specified in the call file.

    The dialplan plays the file, asks the questions, and writes the responses to the database. You can pass variables (donor name, last year’s donation)
    in the call file that you can access as channel variables.

    Based on the ‘project’ description, that’s how I would approach it. For specifics, feel free to break out your check book and contact me off-list

  • I’ve done something like this, and it was done by an external perl script. Asterisk played its part through call files to initiate calls and putting them into the right point in the dial plan, playing sounds and accept user iteraction (through dial plan extensions or AGI).

    Totally doable and I wouldn’t call it a call center either. Except if at some point you want the called party to be able to talk to a human being, in which case you’d probably want to put them into a queue and do proper call center functions.

    regards Adam