Twilio のドキュメントによると、事前定義されたパラメーターと任意のパラメーターの両方の NSDictionary をconnect
渡して、アプリのサーバー側に渡すことができます。
NSDictionary *params = @{@"Residence":@"Home"};
_connection = [_phone connect:params delegate:nil];
次に、応答するサーバーで、そのパラメーターをキャッチし、それらすべてを記録してから、渡した任意のパラメーターをアプリに「発言」させます。
$response = new Services_Twilio_Twiml();
$response->say("You're Calling");
$fh = fopen(getcwd().'/request.txt', 'w');
foreach($_REQUEST as $key=>$value) {
fwrite($fh, $key.' - '.$value."\n");
}
fclose($fh);
$response->say($_GET['Residence']);
print $response;
通話が発信された後、アプリは「あなたが呼んでいます」と言いますが、そうではなく、私が書いているログにHome
もパラメーターがまったく表示されません。Residence
むしろ、私はすべての通常のものを手に入れます:
AccountSid - ####
ApplicationSid - ####
Caller - client:Anonymous
CallStatus - ringing
Called -
To -
CallSid - ####
From - client:Anonymous
Direction - inbound
ApiVersion - 2010-04-01
私は何か間違ったことをしていますか、それともこの方法で任意のデータを渡すことはできませんか?
アップデート:
私の現在の解決策は、トークンを取得するときに追加の $_GET 変数を渡し、呼び出しが実際に行われたときに取得されるトークンを使用してパラメーターをデータベースに保存することです。理想的ではありませんが、機能します。誰かがより良い解決策を持っているなら、私はそれを聞きたいです. そうでなければ、私はこれから答えを出します。