SlideShare a Scribd company logo
Titanium + Twilio
JavaScript で電話しよう
about me
 フリーランスの人
 仕事はWeb系とアプリの半分ずつ
 サポート掲示板の主(bot)
 お仕事のご用命は:yagi@toshi.ro
お知らせ
 Twilio UG
 立ち上がりました。
 東京支部をやっております。
 裏切ってないよ!全然裏切ってないよ!
https://twiliojp-ug.doorkeeper.jp/
Why Titanium?
 How I Learned to Stop Worrying and Love
JavaScript
JavaScriptはおもちゃ?
 おもちゃは楽しい。
 JSは楽しい?
 結論:JavaScriptはおもちゃではない。
Why Twilio
 「Twilioがコミュニケーションでトップになったのは、
Twilioがハッカソンに非常に力を入れてきた成果だ。
ときにはTwillioのエバンジェリストが非公式に会場に
姿を見せるだけという場合もあったが、ほとんどあら
ゆるハッカソンにTwillioが何らかの形で参加している
のを私は見てきた」
http://jp.techcrunch.com/2015/07/29/20150728which-programming-languages-get-used-most-at-hackathons/
Why Twilio
 「Twilioは新たに採用した社員に必ず同社のAPIを
使ってプロジェクトを完成させるよう義務付けている。
Twillioの上級エバンジェリストの一人は会社を辞めて
Major League Hackingという学生のハッカソンを
世界中で組織するスタートアップを立ち上げたくらい
だ」
http://jp.techcrunch.com/2015/07/29/20150728which-programming-languages-get-used-most-at-hackathons/
Twilioをアプリから使う
 Twilio Client
 REST API
Twilio Client
 iOS、Android、JavaScript(ブラウザ)
 WebSocketでリアルタイム通信(着信、発信)
 音声の送受信処理
Twilio Client
 認証用のサーバが必要
①セッション開始
②セッション開始
③Capability Token
④Capability Token
Capability Token
 認証用トークン
 外部への発信の可否など認証関連の情報を担う
 IP通話では同じアプリケーションのトークン同士でし
か通話できない
Twilio Client
 TwimlでTwilioとサーバが会話する
①通話したい!
Capability Token
②こんな人来ましたよ
③TwiML「Helloって返事して」
Hello
④自動応答メッセージ
Twilio Client
 TwimlでTwilioとサーバが会話する
①Bさんと通話したい!
どうもAです
②どうします?
③TwiML「Bさん呼び出したら
Aさんにつないで」
④トゥルルルル…
もしもし?
⑤あとはどうぞ
⑥通話終了後
通話完了
何分通話しました
…
さあ作ってみよう
 ハンズオン
 シンプルな電話
 IP通話
 普通の電話
 https://github.com/yagitoshiro/TiTwilioBasicPhon
e
Twilio REST API
 起点が違うだけで、後はClientと同じようにTwimlで
Twilioとサーバが会話する
①Aさんに通話したい!
Capability Token
②いいですよ、どうします?
③TwiML「Helloって話して
Hello
④自動応答メッセージ
Twilio REST API
 起点が違うだけ
①AさんとBさんと通話させたい!
どうもAです
②いいですよ、どうします?
③TwiML「Bさんが出たら
Aさんにつないで」
④トゥルルルル…
もしもし?
⑤あとはどうぞ
⑥通話終了後
通話完了
何分通話しました
…

More Related Content

TitaniumでTwilio