2023年5月1日を持ちまして、株式会社KDDIウェブコミュニケーションズのTwilioリセール事業が終了したため、本記事に記載されている内容は正確ではないことを予めご了承ください。
はじめに
みなさん、こんにちは。
KDDIウェブコミュニケーションズの Twilio事業部エバンジェリストの高橋です。
今回は、Conference に待望の新機能がベータリリースされたので早速ご紹介します。
Conference とは
Twilio Voice には、同時に3人以上で会話ができる Conference 機能があります。この機能を使うことで、最大250人までの電話会議ができます。それ以外にも、コールセンターなどではよく見かける、オペレーターとお客さんの通話をスーパーバイザーが聞く「モニタリング機能」や、オペレーターにだけささやく「ウィスパリング機能」なども実装することができるため、Twilio を使ってコンタクトセンター機能を実装する際には、ほぼ必須のサービスといっても良いでしょう。
Conference 機能を理解するには、電話会議ルームをイメージしてもらうのが一番わかり易いです。
会議室に入った人同士が自由に話ができるイメージですね。会議室には最大250人まで入れますし、マイクをミュートにして入れば、すでに参加中の人たちの会話をモニターリングすることができるわけです。
Conference で不便なこと
このとても便利な Conference なのですが、今まで唯一不満だったのが、会議に参加した人のリストがAPI経由で取れないということでした。いや、正確には**「現在参加中の参加者のリストしか取れない」**ということです。
管理コンソールからは確認ができるのですが、APIからは取得できないんです。
そのため、あとから参加者リストを見たい場合は、Conference に入った際に Webhook を使って別途リストを自前で作り込む必要がありました(実際、管理コンソールから見られるのに、なぜAPIでは見られないのという多くの声を頂きました)。
では、本当にリストが取得できないのかを Twilio CLI を使って確認してみましょう。
今回は、Twilio Flex のログを使って Conference を確認します(Twilio Flex では、Conference を使って転送やモニタリングを実装しています)。
シナリオはこんな感じでした。
- お客様から着電する。
- セールス担当が応答する(この時点で Conference 参加者は2)。
- スーパーバイザーが会話をモニタリングする(この時点で Conference 参加者は3)。
- モニタリングを終了する(この時点で Conference 参加者は2)。
- セールス担当は会話を保留し、スーパーバイザーに転送する(この時点で Conference 参加者は1)。
- スーパーバイザーが転送に応答する(この時点で Conference 参加者は2)。
なので、Conference の参加者は3名で、同時に入室していた最大人数も同じく3名となります。
Conference の参加者リストを取得するコマンドは次のとおりです。
% twilio api:core:conferences:participants:list --conference-sid CF0f43a3b1f5cccedb9edc6eb45d09ab93
No results
予想通り、No results
が戻ってきてしまいましたね。
ちなみに、管理コンソールからは以下のように参加者情報が確認できます。
マスクをしてしまっているのでわかりませんが、1行目と2行目は同じクライアント(スーパーバイザー)になっています。
Conference Insights
で、いよいよここからが本題です。
今回新しく Conference Insights という機能が追加され、管理コンソール上からより Conference に関する詳細な分析情報を取得することができるようになりました。
管理コンソールから確認すると、以下のような概要が表示されます。
Conference Insights の本来の目的は、Conference 内で発生した問題を分析することです。そのため、Conference でよく発生する3つの問題にフォーカスできるようになっています。
- リージョンの設定違いによる問題
- 音質の問題
- 参加者の予期しない行動による問題
ただ、本記事の目的はそこではなく、Conference 参加者のリストがほしいということなので、Insights の機能については別記事にまとめるとして、今回はこの Conference Insights API を使ってリストを取得してみたいと思います。
Conference Insights のAPIドキュメントは、こちらに記載があります。
では、先程管理コンソールで確認した参加者リストと同じデータを取得する Twilio CLI は以下のようになります。今回は必要な項目だけを取得するために、--properties
オプションを利用しました。
% twilio api:insights:v1:conferences:participants:list --conference-sid CF0f43a3b1f5cccedb9edc6eb45d09ab93 --properties=joinTime,durationSeconds,from,to,callDirection
Join Time Duration Seconds From To Call Direction
Feb 18 2022 15:13:35 GMT+0900 74 +8150XXXXXXXX client:sales_2D1 outbound
Feb 18 2022 15:13:35 GMT+0900 96 +8180XXXXXXXX +8150XXXXXXXX inbound
Feb 18 2022 15:14:00 GMT+0900 24 +8150XXXXXXXX client:katsumi_2Etakahashi outbound
Feb 18 2022 15:14:56 GMT+0900 14 +8150XXXXXXXX client:katsumi_2Etakahashi outbound
やった!
APIを使って、すでに終了した Conference の参加者リストを取得することができました。
これで自前で参加者履歴を収集しなくてもよくなりますね。
まとめ
今回利用した Conference Insights はパブリックベータという位置づけになります。Conference 自体は分課金の従量性となりますが、Insights については現時点では無料でご利用いただけます。
また、先程も少し書きましたが、Conference Insights の本来の目的は音質の管理です。すなわち、コールセンター・コンタクトセンターにおける音質劣化の原因を効率よく見つけていくことが可能になります。
Twilio(トゥイリオ)とは
https://cloudapi.kddi-web.com
Twilio は音声通話、メッセージング(SMS /チャット)、ビデオなどの 様々なコミュニケーション手段をアプリケーションやビジネスへ容易に組み込むことのできるクラウド API サービスです。初期費用不要な従量課金制で、各種開発言語に対応しているため、多くのハッカソンイベントやスタートアップなどにも、ご利用いただいております。