[asterisk-users] Voice server

Anselm Martin Hoffmeister anselm at hoffmeister-online.de
Mon Oct 8 18:05:41 CDT 2007


Am Montag, den 08.10.2007, 11:07 +0200 schrieb Vincent:
> Hello
> 
> Now that I received an OpenVox PCI card
> (www.openvox.com.cn/products_detail.php?genre_id=9&id=28), I'm ready
> to try and set up a voice server with Asterisk.
> 
> We need the following features:
> 1. When customers call in, they should hear a voice menu asking them
> which software they're calling about
> 2. Next, they should be able to leave a voice message to explain what
> their problem is
> 3. Next, Asterisk should send an e-mail to an alias that includes all
> the people involved with the software
> 4. Finally, anyone involved should be able to listen to the voice
> message and call the customer back.
> 
> I guess Asterisk can do all this easily. As for listening to voice
> mail, some of the people are off-site so I guess I should either set
> them up with SIP phones to let them connect to Asterisk through the
> Net, or have Asterisk save messages as WAV files and upload them to a
> web server so people can just click on the file to listen to the
> message.
> 
> Has someone done such project and could give me some tips?

Asterisk can do all of that. Something along the lines of

exten => s,1,Answer()
exten => s,n(selector),Read(SELECTION|please-select-software|1)
; please-select-software should contain something like
; "Welcome. Please select software. Press 1 for"
; "BongoSoft Exploder, 2 for ..."
exten => s,n,GotoIf($["${SELECTION}" = "1"]?bongosoft)
exten => s,n,GotoIf($["${SELECTION}" = "2"]?product2)
exten => s,n,GotoIf($["${SELECTION}" = "*"]?operator)
exten => s,n,Playback(sorry-please-try-again)
; sorry-please-try-again should contain something like
; "sorry, we could not understand that. You will have"
; "to press a digit for us to help you"
exten => s,n,Goto(selector)
exten => s,n(bongosoft),VoiceMail(1)
exten => s,n,Playback(thank-you)
exten => s,n,Hangup()
exten => s,n(product2),VoiceMail(2)
exten => s,n,Playback(thank-you)
exten => s,n,Hangup()
exten => s,n(operator),Dial(SIP/sip501&SIP/sip501&SIP/sip503,60)
exten => s,n,VoiceMail(0)
exten => s,n,Hangup()

in your extensions.conf, and the rest (sip.conf / zap*.conf /
voicemail.conf) fairly standard setup.

Just to give you an idea - you can also do multiple-stage IVRs, and
easily too.

The recording of messages could be done by means of the asterisk voice
mail system (which allows tons of options) - probably could do exactly
what you want, and attach voice mail to e-mails if needed, or via
scripting, upload them to a web server. You could even listen to
messages via a good old telephone ;-)

But there is still a question: Why do you want to do this? I just have
doubt that your customers really like to call your hotline just to leave
a message - if the system does not even offer the slightest chance of
ever speaking to a real human anyway. Would they not better talk to a
human, which could allow for interaction, questions back to the user
etc.? You could use queues for load (call) balancing with a flexible
number of available employees - and still redirect them to voicemail if
their call could not be handled within 60 seconds or the "night
mode" (no one in the office) is active.

With fast internet connections nowadays even remote agents could use SIP
(soft-)phones to take calls being millions of meters away from your
asterisk box.

HTH,
Anselm




More information about the asterisk-users mailing list