我目前有一个Vonages的问题。此问题在通过inline处理调用时特别发生,我正在使用文档中的python代码片段,当我将来自代码片段的代码粘贴到我的脚本中时,您可以找到这里。,调用只会播放第一个操作并挂起,当试图更新该调用时,我会收到以下错误:
vonage.errors.ClientError: 400 response from api.nexmo.com
我已经搜索了好几个小时,但是找不到有类似问题的人,也找不到另一个有此功能实现的人。
我的代码如下:
import vonage
client = vonage.Client(
application_id="<ID>",
private_key=r"private.key",
)
voice = vonage.Voice(client)
response = voice.create_call({
'to': [{'type': 'phone', 'number': "<mynumber>"}],
'from': {'type': 'phone', 'number': "<vonagenumber>"},
"ncco": [
{
"action": "talk",
"text": "This is just a text whilst you tranfer to another NCCO"
}
]
})
response = voice.update_call(
response["uuid"], {
"action": "transfer",
"destination": {
"type": "ncco",
"ncco": [{"action": "talk", "text": "hello world"}]
}
}
)
print(response)我不知道如何处理这个错误,因为它没有在vonages文档中定义,但我猜它会发生,因为在脚本试图更新said调用时,调用已经结束。遗憾的是,vonage并没有给出如何处理这个问题的任何信息,而且文档中只有这个代码片段不起作用,或者至少是不完整的。
发布于 2022-06-08 08:56:45
您有一些比赛条件问题,第一个NCCO,因此调用,可能结束之前,您的转移发生。如果您只是在测试,您可以向第一个NCCO添加一个流操作,以使该调用保持活动:
[
{
"action": "talk",
"text": "This is just a text whilst you tranfer to another NCCO"
},
{
"action": "stream",
"streamUrl": [
"onhold2go.co.uk/song-demos/free/a-new-life-preview.mp3"
],
"loop": "0"
}
]第二,如果您在呼叫完成后立即进行呼叫转移,则可能还没有设置呼叫。您可以在这两个调用之间添加一个睡眠来弥补这一点。在处理正常调用时,您不会真的遇到这些问题。我们将更新python片段以反映这一点。
https://stackoverflow.com/questions/72532406
复制相似问题