SIP レジストレーションにおけるエッジロケーションへの対応
読む所要時間: 8 分
SIPレジストレーションを行うことで、SIP対応デバイスやソフトフォンをTwilioに直接接続することができます。またProgrammable Voice APIを使用して、複雑なハードウェアやネットワークへの物理接続を必要とせずに、強力なコール処理ロジックを構築することができます。おなじみのTwilioアプリケーションを使って、PSTNやWebRTC/モバイルクライアントと同じようにSIPエンドポイントに接続することができるのです。しかしこれまでは、レジストレーション済みSIPデバイスはグローバルにコールを発着信することができるものの、SIPレジストレーション先は、米国バージニア州アッシュバーン(米国東部)にある当社データセンターに限定されていました。
そのような中、2020年6月に、アプリケーションのパフォーマンス向上視点からのエッジロケーション対応機能を新たに発表しました。またこの新機能を通してお届けした基盤を活用し、更にエンドユーザーのコミュニケーション体験向上に貢献する機能をお届けしたいと考えていました。
そして今回、SIPレジストレーションが、世界中のパブリックおよびプライベートのエッジロケーションに対応できるようになったことをお知らせ致します。これにより、お客様の所在に最も近いエッジロケーションにSIPデバイスをレジストレーションし、デバイス接続のパフォーマンスと耐障害性を向上させることができます。
エッジロケーション経由で登録すると、アプリケーションのパフォーマンスが向上し、以下のようなメリットがもたらされます。
- 遅延とパケットロスを低減し、高速なシグナリングと高品質のメディアストリームを実現
- エッジロケーション間の冗長性確保、また結果として柔軟性と様々な選択肢が増加
- Twilio Interconnectを介したプライベート接続のセキュリティ、サービス品質、可用性の向上
動作概要
Twilioアカウント上でSIPドメインを設定する方法に、変更は一切ありません。TwilioコンソールのProgrammable Voiceの画面でSIPドメインを作成すると、SIPインフラを接続する際に使用するエッジ固有のドメインが自動的に取得されますが、ここにSIPレジストレーション利用も含まれるようになりました。
SIPエンドポイントのレジストレーション
今回機能により、SIPエンドポイントをレジストレーションする際、世界中のエッジロケーションのいずれかを使用することができます。どのエッジロケーションでもレジストレーションできますが、通常は、デバイスの所在に物理的に最も近いエッジロケーションにレジストレーションし、遅延、ジッタ、パケット損失の低減を狙います。また、フェイルオーバー、ロケーションの変更、その他の理由で、必要に応じてエッジロケーションを切り替えることもできます。
Twilioでは、パブリックおよびプライベートのエッジロケーションを世界中に有しています。
今回機能の登場により、エッジ固有ドメインのフォーマットは以下のようになります。
{domain-name}.sip.{edge-location}.twilio.com
TwilioにおいてSIPエンドポイントのREGISTER
の設定を行う際、レジストレーション先のTwilioエッジロケーションを含むSIPドメインURIを指定します。
お使いのSIPデバイスが構成上、レジストレーションドメインとアウトバウンドプロキシの両方の設定オプションを含む場合があります。その場合は、Twilio エッジロケーションURIをアウトバウンドプロキシに使用し、SIPドメインURIをレジストレーションドメインに使用することをお勧めします。例えば、ドメイン名が「mydomain」で、当社シドニーのデータセンターにレジストレーションしたい場合、以下のSIP URIを使用します。
- レジストレーションドメイン:
mydomain.sip.twilio.com
- アウトバウンドプロキシ:
sip.sydney.twilio.com
SIPデバイスが構成上アウトバウンドプロキシを使用しない場合、レジストレーションドメインとして完全なURIであるmydomain.sip.sydney.twilio.com
を使用してください。
レジスト済みSIPエンドポイント上でコールを着信する
レジストレーション済みSIPエンドポイントを呼び出す際の動作は、他のSIP URIを呼び出すときと基本的に同じです。今回機能の登場により若干異なるのが、SIPエンドポイントのAORレコードが活用される点です。ここで、Programmable Voiceベースの他のSIPコールと同様、コールはアプリケーションによって開始される必要があることに留意ください。
レジストレーション済みSIPエンドポイントを呼び出すときは、一般的なSIPドメインURIを使用します。すなわち、エッジロケーション部分はURIに含まれません。例:
{domain-name}.sip.twilio.com
レジストレーション済みSIP AORを呼び出すとき、Twilioでは、そのAORを使用してレジストレーションされたすべてのSIPエンドポイントを、すべてのエッジロケーションを横断して並行に呼び出すため、呼び出し先のSIP URIにおいて特定エッジロケーションを指定する必要はありません。また、同じAORの下で複数SIPエンドポイントがレジストレーションされている場合、レジストレーションされているすべてのデバイスに同時に着信することに留意ください。なお、各種制限事項を確認されることをお勧めします。
レジスト済みSIPエンドポイントからコールを発信する
レジストレーション済みエンドポイントからTwilio SIPドメインへのSIPコールは、そのドメインに着信したSIPコールと同じように扱われます。INVITEが認証されると、該当のSIPドメインに設定された音声URLを呼び出します。詳細については、“Sending SIP to Twilio” のセクションをご覧ください。
通常、SIPエンドポイントは、レジストレーション先エッジに固有のドメインにINVITEを送信しますが、任意のTwilioエッジロケーションに送信することができます。
{domain-name}.sip.{edge-location}.twilio.com
コールがエッジ固有のTwilioドメインに到達すると、そのドメインに関連付けられたアプリケーションが呼び出されます。PSTNへのコール発信を行いたい場合、SIPレジストレーションのドキュメントにその方法を記載したサンプルコードがありますので、参考にしてください。
アプリケーションのパフォーマンスと耐障害性の向上
多くの企業がグローバルなアプリケーションを構築する中、Twilioではユーザー体験の向上に常に多面的に取り組んでいます。
デバイス接続のパフォーマンスと耐障害性を高めませんか?パブリックのエッジ接続とプライベートのInterconnect接続のリストをご覧になり、お客様に最適なロケーションをご利用ください。
オリジナル英語版ブログ記事の担当者であるビル・ハリソンですが、Twilioのプロダクト部門においてSIPおよび音声接続系のプロダクトマネージャをしております。ビルは日頃、PCAPキャプチャを読み込んだり、SIPについて議論したり、ユースホッケーのコーチをしたり、大好きなボストンのスポーツチームの試合を観戦したりしています。