Request URLに問題が発生したら?より安全な方法でTwilioアプリの運営が可能なフォールバックURL

 

フォールバックURL?

 

Twilioの処理は基本「Request URL」へリクエストを送り、Twilioに関する処理を行います。
その「Request URL」に問題が発生すると。。

 

当たり前でTwilioは正常に動作しません

20140428-01.png

 

上の図のような問題が発生した場合、「フォールバックURL」を設定することでより安全なTwilioアプリの運営が可能です。
Twilio側の設定方法は簡単、「フォールバック URL」の設定だけで解決できます。

 

※ Request URLやフォールバックURLのサーバーはサービス提供側(みなさん)で用意する必要があります。

Twilioからの着信や発信で使われる「TwiML」。

Twilioは基本 Request URLを参照しますが、このRequest URLで障害が発生した場合、フォールバックURLが設定されていたらその URLにリクエストを送ります。
本ブログでは「フォールバックURL」について紹介致します。

 

※ TwiML(Twilio Markup Language)?

TwiMLを一言で説明すると、Twilioを動かす命令語を記述する文書です。

TwiMLの詳しい説明はこちらをご参照ください。→TwiML

 

下記フローのように、フォールバックURLを設定することでTwiMLをより安全に運営できます。
① Request URLにTwilioがリクエストを送ります。
② 何らかのエラーまたはサーバーの障害で接続又は参照できませんでした。
③ 自動的に「フォールバックURL」へリクエストを送ります。
④ TwiMLの取得ができ、Twilioの処理を行います。

 

フォールバックURL

フォールバックURLとは、リクエストURL(Request URL)にTwilioがリクエストを送る際にサーバー側の障害やなんらかの エラーなど、様々な異常で接続(参照)できなかった際に参照されるURLです。

TwilioのリクエストURLとフォールバックURLにそれぞれ違うサーバーを使って同じファイルを格納。
そのURLをTwilioのフォールバックURLと、リクエストURLに設定で終わります。

 

フォールバックURLの設定(管理画面から)

Twilio管理画面へログイン後、下記のメニューから設定可能です。

メニュー:電話番号 → アクティブな電話番号 → 音声通話の「追加音声通話設定(Optional Voice Settings)」

左側の画面

「追加音声通話設定(Optional Voice Settings)」をクリックします。

右側の画面

オプション入力欄が表示されますので、「フォールバックURL」に「Request URL」に設定されているURLと 違うURLを設定します。

 

※ 障害時に実行させるTwiMLの内容は同じ(変更可能)だが、環境(サーバー)は違う事を推薦します。

※ 設定内容の変更後は「保存」を忘れずに。

  20140428-02.png20140428-03.png

 

フォールバックURLの設定(API経由)

下はTwilio契約電話番号情報をアップデートするサンプルです。

今回のフォールバックURLだけではなく、電話番号の様々なオプション変更が可能です。

※ 設定可能なオプションはこちらをご覧ください。

電話番号オプションの変更方法
  1. 電話番号 Sidを 12行目に設定。
  2. 変更オプションを記述。
  3. 実行
電話番号Sidについて

上のサンプルコード 12行目に PN から始まるコードを設定します。

※ PNから始まるコードは「電話番号Sid」を意味します。

電話番号SidはTwilioの電話番号管理画面でも確認できますが、API経由でも簡単に取得可能です。

下がAPI経由で「電話番号Sid」を取得するサンプルコードです。

上のサンプルコードを実行するとアカウントに設定(契約)されている電話番号リストと電話番号 Sidが検索されます。

  20140428-04.png

 

このようにTwilioは管理画面やRESTful APIで提供しています。
API経由で電話番号の購入や削除、オプションの追加、変更、削除なども可能になっています。
且つ様々なプログラミング言語のライブラリを提供しています。
Twilioで提供しているライブラリを使えばプログラミング言語でより柔軟なTwilioアプリケーションの開発が可能です。

試してみましょう!

Twilioの管理画面より「Request URL、フォールバックURL」を設定します。

  • Request URL:http://xxx.xxx.xxx.xxx/twiML/twiml-sasdfefewfay.xml → 存在しない経路(ファイル名)を設定します。
  • フォールバック URL:http://xxx.xxx.xxx.xxx/twiML/twiml-say.xml → 正しい経路を設定します。

  20140428-05.png

 

上のように設定されている電話番号に電話をかけると「Request URL」ではエラーになりますが、正常に処理されることを確認できます
下の画面はTwilio管理画面のログから確認できるコールの詳細情報です。
表示されているとおり、上のPOST(Request URL)は「404」エラーになっていますが、 下のPOST(フォールバックURL)が正常に処理されていることを確認できます。

  20140428-06.png

まとめ

  • Twilioの「フォールバックURL」を設定すればTwiMLをより安全に運営できる。
  • 設定方法は管理画面やAPI経由で簡単。
  • PNから始まるコード、「電話番号Sid」で電話番号の管理が可能。
  • Twilioは様々なプログラミング言語のライブラリを提供している。

いかがでしょうか?

TwilioのフォールバックURLの設定でシステムの安全性を高めてみませんか?

フォールバックURLの設定で、より安全なTwiMLの運営が可能です。

是非、試してみてください。

 

 

この記事をシェア


最新記事

すべての記事へ