私がdialplan
欲しいのは、ユーザーが任意のキーを押してファイルをもう一度再生すると、ダイヤルプランで dtmf 値を取得する方法がわかりません。これは私のダイヤルプランです:
[callme]
exten => s,1,Answer
exten => s,n,Playback(demo/${FILENAME1})
最初にDTMF値を取得する方法と、ユーザーが任意のキーを押した場合、再生を2回実行する必要があります.しかし、私はdialplan
.
WaitExten [1] を使用して実行できます。
[callme]
exten => s,1,Answer
exten => s,n,Playback(demo/${FILENAME1})
exten => s,n,WaitExten(3)
exten => s,n,Goto(s,1)
exten => 1,1,Noop(user pressed 1)
exten => 1,n,Goto(however-shall-go-to-when-pressed-1)
exten => 2,1,Noop(user pressed 2)
exten => 2,n,Goto(however-shall-go-to-when-pressed-2)
拡張パターンの使用 [2]:
[callme]
exten => s,1,Answer
exten => s,n,Playback(demo/${FILENAME1})
exten => s,n,WaitExten(3)
exten => s,n,Goto(s,1)
exten => X,1,Noop(user pressed ${EXTEN})
exten => X,n,Goto(however-shall-go-to-when-pressed-${EXTEN})
これがまさにあなたが要求したものです:
[callme]
exten => s,1,Answer
exten => s,n,Playback(demo/${FILENAME1})
exten => s,n,WaitExten(3)
exten => s,n,NoOp(going on - no dtmf detectd)
exten => X,1,Noop(user pressed ${EXTEN})
exten => X,n,Goto(s,1)
バックグラウンドのアスタリスク アプリケーション [3] も参照してください。
参考文献:
[1] http://www.voip-info.org/wiki/view/Asterisk+cmd+WaitExten
[2] http://www.voip-info.org/wiki/view/Asterisk+Dialplan+Patterns
[3] http://www.voip-info.org/wiki/view/Asterisk+cmd+BackGround
アプリケーションの読み取りも使用できます。それは複数回尋ねるので、複雑なダイヤルプランがはるかに少なくなります
[test]
;Read(variable[,filename[&filename2[&...]][,maxdigits[,options[,attempts[,timeout]]]]])
exten => s,1,Read(response,file_to_play,3,,4,10)
;will read into response variable,upto 3 digits and ask upto 4 times, timeout 10 sec
exten => s,2,GotoIf($[ "${response}" == "123"]?pin_ok,s,1)