私の Ruby スクリプトが Twilio を介して発信呼び出しを行うとき、Call Sidを見つけて出力し、後で使用するために再利用するのは簡単なことです。
@client = Twilio::REST:Client.new account_sid, auth_token
call = @client.account.calls.create({ :from=>'INC', :to=>'OUT', :url=>'URL', :method=>'GET'})
puts call.sid
これは、私が自分で行う発信通話では問題なく機能します。
問題は、着信通話の通話 SID を取得しようとするときです。
get '/greeting' do
Twilio::TwiML::Response.new do |r|
r.Say 'Hello. Welcome.'
r.Gather :numDigits => '1', :action => '/greeting/handle-gather', :method => 'get' do |g|
g.Say 'For X, press 1. For Y, press 2. For Z, press 3.'
end
end.text
puts Twilio::TwiML::Request.CallSid
CallSid = incoming_Cid
end
その後、incoming_Cid は後で使用できるように MYSQL データベースに保存されます。Twilio::TwiML::Request.CallSid
Twilio がアプリケーションに渡す要求パラメーターを取得する正しい方法かどうかはわかりません。