IP電話サービス「Twilio」を利用して Ruby から電話をかける

  • 2015年9月2日
  • by 
IP電話サービス「Twilio」を利用して Ruby から電話をかける

「トラブル検知時にメールで通知するだけだと取りこぼしがある可能性がある。」

「エンジニア以外がサーバートラブルを発見したのが夜間だった場合、担当に電話をかけて良いものかわからない。」

などの、お困りな状態が発生してしまったので
「メールがダメなら電話をかければいいじゃない!」
って事で、Twilio + ruby でお手軽実装をしてみました。

事前準備

やる事 :Twilio を利用し発信通話をかける。
省 略 :Twilio のアカウントの作成等の説明。
   実装環境もろもろの説明。

・IP電話サービス「Twilio」
URL : https://jp.twilio.com

・Twilio API & Docs
URL : https://jp.twilio.com/api

Twilio + ruby実装のための作業メモ

1. ruby の「Twilio」ヘルパーライブラリをインストール

※ Twilio は REST API で利用します。
ラッパーであるヘルパーライブラリは ruby 以外にもPython や PHP, C#, Java, noed とSalesforce の Apex code のライブラリも用意されてます。

2. 通話発信のリクエストスクリプトを作成する。

API リファレンスに目を通して作成するのも良いですが今回はスクリプトを作成してくれる「API Explorer」というスクリプトを作成してくれるサービスを利用します。

API Explorer -> 通話 -> 通話をかける

image04

ヘルパーライブラリのリファレンスは下記 URL を参照してください。
https://jp.twilio.com/docs/ruby/install#more-documentation
https://twilio-ruby.readthedocs.org/en/latest/

3. 作成したリクエストスクリプトを利用して通話をかける。

先ほど作成したスクリプトを call.rb というファイルで作成。

ruby call.rb

これだけで発信通話をかける事ができます。
ですがこれはただ発信通話を行うだけの設定です。

ex. 発信通話で指定文字列を読み上げる。
先ほどの「API Explorer」で

image03

を追加します。

追加すると下のスクリプトの項目に

が追加されます。

指定した公開されているURLの場所にTwiML で記述した命令を設置します。
※ TwiML は 通話時の命令などを記述するマークアップ言語です。

命令内容は「しゃべる」だけで作成します。

設置が完了したら

ruby call.rb

を実行させるとメリーさんが電話をかけてきてくれます。。。

※ トライアル版では、発信通話時にトライアル版のメッセージが流れたあとに指定した文字列を読み上げるのでご注意ください。

まとめ

「Twilio」は簡単に電話の制御を行える面白いサービスでした。

トライアル版で料金は公開していませんでしたが無料通話?分がありその範囲であれば試してみる事が可能でした。

文字列を読み上げるだけではなく mp3 の音声ファイルも再生出来るので遊びの幅が広がりそうな匂いがしました。

イタズラ心がくすぐられますん。。。

コメント