Dockwilio - Twilioを制御するDockerコンテナ(実験バージョン ) = コンテナ仕様編 =
更新:ver.2015.12.12リリースに伴い一部変更しました。
Dockwilioは、Twilioを使って簡単に架電&音声合成メッセージ再生をすることができるDockerのコンテナです。
仕様を説明します。
仕組みについては概要編を、実行例については簡単手順編を参照してください。
Dockwilioは次の2つの機能を持っています。
実験バージョンでは<Say>動詞1回実行のみサポートします。
コンテナはcentos6がベースで、内部で2つのnginxプロセスが稼働します。
1. 設定ファイル
Twilioの認証情報や発信元電話番号等を設定します。
ファイル名:dwilio.conf
dwilio.conf はYAMLで記述します。
設定する内容については 4.パラメータ で説明します。
2. Dockwilioコンテナの起動
- -d を指定し、detachedします。
- -p 443:443 を指定し、TwilioからのTwiML要求をコンテナにフォワードします。
- -v {設定ファイルのディレクトリ}:/etc/dockwilio:ro を指定し、設定ファイルのあるディレクトリをマウントします。
- イメージは emerry/dockwilio です。
起動例:
docker run -d -p 443:443 -v /dockwilio_config_dir:/etc/dockwilio:ro -v /etc/localtime:/etc/localtime:ro --name dwilio emerry/dockwilio
3. 架電&音声メッセージ要求
架電先電話番号、再生する音声メッセージ等を指定します。
ホスト内からDockwilioのTCP 80番ポートに対し、YAMLまたはJSON形式でHTTP POSTします。
指定する内容は 4.パラメータ で説明します。
4. パラメータ
1.設定ファイル、3.架電&音声メッセージ要求 で設定/指定できるパラメータは下記の通りです。
パラメータ | 機能 | 設定ファイル | 架電要求時 | 備考 |
---|---|---|---|---|
account_sid | Account SID | ○ | ○ | |
auth_token | Auth Token | ○ | ○ | |
from | 発信元電話番号 | ○ | ○ | E.164形式 |
twiml_url_base | ホストのURL | 必須 | N/A | https:で始まりファイルパスは含まない |
basic_user | BASIC認証のユーザ名 | ○ | N/A | 指定しない場合はBASIC認証を行わない |
basic_password | BASIC認証のパスワード | ○ | N/A | 指定しない場合はBASIC認証を行わない |
call_timeout | 呼び出し待ち時間(秒) | ○ | ○ | デフォルトは60秒 |
language | <Say>動詞の言語指定 | ○ | ○ | デフォルトは ja-JP |
voice | <Say>動詞の音声指定 | ○ | ○ | デフォルトは alice |
syslog_facility | syslogのfacility | 必須 | ○ | |
twiml_ssl_crt | TwiMLアクセス用SSL CERTIFICATEファイル名 | 必須 | N/A | 設定ファイルと同じディレクトリに配置 |
twiml_ssl_key | TwiMLアクセス用SSL KEYファイル名 | 必須 | N/A | 設定ファイルと同じディレクトリに配置 |
debug | デバッグ出力フラグ(true/false) | ○ | N/A | デフォルトはfalse |
to | 架電先電話番号 | ○ | ○ | E.164形式 |
say | 音声合成するメッセージ | ○ | ○ |
5. 戻り値
架電処理終了後の戻り値は、架電要求と同じ書式です。
code | status | message | 備考 |
---|---|---|---|
0 | completed |
正常終了 |
|
1 | busy | 話中 | |
no-answer | 無応答 | ||
-1 | canceled | キャンセルされた(システムの問題) | |
failed | 失敗した(システムの問題) | ||
(なし) | Service_Twilio_RestException | ライブラリのエラー(システムまたはプログラムの問題) | |
その他 | エラーと警告の辞書参照 |