Voice Insights機能、より一層使いやすくなっています!
読む所要時間: 15 分
Twilio VoiceサービスのVoice Insights機能に関するドキュメントをご覧になるのが久しぶりという方もおられるでしょう。あるいは、RSSリーダーを設定してTwilioのchangelog*1からの通知内容をチェックしたり、Twitter上でTwilioのchangelogをフォローしたりする時間がないという方もおられるでしょう。でも大丈夫です。本稿では、過去数か月の間にVoice Insightsに追加された新機能を分かりやすくご案内いたします。
(*1 日本語翻訳による補足説明は、こちらからご確認いただけます。英語オリジナルと併用のうえ、ご活用ください。)
Voice Insightsダッシュボード多次元フィルター
Twilioコンソール(管理画面)のVoice Insightsダッシュボード(コンソール>Monitorタブ>Insights>Calls)には、以前から多次元フィルターが搭載されていましたが、フィルタービルダー(フィルターを設定する画面部分)はもう一息という部分もありました。例えば、多次元でフィルタリングを行いたい場合でも、特定の国を通話先(To)とするか発信元(From)とするかのどちらかを選択する必要があり、混在させることはできませんでした。これに対し、Twilioではバックエンドに変更を加え、異なる方向性の次元(dimensions)を混在できるようにしました。また、フィルタービルダーのインターフェースをMessaging Insights機能のそれと同じものになるように更新しましたので、Messaging Insightsをご利用の方はVoice Insightsも違和感なくご利用いただけます。
Voice Insights Advanced Features(高度機能)とVoice Traceの設定ステータスを、Settings API(設定系API)でプログラム的に管理できるようになりました。Settings APIの利用に際して、Voice InsightsのAdvanced Features(高度機能)が有効である必要はありません。
Voice InsightsのAdvanced Features(高度機能)API
Twilioサブアカウントが数十個を超える場合、コンソール画面で高度機能を管理するのは大変なことでした。コンソールでは、アカウントSIDや表示名で検索したり、設定(有効化)ステータスでフィルタリングできますが、それでもコンソールにアクセスする必要はあり、大規模なお客様には必ずしも理想的ではありませんでした。
今回、Settings APIにより、Voice Insightsの高度機能をプログラム的に有効化・無効化できるようになりました。たとえば、新しいサブアカウントの作成スクリプトの一部としてAPI経由でVoice Insightsの高度機能を有効にしたり、あるいは、負荷テスト・障害調査・サービス更新デプロイといった重要な局面の前後で、高度機能を有効化・無効化することができます。また、ISV*2ではそうした制御をお客様企業に公開し、お客様企業が高度なトラブルシュート機能をオプトインベースで有効化できるようにすることで、お客様企業ご自身で利用料の上昇をご納得の上で付加価値機能を利用いただくことが可能となりました。
(*2 SaaSサービス提供者など、配下に更に利用企業を抱えているTwilio利用企業)
Voice Trace(ボイストレース)
Twilioのサポート部門が、音声メディアの診断キャプチャをRTPパケット取得の形で実施させていただく場合があります。お客様からの申告に対処するなかで、通話の流れの把握、キャリアへのエスカレーション、あるいはネットワークパフォーマンスの最適化についてお客様へアドバイスさせていただく、等をときに行います。そのための診断キャプチャ機能がVoice Traceであり、従来よりその有効・無効化はコンソール上で可能となっていました。
今回、Settings APIにより、Voice Traceのキャプチャを、プラットフォーム上でプログラムを通じて機動的に有効化したり無効化したりできるようになりました。例えば、サポートチケットを受け取った段階で(例えば深刻度に応じて)同機能を自動的に有効化し、サポートチケットが解決した段階で自動的に無効化するようなユースケースが可能となります
Voice Insights Call Summary List API(通話サマリの一覧化)
Voice Insights高度機能のCall Summary APIにおいて、クエリパラメータを利用して(通話サマリレコードの)複数リソースを読み込めるようになりました。この機能により、特定の時間範囲、通話状態、通話タイプに加えて、Twilioが通話で問題を検出したかどうか、またはSIPセッションが200 OKではないレスポンスコードで終了したかどうかなど、複数次元でフィルタリングのうえ通話サマリのレコードを取得することができます。
つまり、ある通話について通話サマリのレコードを(とりあえず多めに)取得し、貴社ビジネスロジック内で内容確認し、さらに詳細を確認したいレコードを特定して(絞って)詳細確認するといった必要はもうありません。List APIにクエリパラメータを渡せば、大変な作業の大部分をTwilioが代行し、指定したパラメータに一致する通話サマリのレコードだけをお返しします。なお、Call Summary List APIにアクセスするには、TwilioアカウントでVoice Insights Advanced Features(高度機能)を有効にしておく必要があります。
Conference Insights機能のベータリリース
Conference Summary(会議通話サマリ)とParticipant Summary(参加者サマリ)
Conference Summary(会議通話サマリー)とParticipant Summary(参加者サマリー)では、会議通話のメタデータに複数の視点を取り込み、会議通話の各パラメータを確認したり、参加者関連イベントのタイムラインを調べたり、検出された品質問題を把握したりすることができます(コンソール>Monitorタブ>Logs>Conferences)。[Details]タブ(詳細 タブ; 上記画面キャプチャ)では、会議通話の初期設定に関する会議通話メタデータだけでなく、会議通話中の一般的な品質、地域設定に関連する問題、参加者の行動に基づいた会議通話の健全性を一目で確認できます。Conference Health Report Card(会議通話の健全性レポートカード)には、Twilioプラットフォームが検出した潜在的な問題の概要が表示されます。会議通話の品質問題や予期せぬ動作の申告を調査している場合、一般的な問題が検出されたかどうか、また種別毎に何件検出されたかを一目で確認できます。
「Participant Timeline」タブ(参加者タイムライン タブ; 上記画面キャプチャ)は、会議通話の開始時刻、参加者の参加時刻、品質問題の検出時刻など、各種の会議通話イベントを時系列で視覚的に表現したものです。タイムラインの興味のあるセクションを選択してズームイン(拡大)すると、より詳細な情報を確認できます。多くのイベントが近接して発生している場合に便利な操作です。
Twilioの会議通話はすべてConference Insightsで分析・集計され、参加者の行動(会議通話への関与)を可視化するようになりました。この一環として、一般的な品質や設定の問題を解決するための具体的な推奨情報も提供します。Conference Summary(会議通話サマリー)とParticipant Summary(参加者サマリー)は、すべての会議通話において追加費用なしでご利用いただけます。
Conference Insightsダッシュボード
Conference Insightsダッシュボード(コンソール>Monitorタブ>Insights>Conferences)では、会議通話や参加者の動向をアカウントレベルで確認できます。Conference Insightsダッシュボードのデータは、Conference Summary(会議通話サマリ)とParticipant Summary(参加者サマリ)のレコードを分析・集計して生成され、アプリケーション動作の変化を検出したり、最適化の機会を明らかするために使用できます。
Conference Insightsダッシュボードの[Overview](概要)タブには、他のタブのデータを概要化してプレビューできるようになっており、会議通話の量と通話時間のグラフ、潜在的な問題に基づく全体的な傾向、会議通話の終了理由の時間帯分布が表示されます。≈
[Quality Warnings](品質警告)タブには、ネットワークの伝送部分によって発生する一般的な音声劣化の観点からの会議通話パフォーマンスが表示されます。
[Participant Behavior](参加者の動向)タブでは、実際には開始されなかった会議通話、無言の参加者がいる会議通話、複数の参加者に同じ発信者ID(電話番号)が確認された会議通話が表示されます。また、国別の参加者の分布を表形式で示したり、地図上で表示したりすることができます。([Quality Warnings]タブや[Participant Behavior]タブについては、上記画面キャプチャにおいて各タブをクリックして内容確認してください。)
Conference Insights API
Conference InsightsのConference Summary(会議通話サマリ)とParticipant Summary(参加者サマリー)は、API経由でもデータアクセスできます。Participant Summary APIは、参加者データへのアクセスを会議通話終了後においても提供するAPIです。従来この情報は会議通話が進行中のみAPI経由で取得可能で、これを会議通話終了後においても取得できるよう、日本国内を含め多くのご要望をいただいておりました。Conference Insights APIを利用するには、TwilioアカウントでVoice Insights Advanced Features(高度機能)を有効にしておく必要があります。
Event Streams
各種Insights(知見)データを取得するAPIは確かに便利ですが、対象となるデータや関連するAPI種別の規模が大きくなり、1つのアプリケーションが何十ものAPIエンドポイントとやり取りするようになると、場合によってはHTTP REST API経由のデータ処理も煩わしく感じられるようになります。Twilio Event StreamsはVoice InsightsとConference Insightsといった各イベントを一元化されたデータストリームに流し込み、Amazon Kinesisのような最新技術に代表されるデータインフラストラクチャに届けることを可能にするAPIです。Event Streamsを通じてVoice InsightsとConference Insightsのイベントを購読(Subscribe)するには、TwilioアカウントでVoice Insights Advanced Features(高度機能)を有効にしておく必要があります。
Voice Insights Event Streams v2
Event Streamsに送信されるVoice InsightsのCall Summary(通話サマリー)のイベントが更新されました。v1からの新たな変更点は、Call Summary REST APIが返すパラメータを同等になるようにしたことです。これには、created_time、queue_time、edge_location、queue_time、アプリケーション情報(app.nameやapp.versionなど)、verified_callerやbranded_callの詳細情報を含むtrust objectなどが含まれます。現在Call Summaryイベントタイプの1つを購読しているお客様の場合、新バージョンを利用し、v2に追加された新しいフィールドを受け取るには、購読し直す必要があります。
Conference Summary(会議通話サマリ)とParticipant Summary(参加者サマリ)のEvent Streams対応
Conference InsightsのConference Summary(会議通話サマリ)とParticipant Summary(参加者サマリ)がEvent Streamsに配信できるようになりました。本稿で説明したこれらイベント詳細情報はすべて、Event Streamsを通じてデータパイプラインに配信され、正規化された配信イベント情報として各種アプリケーションでご利用いただけます。
まとめ
この半年ほどの間にVoice Insights機能に関連してお届けした強化項目をの主要部分をご紹介しました。Twilioプラットフォームを利用した確立した通話(+会議通話)について確認されたい内容はほぼすべて、Voice InsightsとConference Insightsの機能としてご用意できているのではないかと思いますし、そのデータアクセスについても、コンソール画面、REST API、Event Streamsと、選択肢として提供できているのではないかと思います。これらの機能強化は、お客様企業がTwilioプラットフォームで各種の通話系データをより簡単に扱えるようにと実施しました。ご質問やお困りごとがありましたら、お気軽にご連絡ください。
コミュニケーションの未来を構築しましょう!
Michael Carpenter(またの名をMC): テレコムAPIの専門家。2001年からソフトウェアによる通話技術に取り組む。TwilioのVoice & Video Insightsのプロダクトマネージャーであり、現在はAPI、SIP、WebRTC、モバイルSDKの交わりに強く関心を寄せている。Depeche Modeの大ファン。連絡先: mc@twilio.com