[Asterisk-Users] Request for help designing an unusual * application

Lee Allen lee at leadtec.com
Thu Aug 19 16:42:49 MST 2004


I have been reading asterisk doc's for the past couple weeks, and
monitoring this list.  I have to implement an unusual (I think)
application of asterisk.  I have the beginnings of a plan, and I would
like to throw it up here for comments.

The application:
An after-hours emergency support "hotline" for our technology company.

We have 5 different support people that take turns on 24-hour call (at
any time, one support person is "on call").  We may have 3 or more
contact numbers for each person, eg:
- office phone
- cell phone
- home phone

The support people, and their contact numbers, would ideally be stored
in a database.

When a customer calls in, they get a canned greeting, and then they
leave a message.  Asterisk records it.

Asterisk then tries to reach the current "on call" person.  It starts
dialing the person's various contact numbers, one at a time, and then
plays the message left by the customer.  If it hears a DTMF '#' it knows
it has successfully given the message to a human, and it quits.
Otherwise it continues calling the next contact on the list.

Okay so far?

I think the basic extension stuff can get me the first part (answer &
record the incoming call):
- answer the call
- play the canned greeting
- wait for the caller to talk and then hang up
- record the conversation to a file
- invoke my script

Okay, now my script...

It creates an outoing call in /var/spool/asterisk/outgoing, pulling
information from a database (assuming I learn some perl and mysql, or
something!)
THAT file (outgoing call queue) would have to...
- call the given number
- if it gets an answer, play the recorded message
- then if it gets a # key just quit
- otherwise (busy, no answer, no # key) again invoke the (same) script,
passing an incrementing value so the script knows to try the NEXT
contact number (until it exhausts all its contact numbers, or someone
responds with the magic '#' key)

Does this all sound reasonable?

Do-able?

Is there a much easier way to accomplish it?

Thanks for any help.

-Lee Allen




More information about the asterisk-users mailing list