TwilioからのSIPを受信する

概要

TwilioのProgrammable Voice SIP Interface製品では、既存のSIP通信インフラを使用してTwilioクラウドでのSIPセッションの開始、Twilioの TwiML 言語やREST APIの使用で高度な音声通話アプリケーションを行うことができます。

Programmable Voice SIP ダイアグラム

動作の仕組み

Programmable Voice SIPでは、あなたのTwilioアプリケーションとSIP通信インフラを接続する手段がいくつかあります。

  1. アプリケーションはTwilioのREST APIを使って、SIP通信インフラに対して新規にSIP通話を開始することができます
  2. 着信のPSTNまたはSIPの通話は、<Dial>動詞<Sip>名詞を使用して応答できるアプリケーションを呼び出してSIPエンドポイントとの通話を確立できます。
<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Dial>
    <Sip>sip:jack@example.com</Sip>
  </Dial>
</Response>

はじめましょう

Twilioからあなたの通信インフラへのSIPの受信を開始するには、従うべき主要な手順がひとつあります。 

システムにおけるTwilioのSIP IPアドレスとメディアのポートのホワイトリスト登録

通信インフラが通信をブロックしていないことを確認するには、ホワイトリストを更新する必要があります。 詳細については、こちらをごらんください。

これで、TwilioのIPアドレスはあなたのシステムにホワイトリスト登録され、TwilioアプリケーションはSIPのトラフィックをSIPの通信インフラに送信しはじめることができるようになります。 Twilioを使いはじめて間もない方は、最初のアプリケーションとして<Dial><Sip>名詞からはじめるのが一番でしょう。詳細については、こちらをごらんください。

高度な機能

SIP X-ヘッダー

Twilioによって発信開始のINVITEリクエストに、常に以下のハンドラーが追加されます。 通信インフラ中で、これらのフィールドを任意に使用できます。

  • X-Twilio-CallSid:Twilioによって生成される一意な識別子CAで始まる34文字の文字列です。
  • X-Twilio-AccountSid: あなたのTwilio Account SIDACから始まる34文字の文字列です。

regionパラメーター

Twilioがお客様の通信インフラに対して送信するSIP-outトラフィックの地理的リージョンを指定するには、SIP URIにregionを含めることが必要です。 たとえば、region=ie1パラメーターがSIP URIに含まれる場合、TwilioはSIPトラフィックをヨーロッパのアイルランドリージョンから送信します。

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Dial>
        <Sip>sip:alice@example.com;region=ie1</Sip>
    </Dial>
</Response>
region 所在地
us1 北米 ヴァージニア
us2 北米 オレゴン
ie1 欧州 アイルランド
de1 欧州 フランクフルト
sg1 アジア太平洋 シンガポール
jp1 アジア太平洋 東京
br1 南アフリカ サンパウロ
au1 アジア太平洋 シドニー

regionパラメーターが指定されない場合、TwilioはSIP-outトラフィックを北米ヴァージニアリージョンから送信します。

メモ:

  • SIPのシグナリングおよびRTFメディアトラフィックに対するTwilioリージョンのIPアドレスをホワイトリストに追加していることを確認してください。
  • 登録済みSIPエンドポイントへの発信ではregionパラメーターがサポートされず、存在した場合は無視されます。 SIP-outトラフィックは常にSIPエンドポイントが登録されたリージョンから送信されます。

ヘルプが必要ですか?

誰しもが一度は考える「コーディングって難しい」。そんな時は、お問い合わせフォームから質問してください。 または、Stack Overflow でTwilioタグのついた情報から欲しいものを探してみましょう。