Twilio Queue

20130710.png

TwilioのQueue機能を紹介します。
<Dial>動詞の<Queue>名詞は、ダイヤルするキューを指定します。 キューへダイヤルすると、発信者は指定したキューに最初に入った通話に接続されます。 キューが空の場合、Dial は次の人がキューに入るのを待つか、タイムアウト時間が経過するのを待ちます。 キューが存在しない場合、Dial は action URL へエラー ステータスを送信します。

Queueの生成

一つの電話番号に対して複数の着信があった場合、着信の電話を一つのキューに入れます。

今回はそれぞれ違う2つの電話番号を用意します。
1つはユーザー側用(050-1xxx-xxxx)で1つはオペレーター用(050-2xxx-xxxx)です。
<Enqueue>より「twilio support」というキューが生成されます。
<Dial>動詞の<Queue>名詞よりキュー「twilio support」に接続します。

ユーザー用(050-1xxx-xxxx)

これで「twilio support」というキューが生成されました。
ユーザーが「050-1xxx-xxxx」に電話をかけると「twilio support」に入りオペレーターからの電話を待ちます。

オペレーター用(050-2xxx-xxxx)

こちらがオペレーター用のtwimlです。<Dial>動詞を利用してキュー名「twilio support」に電話をかけます。オペレーターがこちらの電話番号に電話をかけるとキューに入っているユーザーと順次通話をすることが可能です。もちろん複数人のオペレーターの対応も可能です。

1つの電話番号によるQueueの実装方法

上記のようにPHPなどのプログラミング言語を使いますといろんな形で処理を変えることが可能です。
5行目の「$_POST["From"]」よりTwilioから発信先電話番号を取得します。発信者番号が登録されているオベレーターの電話番号であれば「Queue:twilio callcenter」に電話をかけます。
オペレーターのではなければユーザーと認識し、メッセージの再生後「Queue:twilio callcenter」に参加させます。

このコードを応用すればオペレーターが「Queue」の中で待っている状態にしてユーザーから電話をかけたらオペレーターに繋ぐなどの処理も実現可能です。

まとめ

今回のブログで紹介した方法では<Enqueue>でキューを生成し、ユーザーが電話番号に電話をかけるとどんどん参加するようになっています。オペレーターは<Dial>動詞の<Queue>名詞に電話をかけると<Enqueue>で生成したキューに接続されキューに入った順番で電話を繋ぎます。
下記のページをご覧頂きますとより詳しい情報を取得することが可能です。

この記事をシェア


最新記事

すべての記事へ