我是Rails和Twilio的新手,我正在尝试运行Twilio Appointment Reminder示例代码。我能够拨打电话,但无法从Twilio获得有关呼叫者按下的数字键的任何反馈。
调用完成后,运行提醒TwiML:此处Gather命令应提示Twilio记录来自呼叫者的单个数字输入:
xml.instruct!
xml.Response do
xml.Gather(:action => @post_to, :numDigits => 1) do
xml.Say "Hello this is a call"
xml.Say "Please press 1 to repeat this menu. Press 2 for directions. Or press 3 if you are done."
end
end
按下数字后,Twilio应该在控制器中POST到我的指示命令:
def directions
if params['Digits'] == '3'
redirect_to :action => 'goodbye'
return
end
if !params['Digits'] or params['Digits'] != '2'
redirect_to :action => 'reminder'
return
end
@redirect_to = BASE_URL + '/reminder'
render :action => "directions.xml.builder", :layout => false
end
然而,每次我打电话给自己并输入一个号码时,呼叫都会循环回原始消息。然后我检查了我的日志,显然没有从Twilio发送的“Digits”参数。
有人遇到过这个问题吗?
答案 0 :(得分:0)
通常在这种情况下发生的事情是,由于URL重写或HTTPS重定向等原因,发布的URL会立即发出重定向。 Twilio遵循重定向,并在随后的GET请求中发送standard set of parameters,其中不包含仅在初始POST上发送到<Gather>
操作URL的Digits参数。