2011-07-21 4 views
2

マルチレベルのIVRの例を作成します。ウェルカムメニューでは、あなたの従業員IDを入力するよう求められます。その後、2番目のメニューがあり、前のメニューに戻ることができます。どのようにそれを行うにはどのようなアイデア?アスタリスク:マルチレベルのIVRの例を作成

私はまだマルチレベルIVRを作成する方法がわからないため、ここでは動作しない疑似コードの例があります。

[TestMenu] 

exten => start,1,Answer() 
    same => n,Log(NOTICE, call starts) 
    same => n,Background(welcomeintro) // welcome menu 

    same => n,Background(welcomeoption) // options that your have 
    same => n,WaitExten(5) 

exten => 0,1,Playback(digits/0) ; if enter 0, play back the welcome menu 
same => n,Goto(TestMenu,start,1) // ??? is it ok ? and suppose that I want to skip to Background(welcomeoption) part directly ? 

// if 1 is enterred, lets ask for employeeid 
exten => 1,1,Playback(digits/1) ; 
same => n,Playback(askemployeeid) 
same => n,goto ???? 

exten => i,1,Playback(pbx-invalid) ; invalid 
    same => n,Goto(TestMenu,start,1) 

exten => t,1,Playback(byebye) ; timeout 
    same => n,Hangup() 

[employeeid] 
.... 

employeeidが1〜8で、9が前のメニューに戻るとします。 1-8を入力すると、オーディオファイルを再生して終了します。

+0

これはプログラミングの質問ですか? – Gabe

+0

質問は表示されません。これが機能するかどうかを確認したい場合は、電話回線でテストすることをおすすめします。 – Sriram

+0

はい、それは質問です。私はそれをテストすることはできません。なぜ私は尋ねたものを作成するかわからないからです。私は基本的なダイヤルプランを作成できますが、レベルは1つしかありません。私の質問は、マルチレベルのダイヤルプランを作成する方法です。 –

答えて

2
[TestMenu] 

exten => 0,n,Verbose(1, "Inside test-menu") 
exten => 0,n(TestMenu-start),NoOp() 

exten => 0,n(welcomeIntro-skip-press5),Background(welcomeintro) ;If user presses 5, he skips this. 

exten => 0,n(welcomeIntro-skipped),NoOp() 

exten => 0,n,Background(welcomeoption) 
exten => 0,n,Set(USERCHOICE1=0) ;This is the first choice that the user will enter. 
exten => 0,n,Read(USERCHOICE1,,1,,1,10) ;Read the documentation on Read function to know what this does. 

exten => 0,n,Playback(enteredChoice) 
exten => 0,n,SayDigits(${USERCHOICE1}) 
exten => 0,n,ExecIf($[${USERCHOICE1} = 1]?Goto(askEmpID,0,askEmpID-start)) 

exten => 5,1,Goto(TestMenu,0,welcomeIntro-skipped) 
exten => i,1,Playback(pbx-invalid) ; invalid 
exten => t,1,Playback(byebye) ; timeout 

[askEmpID] 
.... 

suppose that the employeeid is 1-8 
and 9 is for going back to the previous menu. 

and when 1-8 is entered, it will play a audio file and quit. 

これはコードがどのように表示されるかの小さなサンプルです。この作業を行い、要件に合わせて調整することができます。私はそれをテストしていないことに注意してください。

HTH。

+0

ありがとう、私は今夜それを試してみましょう。ほんの少しの質問です。 [askEmpID]で、私は次のようなことをすることができます:[askEmpID] exten => 1,1、Playback(byebye); //終了するには1 exten => 9,1、Goto(TestMenu、0、welcomeIntro-skipped)// 9に戻るmenuに戻る –

+0

'/'はアスタリスクでコメントする方法ではありません。 ';'はです。それ以外はあなたが言うようにすることができます。また、アスタリスクに関する小さなチュートリアルをお勧めします。そうすることを検討したいかもしれません。 – Sriram

+0

私は//がコメントではないことを知っています。私はJava開発者であり、それは習慣です。 –

関連する問題