こんにちは! IVR-今日では、チップではなく、企業の特定の標準です。 場合によっては、多くの顧客と競合他社の両方が、このIVRが存在しない場合、提供されるサービスの質が「低い」と考えています。 これで誰も驚かないでしょう。 ただし、アスタリスクの下でのlua言語でのIVRの実装について話しているところです。 また、通常のダイヤルプランからLuaに移行する場合は、明確にする必要があります。
メニューに必要なファイルが既にあり、それらが適切なフォルダーにあるとします。 古い設定でも使用されていた可能性があります。 次に、Luaの音声メニューを説明するとき、次のようにします(私はしました)。
ファイルの先頭のどこかにファイルプレートを記述します。 必要に応じて、すべてを1か所で変更すると便利です。
mhold = { m_hello = "custom/message_01";
したがって、ネームプレートで使用されるファイルを示すフィールドについて説明しました。 私の場合-あいさつ文、感謝の言葉、メニュー選択のあるファイル。 また、バックアップ(念のため)オプションがあり、各メニューは独自のファイルに分割されていました...
さらに、最初の記事で、私は着信呼び出しの説明で、関数foo()で呼び出しivr()を示しました。 したがって、実際には私の例では次のように機能しました。
イベント-着信。 foo()を呼び出します。 いくつかの条件の確認->挨拶の再生-> ivr()の呼び出し。 ivr()を呼び出す前にグリーティングを再生しました。
function ivr(d) app.noop(" .") app.noop("DID: "..d) app.background(mhold.m_menu,"","","menu") app.waitexten(3) return end
それほど派手な機能ではありません。 ここのapp.backgroundは、アスタリスク音声メニューのコアからの呼び出しです。 ただし、同時に、拡張機能でメニューイベントの説明を作成する必要もあります。
menu = { ["1"] = function(c,e) app.noop("Calling from menu by 1") app.playback(mhold.m_thx) CallSKS()
同時に、from_trunkの着信呼び出しの説明では、タイムアウト処理を追加する必要があります。そうしないと、必要な時間内にクライアントが選択を行わなかった場合、クライアントは短いビープ音を聞き、アスターコンソールにコード実行エラーが表示されます。
from_trunk = { t = function() app.playback(mhold.m_thx) app.goto("local_ext","7090",1) end;
すべてはIVRに関係しているようです。 もう1つ、呼び出し時間の制限があります。 はい、残念ながらこれをしなければなりませんでした。 会社には別々のショットがありましたが、長距離で数十分間、そして1か月間-友人、ガールフレンド、兄弟などと何時間もチャットしていました。 もちろん、そのような人々はルーブルで罰せられましたが、リーダーシップの位置は仕事で働くことが必要であるほどでした。 彼らは時間内に話者を制限するように頼んだ。 次の例は、方向サンプリングを使用して、これをグローバルに実行する方法を示しています(おそらく最良のオプションではありません)。
この場合、ダイヤル番号の文字数で選択しました。 文字数が市の文字数を超えて、市のコードを除いている場合、これは長距離電話です。 セルラーローカルのものは個別に処理されるため、この規則の対象にはなりません(DEFコードに関する前回の記事)。 しかし、細胞間-ヒット。 私の例では、10分の制限があります。 7分(または8分)すると、発信者に軽いビープ音が聞こえます。 この機能では、特定の「悪役」のみの処理を追加できます。 これらの悪人はできますか
テーブルに入れて、それをすでに調べますが、そこからデータをmysqlデータベースにプルすることができ、誰にとっても便利です...
それだけです さようならみんな!