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 の音声ファイルも再生出来るので遊びの幅が広がりそうな匂いがしました。

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

あなたにおすすめ

仮想環境で『Ansible』を使ってサーバ構築... 最近、サーバ構築を実施する必要がありました。 まずは仮想環境を作り、サーバ構築を……と思ったのですが、私はインフラ周りの経験が浅く、色々困ったことが頻出してしまいました。 今回の記事では、私と同じような “サーバ構築ビギナー” ...
「Puppeteer」+「LINE Notify」でサイトの更新時のみ通知を受け取ってみる... 前回の記事では閲覧数向上が期待できそうなキーワードの「Puppeteer」と「LINE Notify」のそれぞれの解説、およびサイトのサムネイルを通知してみるといった試みを実施してみました。 <bitWave関連記事『「Puppeteer...
Vue.jsで社用登録データフォームを作ってみた... 今回は社内用データ登録フォームを作ろうと思い、初めて「Vue.js」を試してみることにしました。 「Vue.js」は使い方、書き方も簡単で、初心者もすぐ活用できるjsだと思いましたので、この場を借りて共有させていただきます。 なお、...
「Puppeteer」+「LINE Notify」でサイトのサムネイルを通知してみる... 今回は記事閲覧数が期待できそうなキーワードを用いて、ブログを書いてみようかと思います。 そのキーワードとは…… 「Puppeteer」と「LINE Notify」。 「Puppeteer」って何? 「LINE Notify」って...