【发布时间】:2016-09-19 14:24:12
【问题描述】:
情况
我将 Twilio iOS SDK 用于我的 iOS Voip 应用程序。
我正在尝试从我的 Voip 应用程序呼叫我在某些点上堆积的任何号码。
我已经确认 Http 请求被发送到我在 url 上设置的应用程序请求 url,无论是当我从我的 Voip 应用程序拨打电话还是接到我的 Voip 应用程序的来电时。
简而言之,当我从我的 Voip 应用程序调用时,我认为这是正确的流程
键入号码并呼叫(iOS Voip 应用程序)-> 调用请求 URL 并将 TwiML 返回到我键入的呼叫号码(我的服务器端)-> 呼叫号码(Twilio 服务)-> 获取呼叫(电话)
问题
-
从 Voip 拨打任何号码的最佳做法是什么?
- 是否可以在Twilio控制台的一个应用程序中分别为呼入和呼出设置不同的请求url,或者我们有办法通过参数来判断是呼入还是呼出?
-
当我想从我的 Voip 应用程序向电话拨出电话时,我应该返回哪种类型的 TwiML?
- 当我设置的请求 url 被调用以从我的 Voip 应用程序调用时,我的服务器端脚本返回
<Response><Dial><Number>090xxxxxxxxx</Number></Dial></Response>,但不幸的是它失败了,并且在 Twilio 通话记录中记录为来电而不是拨出电话。我知道我应该在接到来电时返回<Response><Dial><Client>name</Client></Dial></Response>,但我认为它不适合拨出电话。
- 当我设置的请求 url 被调用以从我的 Voip 应用程序调用时,我的服务器端脚本返回
亲切的问候。
编辑
以下是我收到的从任何电话号码来电到我的 Twilio 号码的请求,以及我返回的 TwiML 以在 Voip 应用程序中呼叫我的 Twilio 号码。它运行良好。
[request]
<QueryDict: {u'FromZip': [u''], u'From': [u'+8190xxxxxxxx'], u'FromCity': [u''], u'ApiVersion': [u'2010-04-01'], u'ApplicationSid': [u'AP192f34d8a08f17592163af2c6cxxxxxx'], u'To': [u'+8150xxxxxxxx'], u'ForwardedFrom': [u'050xxxxxxxx'], u'CallStatus': [u'ringing'], u'CalledState': [u''], u'FromState': [u''], u'Direction': [u'inbound'], u'ToCity': [u''], u'ToZip': [u''], u'CallerCity': [u''], u'FromCountry': [u'JP'], u'CalledCity': [u''], u'CalledCountry': [u'JP'], u'Caller': [u'+8190xxxxxxxx'], u'CallerZip': [u''], u'AccountSid': [u'AC41ebdf749095141bfdb182fbd8fxxxxx'], u'CalledVia': [u'050xxxxxxxx'], u'Called': [u'+8150xxxxxxxx'], u'CallerCountry': [u'JP'], u'CalledZip': [u''], u'CallSid': [u'CA7afa3aae965d9207b7e8b065e9dxxxxx'], u'CallerState': [u''], u'ToCountry': [u'JP'], u'ToState': [u'']}>
[TwiML]
<?xml version="1.0" encoding="UTF-8"?><Response><Dial><Client>name</Client></Dial></Response>
虽然来电运行良好,但下面是从我的 Voip 应用程序通过我的服务器和我返回的 TwiML 到任何电话号码的已调试去电请求。呼叫失败,我确认 Twilio 呼叫日志没有显示“收件人”号码,而“发件人”号码是我用于能力的客户名称。allow_client_incoming(我的客户名称)。 [要求]
[TwiML]
<?xml version="1.0" encoding="UTF-8"?><Response><Dial><Number>090xxxxxxxx</Number></Dial></Response>
【问题讨论】:
标签: ios twilio twilio-api