0

以下のユースケースをアスタリスク + adhearsion で実装する必要がありますが、その方法がわかりません

お客様から電話がかかってきたとき。エージェントがビジー状態の場合、利用可能なエージェントのリストをチェックします。コールをタイムアウト付きのキューに入れる必要があります。指定されたタイムアウト内にエージェントが解放されない場合、コールはハングアップします。それ以外の場合、コールはエージェントにルーティングされます。

このフローを実装する方法について何か考えはありますか?

4

1 に答える 1

2

これを実装するにはいくつかの方法があります。あなたのアプローチは、エージェントが利用可能かどうかをどのように知るかによって大きく異なります。私がお勧めするのは:

  • 着信
  • Adhearsion ルーター、通話をインバウンド通話コントローラーにルーティングします
  • これは、バインドされたコントローラーでエージェントのリストをチェックします
  • エージェントが応対可能で通話中でない場合は、「dial」コマンドを使用してエージェントに電話し、2 つの通話に自動的に参加できます。
  • エージェントが対応可能で、アクティブな通話がある場合は、「参加」を使用できます
  • 利用可能なエージェントがいない場合は、"play" コマンドを使用して保留音楽を非同期で再生し、エージェントが利用可能かどうかを確認し続けます。
  • エージェントが応答可能であることを検出したら、保留音を「停止」して、エージェントにコールをダイヤルできます。

どのエージェントが対応可能かを判断するには、何らかのエージェント リストと、エージェントが電話を受けるたびに更新する関連ステータスが必要です。別の方法として、この情報の一部を asterisk extensions.conf ファイル、または PIAF を使用している場合は DB から直接取得することもできます。

このようなものを書くために必要なコード例のほとんどは、Adhearsion の Web サイトで提供されています。http://www.adhearsion.com/docs

編集:

これにアプローチするより良い方法は、ElectricSlide 呼び出しキュー モジュールを使用することです。最近は多くの作業が行われており、現在はかなり安定した通話キューになっています。

https://github.com/adhearsion/electric_slide/


于 2014-07-02T12:59:38.247 に答える