Article

ブログ

2016/09/21

Twilio で新しく登場した Voice Insight

こんにちは、本間です。

先日、ロンドンで Twilio Signal が開催されました。Twilio はこのようなイベントでは毎回大きなニュースを知らせてくれるので、私たち Twilio エンジニアにとっては楽しみなイベントです。

さて、今回は Voice Insight のリリースと Kurento WebRTC の買収が特に日本の Twilio でも大きな影響を受けるトピックでした。

Kurento WebRTC によって変わる Twilio Video

Kurento WebRTC について少し書いておきます。 今までの Twilio Video は完全に ユーザーとユーザーの P2P という構成でしかビデオ通話ができなかったため、同時に接続できるユーザーが数名程度しか増やすことができませんでした。

Kurento WebRTC によって WebRTC の中継サーバが用意されることになります。私たちは進化した Twilio Video でその中継サーバーを通じて相手とリアルタイム通信をすることができるようになるでしょう。これにより、より多くの人たちとビデオ通話をしたり、動画配信といったことができるようになります。

最近 Twilio Video の機能追加が極端に少なかったのは、この買収が割と早い段階から検討されていたからだと私は推測しています。今後の Twilio Video の躍進に期待です。

Voice Insight

Twilio Client は WebRTC を使ってブラウザ電話を実現しています。WebRTC の課題の一つとしてユーザーの通信やマイク環境に大きく依存するという問題があります。何かユーザーが通信周りで問題が起きても、私たちの提供するサービス側の問題ではない場合が多いのです。

その原因を特定するために Voice Insight は使えます。まず新しい Twilio Client 1.4 で色々な原因を教えてくれる新しい Connection イベントが定義されました。warningwarning-clearedイベントです。通話中の Connection の状態変化をキャッチできるようになります。以下、そのイベントに渡ってくる値です。簡単な翻訳と共にご紹介します。

  1. high-jitter: Jitter has exceeded 30 ms for 3 of the last 5 samples. High jitter correlates with poor network connection. High jitter は貧弱なネットワーク環境と強い相関関係にある。ジッタ: ネットワーク通信で、データ伝送にかかる時間が一定せずに到着するデータの順番が乱れる現象

  2. low-mos: Mean Opinion Score (MOS) has fallen below 3.0 for 3 of last 5 samples, indicating a drop in call quality. 低いMOS は 通話品質の低下を示す。 MOS: 圧縮による音質の評価基準

  3. constant-audio-input-level: Audio input level has stayed constant for more than 10 seconds. 10秒以上オーディオ入力レベルが一定のまま。通話されていない。

  4. high-packet-loss More than 1% of received packets were lost in 3 of last 5 samples. High packet loss correlates with poor network connection. 最近の5サンプルのうち3つで受け取ったパケットの1%以上が失われた。多くのパケット損失は貧弱なネットワーク環境と強い相関がある。

  5. high-rtt Round-trip-time for packets has exceeded 400 ms in 3 of last 5 samples. 最近の5サンプルのうち3つでパケットの周回時間が 400ms を超えた

以上の原因をユーザーに掲示することができます。より詳細はドキュメントをご参照ください。

もちろん、ユーザーに掲示するだけではありません。私たちの Twilio の管理画面からその原因をより詳細に分析/特定することができるようになりました。プログラマブル Voice に新しく Insights が追加されています。

clientanalysis

また、通話ログの Client の通話にも、新しくタブが登場しています。これで通話ごとの分析も可能です。便利ですね!WebRTC 通信を深く分析するには、当然 WebRTC の知識 (ICE やシグナリングなど) を知る必要があります。この機会にぜひ WebRTC の知識を深めてみてはいかがでしょうか。

call

それ以外にユーザーに通話品質などを聞くフィードバック API が Twilio Client に内蔵されたり、Insight API が登場して私たちが自由に通話品質のデータを取得できるようになりました。

ところで現在、日本の一部の Twilio アカウントでは Voice Insight が アクセス拒否と表示されて使えない場合があるようです。その場合は Twilio 日本の対応を待ちましょう。

終わりに

今回の Signal は特にWebRTC の部分が強調された発表でした。 WebRTC の登場で私たちのコミュニケーションの形はますます便利になっていくことでしょう。

CallConnect でも 今回発表されたVoice Insight を積極的に取り入れて、ユーザー様の通話品質の向上に役立つヒントを提供できるようにしてまいります。