gpt4 book ai didi

python - 如何使用 Twilio 调用出站 SIP 调用?

转载 作者:太空宇宙 更新时间:2023-11-03 14:34:32 25 4
gpt4 key购买 nike

我使用的是配备 Samsung SIP 设置的 Galaxy 8S Android 手机。我已在电话上成功注册 (Twilio) SIP 帐户。我想向国际 PSTN 号码调用出站电话,而不是向另一个 sip 地址调用电话。

我在 Twilio 上的 SIP 域指向我的 heroku app .

代码是:

@application.route("/makesip", methods=['GET', 'POST'])
def makesip():
to_number=request.values.get('To', None),
client = Client(ACCOUNT_SID, AUTH_TOKEN)
call = client.calls.create(to=to_number, from_="+1415792xxxx", url="https://myapp.herokuapp.com/sipout", method="POST")
return call.sid
#return "OK"

@application.route("/sipout", methods=['GET', 'POST'])
def sipout():
response = VoiceResponse()
to_number = request.values.get('To', None)
dial = Dial(caller_id='+1415792xxxx')
dial.number(to_number)
response.append(dial)
return str(response)

当我用手机调用电话时,它几乎立即挂断,并显示“服务器错误,请稍后重试”。 Twilio 错误日志显示:

We don't support dialing out to global twilio domains (domainname.sip.twilio.com). Only regional (domainname.sip.us1.twilio.com) ones are supported.

我认为我在这里犯了一个非常根本的错误,但我根本无法识别它。有人可以帮忙吗?例如,我应该将“from_”参数设置为“sip:my_sip_address.domainname.sip.us1.twilio.com”吗?

最佳答案

我不是 Heroku 专家,但你的代码看起来与我运行的 php 非常相似,它对此工作得很好。

在您的电话设置中,您的 SIP 服务器是否设置为 user@domainname.sip.twilio.com 还是 user@domainname.sip.us1.twilio.com?应该是后者。我似乎记得当我试图让事情正常运转时遇到了类似的事情

编辑

刚刚又玩了一次我的游戏,我就明白了。您必须通过手机调用电话号码:phonenumber@yourdomain.sip.twilio.com,然后 twilio 将返回 to,格式为 sip:phonenumber@yourdomain.sip.twilio.com

您需要更改这行代码以仅删除数字

to_number=request.values.get('To', None),

我的 php 行是 substr(strtok($to, '@'), 4); 所以无论你的等价物是什么。

关于python - 如何使用 Twilio 调用出站 SIP 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47051757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com