2015-09-07 43 views
1

为什么我得到这个错误“TwiML响应身体太大”。 我尝试像Twilio呼叫添加参数,以获得最新通话状态:Twilio TwiML响应身体太大错误

call = client.account.calls.create({ 
     :url => used_url, 
     :to => to_no, 
     :from => from_no, 
     :method => "GET",        
     :status_callback => "http://xxx/en/update_twilio_call_status", 
     :status_callback_method => "POST", 
     :status_callback_event => ["initiated", "ringing", "answered", "completed"], 
     :if_machine => "Hangup", 
     :timeout => "20" 
     }) 

而且,在我的Rails控制器我有这样的:这里

def update_twilio_call_status 
    @job = TwilioCall.where(:twilio_sid => params['CallSid']).first 
    @job.twilio_status = params['CallStatus'] 
    @job.save 
    render nothing: true 
end 

回答

0

Twilio开发布道者。

的Twilio错误消息在这里更详细的解释:https://www.twilio.com/docs/errors/11750

它说:

可能的原因

  • ,你所服务的TwiML大于64 KB
  • 正在服务中非TwiML

虽然你看起来不像是服务超过64kB的TwiML,但可能是因为你根本没有返回TwiML。

尝试返回一个空的<Response/>标记。

+0

好日子philnash,我对Twilio很新。添加诸如>> [:status_callback,:status_callback_method,:status_callback_event]这样的参数时,我有问题。 我唯一的目的是在调用正在进行时获取由Twilio API发布的最新状态。我是否需要返回XML响应? –

+0

你知道,我不会认为这是问题,只是我的第一个建议给出的错误信息。你只有在回调函数上出现这个错误? 'used_url'做了什么? – philnash

+0

只有在添加[status_callback,:status_callback_method,:status_callback_event]方法时才可以。 “used_url”包含整个XML ....没有使用上述方法时没有问题。当我的GUI正在进行最新更新时,我只需要Twilio API发布“CallStatus”。 –