twilio - 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 所做的 webhook 是异步的。他们不接受任何 TwiML 作为响应。如果你想基于这个部分结果采取更多的行动,你需要使用 REST API 来修改调用。
鉴于上述情况,不确定您的电话是如何响铃的。您可以提供的更多详细信息将有助于解决问题。
推荐阅读
- python - 使用网络抓取从互联网获取股票价格
- javascript - 带有 dataProvider 的 Vaadin-grid-filter 不起作用
- pandas - 替换或从熊猫数据框中提取
- java - 巨大的 org.springframework.boot.loader.LaunchedURLClassLoader 显示内存使用情况及其增长
- javascript - 如果一个列表仅包含一个字符串,则将两个列表与逗号分隔的字符串进行比较
- hadoop - 如何使用 CTE 更新表 - Hive
- typescript - TypeScript 类型别名,用于选择与对象中可能存在或不存在的任意键集匹配的对象的值
- server - 您是否需要专用服务器进行源代码控制?
- python - 熊猫每个给定的时间间隔插入行
- nuget - 无法从项目中获取 NuGet 包