アスタリスク付き基本的なIVR
毎週共有
こんにちは皆さん、私はエム、新鮮なブートキャンプの卒業生とITヘルパー(私はまだプログラマを呼び出すことを敢えてしないでください)です.毎週金曜日に、私は先週、私はあなたからのフィードバックを得るために入札し、プログラマになるために私の旅を記録入札で行われた仕事の一部を共有します.
以前
導入
今日、私はどのように我々は簡単な対話型音声応答(IVR)を行うことができます共有したいと思います.私はあなたがそれといくつかの恐ろしい経験を持っている可能性があります知っているが、それは奇妙な楽しい経験をするときに電話であなたの声を聞いて話をする.
どのような対話型の音声応答(IVR)メニューですか?
IVRのためのアスタリスクを通して我々自身のオーディオトラックを記録すること
ffmpeg
の部分を通過するつもりはない.代わりに、私はRecord
DialPlanアプリケーションを介してすべてのIVRオーディオトラックを記録するつもりです. [transport-udp-nat]
type = transport
protocol = udp
bind = 0.0.0.0
[calling](!)
type=endpoint
context=interaction
allow = !all, ulaw, alaw
direct_media=no
trust_id_outbound=yes
rtp_symmetric=yes
force_rport=yes
rewrite_contact=yes
device_state_busy_at=1
dtmf_mode=rfc4733
[auth-userpass](!)
type = auth
auth_type = userpass
[aor-single-reg](!)
type = aor
max_contacts = 1
[7000](calling)
auth=7000
aors=7000
callerid = 7000 <7000>
[7000](auth-userpass)
password = 7000
username = 7000
[7000](aor-single-reg)
mailboxes = 7000@main
[7100](calling)
auth=7100
aors=7100
callerid = 7100 <7100>
[7100](auth-userpass)
password = 7100
username = 7100
[7100](aor-single-reg)
mailboxes = 7100@main
延長中の[interaction]
exten = *555,1,NoOp(recording)
same = n,Answer
same = n,Record(record/greeting.wav)
same = n,Playback(vm-received)
same = n,Playback(en/digits/1)
same = n,Record(record/press1.wav)
same = n,Playback(vm-received)
same = n,Playback(en/digits/2)
same = n,Record(record/press2.wav)
same = n,Playback(vm-received)
same = n,Playback(en/digits/3)
same = n,Playback(vm-last)
same = n,Record(record/wrong-key.wav)
same = n,Playback(vm-received)
same = n,Playback(en/digits/4)
same = n,Hangup
;exten = _7X00,1,NoOp(Call for ${EXTEN})
;same = n,Dial(PJSIP/${EXTEN})
;same = n,Hangup
exten = 8888,1,NoOp(Call IVR)
same = n,Goto(ivr,s,1)
[ivr]
exten = s,1,NoOp(You are in IVR now)
same = n,Answer ; here is the start of the SIP protocol
same = n(play),Playback(record/greeting)
same = n,WaitExten(10) ; wait 10 seconds for the caller to press key
exten = 1,1,NoOp(Pressed 1)
same = n,Playback(record/press1)
same = n,Goto(s,play) ; go back to 'n(play),Playback(record/greeting)'
exten = 2,1,NoOp(Pressed 2)
same = n,Playback(record/press2)
same = n,Goto(s,play)
exten = i,1,NoOp(unknown key) ; handle invalid keys --> when keys other than 1 and 2 are pressed
same = n,Playback(record/wrong-key)
same = n,Goto(s,play)
exten = t,1,NoOp(Waited too long for exten) ; handle WaitExten timeout
same = n,Goto(s,play)
実装
*555
各オーディオファイルを1つずつ録音を開始します.-最初の'ビープ音'を聞くと、それは挨拶の記録です.
例えば、「呼び出し、英語、プレス1、ドイチェ、プレス2」に感謝します.
-各録音を終了すると、プレスを覚えて
#
保存する.ここでは、記録セクションのシーケンスです
8888
、それはIVRメニューを開始します.結論
今、あなたは自分でIVRのメニューを作った.あなたがタイトに従うならば、あなたは全体のIVRがループであると理解するでしょう.どこに好き242479142 DialPlanアプリケーションを追加するには無料で感じることができる.私がここで強調したいのは、このIVR構造は、物事が反復的であり、別の方法でリファクタリングされることができるので、非常に基本的なものであるということです.より高度なものは、しばらく後に導入されるかもしれませんデータベースとAGI(アスタリスクゲートウェイインターフェイス)の使用.今日はこれで終わりです.また会いましょう.
Reference
この問題について(アスタリスク付き基本的なIVR), 我々は、より多くの情報をここで見つけました https://dev.to/ekim34351855/basic-ivr-with-asterisk-4eljテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol