第1回 Twilioとは

スポンサーリンク

twilioとは?

twilioは、Jeff Lawsonという優秀なエンジニアの方によって作られたシステム。生まれはサンフランシスコ。

ざっくり言うと、twilioは「簡単に電話を操作できるAPI」。

twilioで出来ること

できることは色々とあるけど、例としては下記。

  • 音声を再生
  • 電話の転送
  • カンファレンス(同時に大人数と通話)
  • メッセージの送信
  • 音声の録音、再生

などなど、、、

twilioの仕組み

twilioは、TwiML(Twilio Markup Language)やAPIをにより命令が出されて忠実にその命令に従い実行される。

TwiMLについて

電話やメッセージを受信した時の動作をtwilioに支持するための命令セット。xmlを使って記述する。下記のように様々な命令動詞と名詞が用意されている。

【TwiMLの命令動詞】

  • Say:テキストの読み上げ
  • Play:発信者に音声ファイルを再生
  • Dial:通話を発信
  • Record:通話を録音
  • Sms:メッセージの送受信
  • Hangup:通話を終了
  • Queue:発信者をキューに追加
  • Redirect:コールフローを別のTwiml文章へリダイレクト
  • Pause:次の支持を実行する前にポーズを挿入
  • Reject:着信通話を拒否
  • Message:Send an SMS message reply

【命令動詞Dialの名詞】

  • Number:電話番号の設定
  • Client:Twilioのクライアント名を設定
  • Sip:Sip接続の詳細設定
  • Conference:カンファレンスの指定
  • Queue:キューを指定

この命令動詞や名詞を使ってTwiMLをxmlで組み立てていく。

制約として、TwiMLは<Response>というルート要素をネストして命令を記述していきます。

例えば、「こんにちわ」というアナウンスを流す命令をTwiMLの命令動詞 Say を使って出す場合は下記のように書きます。

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Say>
        こんにちわ
    </Say>
</Response>

TwilioのAPIについて

多くのAPIが用意されている。
詳しくは下記ドキュメントをご参考に。

【APIリファレンス】https://jp.twilio.com/docs/api

twilioのライブラリー

多くの言語のライブラリーが用意されている。

  • PHP
  • Ruby
  • Python
  • .NET
  • Java
  • JavaScript
  • Go
  • Java
  • C++
  • Scala
  • Perl
  • Erlang
  • Adove ColdFusion
  • Adove LiveCycle
  • Mule ESB

と、ざっくりとですが概要はここまで。

スポンサーリンク
スポンサーリンク
スポンサーリンク

フォローする

スポンサーリンク
スポンサーリンク