来自 iOS 的 Twilio 拨出电话

Twilio Outgoing call from iOS

情况

我将 Twilio iOS SDK 用于我的 iOS Voip 应用程序。

我正在尝试从我的 Voip 应用程序呼叫我在某些点上堆叠的任何号码。

我已经确认 Http 请求已发送到我在 url 上设置的应用程序请求 url,无论是当我从我的 Voip 应用程序拨出电话还是接到我的 Voip 来电时申请。

简而言之,以下是我从我的 Voip 应用程序呼叫时认为正确的流程

type the number and call (iOS Voip Application ) -> the request url is called and returns TwiML to call number I typed(my server side) -> call to the number(Twilio Service) -> get call(phone)

问题

  1. 从 Voip 呼叫任何号码的最佳做法是什么?

    • 我可以在Twilio控制台的一个应用程序中分别设置不同的请求url来电和去电,或者我们有办法通过参数判断是来电还是去电?
  2. 当我想从我的 Voip 应用程序向 phone 拨出电话时,我应该 return 哪种 TwiML?

    • 我的服务器端脚本 returns <Response><Dial><Number>090xxxxxxxxx</Number></Dial></Response> 当我设置的请求 url 被调用以从我的 Voip 应用程序调用时,不幸的是它失败了并且没有记录为去电但作为 Twilio 通话记录中的来电。我知道在接到来电时我应该 return <Response><Dial><Client>name</Client></Dial></Response> 我认为这不适合去电。

亲切的问候。

编辑

下面是我收到的从任何 phone 号码到我的 Twilio 号码的来电请求,以及我 return 在 Voip 应用程序中呼叫我的 Twilio 号码的 TwiML。效果很好。

[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 应用程序到任何 phone 号码的传出呼叫请求,通过我的服务器和我 returned 的 TwiML。它无法呼叫,我确认 Twilio 呼叫日志显示没有 'To' 号码,而 'From' 号码是我用于 capability.allow_client_incoming(我的客户名称)的客户名称。 [要求]

[TwiML]
<?xml version="1.0" encoding="UTF-8"?><Response><Dial><Number>090xxxxxxxx</Number></Dial></Response>

这里是 Twilio 开发人员布道者。

如果我是你,我会通过 Twilio Client quick start for iOS 向你展示构建它的各种方法。

回答您的问题。

  1. Twilio Client不能用同一个号码设置不同的入站和出站请求URL,但是可以通过checking the direction parameter.[=15判断是入站还是出站=]

  2. 您应该使用 <Dial><Number> 出站 VOIP 号码。我不知道为什么会失败。您能否分享有关该错误的更多信息?