[asterisk-users] IVR platform for a mobile operator

A J Stiles asterisk_list at earthshod.co.uk
Wed Jan 9 11:16:25 CST 2013


On Wednesday 09 January 2013, luke devon wrote:
> Hi Friends , 
> 
> I want to setup a IVR platform using asterisk to a mobile operator. 
> 
> Can somebody give me some guides with recommended hardware types ?

Well, IVR is created in your dialplan  (extensions.conf).  Unfortunately, 
without seeing anything resembling some kind of a plan for how you want your 
IVR to be, it's impossible to say anything concrete about how to achieve it.


So the following is as much as anyone can really say about how to write a 
voice menu-driven app.


"VPJB" is the Very Primitive Juke Box; so called because it has only 2 songs.  
They are /songs/track01.mp3 and /songs/track02.mp3.  (You'll have to supply 
the music yourself).  You will also need to create two more sound files  
(easiest way probably is to leave them as voicemail messages for yourself, 
then cp the relevant format files to /var/lib/asterisk/sounds/en/ -- assuming 
the sounds are in English.  Replace "en" by your own language code, if not).  
"ajs_juke01" is "Press 1 to hear ___.  Press 2 to hear ___. Press any other 
key to exit".  "ajs_anykey" is "Press any key to stop the music and return to 
the menu".  You start it by dialling 882.

It's not really intended as an app in its own right  (it gets boring very 
quickly),  but rather as a demonstration of the essential features of writing 
a dialplan app.  And once you understand it, it's actually fairly easy to 
extend.  Just implement each menu "page" as a context modelled on [vpjb].

[default]
; .....
; 882 = very primitive juke box
exten => 882,1,Goto(vpjb,s,1)
; .....

;;;;;;;;;;;;;;;;;  VERY PRIMITIVE  JUKE BOX CONTEXT  ;;;;;;;;;;;;;;;;;
[vpjb]   
exten => s,1,Background(ajs_juke01)
exten => s,n,WaitExten(1)
exten => s,n,Goto(1)

exten => i,1,Hangup()

exten => 1,1,Background(ajs_anykey)
exten => 1,n,MP3Player(/songs/track01.mp3)
exten => 1,n,Goto(vpjb,s,1)

exten => 2,1,Background(ajs_anykey)
exten => 2,n,MP3Player(/songs/track02.mp3)
exten => 2,n,Goto(vpjb,s,1)

exten => _X,1,Hangup()


-- 
AJS

Answers come *after* questions.



More information about the asterisk-users mailing list