twilio应用程序到应用程序调用不起作用

2024-09-30 14:24:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我用Python在eroku上设置了TwiMl。 当我从用户B给用户A打电话时,用户A也没有接到电话和VOIP,而用户B收到的是“谢谢您的来电”这样的bot消息。在

当我试图从PostMan向用户B发送placeCall时,用户B收到了呼叫,并收到了bot消息,如“谢谢您的来电”。在

邮递员URL:https://myapp.herokuapp.com/placeCall

我的要求是当我从应用程序中调用用户A时,用户B将得到调用,并且两者都能够通信。在

要求

Flask==0.10.1
Jinja2==2.7.3
MarkupSafe==0.23
Werkzeug==0.9.6
httplib2==0.9
itsdangerous==0.24
six==1.*
twilio
wsgiref==0.1.2

这是我的pythontwiml代码。在

^{pr2}$

错误日志

enter image description here

twilio仪表板上的TwiML设置

请求URL:https://myapp.herokuapp.com/outgoing

请让我知道,有什么我错过配置或我做错了什么。在

配置TwiML的教程是Here


Tags: 用户httpscom消息urlbotherokuappmyapp
2条回答

Twilio开发者布道者。在

我不确定你是在开发iOS还是Android应用,但想法是一样的。当您使用如下代码进行调用时,例如在iOS quickstart in Swift的示例中:

TwilioVoice.sharedInstance().call(accessToken, params: [:], delegate: self)

您应该在该调用中发送一些参数,例如正在调用的客户端标识。e、 g

^{pr2}$

然后,Twilio将调用您在TwiML应用程序中设置的URL。在快速启动中,url应该是/outgoing,在快速启动应用程序中,您将获得一个示例语音消息。要调用另一个应用程序,您需要从/outgoing返回不同的响应。在本例中,您需要将^{}与嵌套的^{}一起使用,并使用调用时传递的To参数。在

在Python/Flask中,这看起来像:

@app.route('/outgoing', methods=['GET', 'POST'])
def outgoing():
    resp = twilio.twiml.Response()
    dial = Dial()
    dial.client(request.form['To'])
    response.append(dial)
    return str(resp)

我注意到,在关于这个问题的评论中,您将TwiML应用程序的URL改为/placeCall。确保将其改回/outgoing。在

告诉我这是否有用。在

placeCallreturn语句中尝试以下代码

return str(
        '<?xml version="1.0" encoding="UTF-8"?><Response><Dial><Client>' + IDENTITY + '</Client></Dial></Response>')

相关问题 更多 >