问题描述
我正在拨出电话,根据 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 来修改调用。
鉴于上述情况,不确定您的电话是如何响铃的。您可以提供的更多详细信息将有助于解决问题。