Dockwilio - Twilioを制御するDockerコンテナ(実験バージョン ) = コンテナ仕様編 =

更新:ver.2015.12.12リリースに伴い一部変更しました。

 

Dockwilioは、Twilioを使って簡単に架電&音声合成メッセージ再生をすることができるDockerのコンテナです。

仕様を説明します。

 

仕組みについては概要編を、実行例については簡単手順編を参照してください。

 

Dockwilioは次の2つの機能を持っています。

  • TwilioREST APIにに対し架電を要求する。
  • 上記要求によるTwilioからのHTTPアクセスに対し、音声メッセージのTwiMLを返す。

実験バージョンでは<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. 架電&音声メッセージ要求

架電先電話番号、再生する音声メッセージ等を指定します。

ホスト内からDockwilioTCP 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. 戻り値

架電処理終了後の戻り値は、架電要求と同じ書式です。

codestatusmessage備考
0 completed  

正常終了

1 busy   話中
no-answer   無応答
-1 canceled   キャンセルされた(システムの問題)
failed   失敗した(システムの問題)
(なし)   Service_Twilio_RestException ライブラリのエラー(システムまたはプログラムの問題)
その他     エラーと警告の辞書参照