Twilio Programmable Voice 系のアップデート


はじめに

みなさん、こんにちは。
KDDIウェブコミュニケーションズの Twilio事業部エバンジェリストの高橋です。

今回は、最近発表された Twilio Programmable Voice 系の以下のアップデートについて解説します。

  1. SIP インターフェースが東京リージョンでもつかえるようになりました。
  2. <Dial> 動詞内に、<Sip> 名詞が列挙できるようになりました。
  3. <Dial> 動詞で、sequential 属性が正式サポートされました。

SIP インターフェースの Edge Locations 対応

Twilio の Programmable Voice には、SIP に対応するための機能として SIP Interface があります。この機能を使うことで、外部の SIP サーバーと Twilio の Programmable Voice を連携させたシステムを構築することができます。
また、SIP Interface には SIP Registration をいうオプションが用意されており、この機能によって SIP サーバーを用意しないで SIP に対応した電話機を利用することなどが可能になります。
SIPレジストを使って、Twilioで固定電話をつかってみる

ただし、この SIP Interface は今まで US1 リージョンにしか対応しておらず、日本で利用すると発信者番号が非通知になったり、通話の遅延が発生したりしました。
SIP Registrationで確実に発信者番号を通知させる

今回、この SIP Interface が Edge Locations に対応したことにより、東京リージョンでも利用できるようになりました。

これでますます SIP Registration が使いやすくなりますね。

<Dial> 動詞内の複数 <Sip> 対応

上記でも說明した SIP 連携ですが、今までは <Dial> 動詞には <Sip> 名詞が一つしかかけませんでした。そのため、同時に複数台の SIP 端末を呼び出したいときは、SIP 端末に同じ SIP ドメインを付与することで対応するしかありませんでした。

<Dial>
  <Sip>sip:[email protected]</Sip>
</Dial>

しかし今回のアップデートで <Sip> 名詞を最大10件まで列挙することが可能になりました。

<Dial>
  <Sip>sip:[email protected]</Sip>
  <Sip>sip:[email protected]</Sip>
  <Sip>sip:[email protected]</Sip>
</Dial>

このように指定することで、2001、2002、2003の端末が同時に鳴動します。いずれか先に取った方と通話が確立し、取らなかった端末の鳴動が停止します(一斉着信)。

<重要>
この <Sip> の列挙を許可するには、管理コンソール上の Programmable Voice の設定画面Enhanced Programmable SIP Features を有効にする必要があります。

<Dial> 動詞の sequential 属性対応

上記のように、<Dial> 動詞内で <Sip> 名詞が列挙できるようになりましたが、この列挙機能は元々 <Number> 名詞や <Client> 名詞でも利用可能でした。

<Dial callerId="+815012345678">
  <Number>+81311111111</Number>
  <Number>+81322222222</Number>
  <Number>+81333333333</Number>
</Dial>

ただ、いずれのケースもすべて一斉着信となります。
今回、<Dial> 動詞に sequential 属性が正式にサポートされることになり、順次着信が可能になりました。具体的には以下のように記述します。

<Dial callerId="+815012345678" timeout="15" sequential="true">
  <Number>+81311111111</Number>
  <Number>+81322222222</Number>
  <Number>+81333333333</Number>
</Dial>

上記のように指定すると、まず最初に+81311111111に電話がかかり、この端末が着信拒否、もしくは応答しないと+81322222222に電話がかかります。このように、一斉ではなく順番に電話がかかるので、順次着信と呼ばれます。timeout 属性を付与することで、応答するまでの時間を指定することができます。
実はこの属性、今までも存在していたのですが、非公式属性になっていたものです。今回のアップデートによって、正式にサポートされることになりました。

この属性は、列挙が可能なすべて名詞で利用が可能ですので、<Number> だけでなく、 <Client> や <Sip> でも利用できます。
詳しいドキュメントはこちらをご覧ください。

まとめ

今回のアップデートによって、SIP 連携機能がだいぶ使いやすくなりました。
とくに SIP 固定電話や、SIP ソフトフォンとの連携の幅が広がるので、ぜひ皆さんも色々と試してみてください。


Twilio(トゥイリオ)とは

https://cloudapi.kddi-web.com
Twilio は音声通話、メッセージング(SMS /チャット)、ビデオなどの 様々なコミュニケーション手段をアプリケーションやビジネスへ容易に組み込むことのできるクラウド API サービスです。初期費用不要な従量課金制で、各種開発言語に対応しているため、多くのハッカソンイベントやスタートアップなどにも、ご利用いただいております。

自己紹介  
高橋克己(Katsumi Takahashi) 自称「赤い芸人
グローバル・インターネット・ジャパン株式会社 代表取締役
株式会社KDDIウェブコミュニケーションズ Twilio事業部エバンジェリスト

2001年より大手通信事業者の法人サービスの教育に携わり、企業における電話のしくみや重要性を研究。2016年よりTwilio事業部にジョインし、Twilioを使ったスマートコミュニケーションの普及活動を精力的に行っている。
2015 Hall of Doers
2019 Twilio Champions