暇人じゃない

Twilio API 勉強会 Vol.9 に行ってきた
TwilioAPI

結婚のお祝いメッセージを Twilio で集めた話 を読んで面白いなと思ったり、僕は直接関わっていないのですが社内のプロジェクトで Twilio を使っていることもあって、Twilio を勉強するか!ということで Twilio API 勉強会 Vol.9 に行ってきました。

どうでも良いのですが、お祝いメッセージエントリの「一番大事だったのは受話器に流すメッセージで〜」の話は笑ってしまいます。

Twilio について説明を聞いたメモ

  • 通話の品質は高い、しかし高い
  • 米国の番号を利用 -> 世界中に電話ができる、電話を受けられる
  • 二段階認証のコードを送信するために使用されている(SMS)
  • 飲み会脱出サービス -> 有料サービスとのことだが個人で Twilio を使ったサービスを運用するのはだいぶ負担がありそうなので仕方がない
  • TwiML(XML 形式で書かれた Twilio Markup Language というもの) を作成し電話番号の Voice Request URL に設定する
  • 電話番号に対して電話をかけると TwiML に設定した内容(例えば say コマンドで)が流れる

TwiML 使用できる動詞などの説明は以下のページにまとまっています。

もちろん REST API も用意されており、通話や着信はもちろん、サブアカウントの発行、電話番号の作成など管理画面で行える機能の 9 割は API 経由で操作できる模様。

作成できるアカウント数

  • master アカウントは 1 個
  • sub アカウント は 1000 個
  • 一つのアカウントには 1000 個のアプリケーションを作成できる
  • 合計で約 100 万ユーザーまで対応可能
  • 全ての操作を API でできる

ハンズオン

ハンズオンの内容としては、Twilio について説明を受けつつ、TwiML を使って Twilio から電話を発信したり着信したり、サンプルの Web アプリケーションを使用して PC から電話を発信したり着信したり、というようなものでした。

かなり簡単に電話が扱えるのが新鮮でした。

Twilio 側からアクセスできるインターネット上にサーバーを用意する必要があり、勉強会ではお試し用の VPS が提供されていたのですが、僕は t1.micro の EC2 インスタンスに Apache と PHP をインストールした環境を使用しました。10 分くらいで準備できるので便利ですね。

サンプルの Web アプリケーションでは twilio.js という JS ライブラリが使用されており、どうやって Twilio からの着信を検知しているんだろう?と思って見てみたところ、WebSocket が使用されているようでした。

感想

Twilio の最低限の機能(電話の発信・着信)を試すことができました。結構忙しく、ついていくのが大変だったのですが、全てを通して確認することができました。しかし Twitter にポストする余裕はありませんでした。すみません...

最初は iPhone のテザリングでインターネットに接続していたのですが、電話を発信したり着信したりする度にネットワークが切れてしまうため、会場の Wifi を使用させてもらいました。

気になる点といえば、無料トライアルは一定量を超えると終了するらしいのですが、具体的にどれくらい使用したら終了するかが書かれているページが見当たらないので少し心配かな、と思いました。業務で使用する場合はすぐにアップグレードしてしまいそうなので関係無いのかもしれませんが。

ATND の参加者は 11 人で、当日は 10 人が出席したので、とても出席率の高い勉強会で良いな、と思いました。来月は大きめの勉強会を開催するようです。 何か面白いことに Twilio を使えたらなーと思うのですが、なかなか面白そうなアイデアが思い浮かびません... とりあえず Ruby ライブラリを試してみようと思います。

主催された株式会社 KDDI ウェブコミュニケーションズさん、楽しい勉強会をありがとうございました!

勉強会の前に見たエントリ

最低限は知っておかないとついていけなさそうだ、ということで以下のエントリで予習をしました。

About

chocoby (GitHub / Twitter)

フリーのソフトウェア開発者です。 Ruby を使った Web 開発を得意としています。