Twilio API:将连接转移到转接号码?

问题描述

我正在拨出电话,根据 Twilio 呼叫的自动消息,它通过连接呼叫我的电话。

这是拨打电话的脚本。

import os
from twilio.rest import Client


account_sid = "xxxx"
auth_token = "xxxx"
client = Client(account_sid,auth_token)

call = client.calls.create( url='http://myhost.com/rec.PHP',to='+1234',from_='+9876')

print(call.sid)

拨打电话,动作脚本发送 TwiML 收集响应。这是rec.PHP

echo '<Response>
  <Gather input="speech"
        partialResultCallback="http://myhost.com/partial.PHP"
        action="http://myhost.com/finalresult.PHP">
  </Gather>
</Response>

我有记录文本的部分页面。但是当我转接电话时,我的电话会响一秒钟,然后断开连接。调试器中也没有错误

这里是partial.PHP

if(contains("To continue in English",$_REQUEST['UnstableSpeechResult'])){

    echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
          <Response>
           <Dial>+myPhoneNumber</Dial>
          </Response>";
}

这是最终结果,我认为在电话完成后会调用它?我不确定。

if(contains("To continue in English",$_POST['SpeechResult'])){
        echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
                <Response>
                        <Dial>+myPhoneNumber</Dial>
                </Response>";

}

解决方法

根据文档,partialResultCallback 不处理 TwiML。

Twilio 对你的 partialResultCallback 做的 webhooks 是 异步。他们不接受任何 TwiML 作为响应。如果你想 根据这个部分结果采取更多行动,你需要使用 REST API 来修改调用。

鉴于上述情况,不确定您的电话是如何响铃的。您可以提供的更多详细信息将有助于解决问题。