Twilo如何处理拨号中的超时

时间:2018-03-14 17:38:12

标签: go twilio

我需要记录我的客户的声音,他们试图联系我们的顾问。这应该在超时时发生

  1. 用户来电 - >号码----->如果超时 - >说(记录你的信息) - >在录音结束时,它应该调用recordingStatusCallBack

  2. 用户通话 - >数字 - >接听电话成功 - >在调用结束时,它应该调用方法。不确定我们应该将操作放在数字(statuscallback)还是拨打Action动词?

  3. 为了达到这个目的,我尝试使用以下twiML

    <Response>
       <Dial callerId="+123124" record="true" timeout="10">
      <Number 
      statusCallback="https://<123134>.ngrok.io/ttwilio/callStatusCallBack" 
      statusCallbackEvent="completed" 
      statusCallbackMethod="POST">+1232424/Number>
     </Dial> 
     <Say>Please Record you message</Say> 
       <Record 
         recordingStatusCallback=
          "https://<123134>.ngrok.io/ttwilio/callStatusCallback" 
           recordingStatusCallbackMethod="POST"/>
    </Response>
    

    当超时但是当呼叫成功结束时,这可以正常工作twilio仍然要求用户&#34;请记录消息&#34;

    如何完成这项任务?

1 个答案:

答案 0 :(得分:1)

Twilio开发者传道者在这里。

当没有<Dial>时,action attribute的行为是在呼叫结束后继续使用其下方的TwiML,无论是通过超时还是通过成功呼叫。

如果您将网址添加为action属性,则行为会发生变化,<Dial>将始终在呼叫完成后向action网址发出请求。这里的重要区别在于,将使用DialCallStatus parameter调用URL,该<Hangup/>将是“已完成”,“已应答”,“忙碌”,“无应答”,“失败”和“已取消”之一。通过这种方式,您可以检查呼叫是忙还是未应答,并返回TwiML以记录消息。或者,如果呼叫成功完成,您只需返回{{3}}。

让我知道这是否有帮助。