4

twilio のドキュメントとチュートリアルから、エージェントは誰かがキューに入っていることを認識できないため、これはキューに常に誰かがいて、エージェントがそこに座って一日中フィールド コールを行っている場合にのみ機能します。

目的:

誰かから電話がかかってきたら、電話をエージェントに接続したいと思います。エージェントが対応できない場合は、発信者をキューに追加します。2 人目または 3 人目が電話をかけてきたら、引き続きキューに追加します。エージェントが最初の通話を終了して電話を切ったら、次の通話を開始し、実際にエージェントの電話を鳴らしてエージェントと話します。

私は twilio に本当に慣れていないので、この twiml は悪く、これが機能しないことは既にわかっていますが、これまでに試したことは次のとおりです。

<?xml version="1.0" encoding="UTF-8" ?>
<Response>
     <Enqueue waitUrl="contactagent.php">myqueue</Enqueue>
</Response> 

contactagent.php:

<?php
// Get the PHP helper library from twilio.com/docs/php/install
require_once('../callapp/Services/Twilio.php'); // Loads the library

$sid = "(MYID)";
$token = "(MyToken)";
$client = new Services_Twilio($sid, $token);
$call = $client->account->calls->create($_REQUEST['the caller that's in the queue'], "(the agent's phone number)", "connectagent.xml", array());
echo "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>
<Response>
   <Say>Your are number ".$_REQUEST['QueuePosition']." in line for a representative.</Say>
   <Play>http://com.twilio.sounds.music.s3.amazonaws.com/MARKOVICHAMP-Borghestral.mp3</Play>
</Response>"
?>

connectAgent.xml

<?xml version='1.0' encoding='utf-8' ?>
<Response>
   <Dial>myqueue</Dial>
</Response>
4

1 に答える 1

3

すべてのクライアント呼び出しをキューに入れる必要があると思います (最初のクライアントかどうかに関係なく)。Enqueue を使用して実行します。それならいいです。

次に、エージェントへの通話を開始する必要があります。エージェントの電話番号に電話をかけるように Twilio に指示できます。その命令では、コールバック URL「dial_agent_callback」とステータス コールバック URL「dial_agent_status_callback」を定義します。"dial_agent_callback" コールバックが発生したら (エージェントが応答したことを示します)、Twilio にキューにダイヤルするよう指示します。

<Response>
   <Dial>
      <Queue url="dial_queue_callback">
         myqueue
      </Queue>
   </Dial>
<Response>

エージェントが dial_queue_status_callback でクライアントとの会話を終了したとき (またはエージェントが応答しなかった場合、または問題が発生した場合) を知ることができます。コールバック ステータスは、何が起こったかを示します。

最後に、エージェントへのコールをトリガーするタイミングを把握する必要があります。クライアントの呼び出しが発生したときにイベントをトリガーすることをお勧めします。エージェントがいる場合は、次に利用可能なエージェントに電話します。クライアントがエージェントよりも多い場合は、Twilio API を使用してキュー サイズを確認できます。次に、新しいエージェントが参加したとき、またはビジー状態のエージェントがクライアント コールの処理を終了したときに、エージェントへの新しいコールをトリガーできます。

それが役立つことを願っています。

于 2013-08-25T18:54:43.693 に答える