来自iOS

时间:2016-09-19 14:24:12

标签: ios twilio twilio-api

场合

我在我的iOS Voip应用程序中使用Twilio iOS SDK。

我试图从我的Voip应用程序调用我在某些方面堆积的任何数字。

我已经确认,当我从我的Voip应用程序拨打电话以及接到来自我的Voip应用程序的来电时,Http请求被发送到我在url设置的应用请求网址。

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

  

输入号码并拨打电话(iOS Voip应用程序) - >调用请求网址并将TwiML返回给我输入的电话号码(我的服务器端) - >拨打号码(Twilio服务) - >打电话(电话)

问题

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

    • 我可以在Twilio控制台的一个应用程序中分别为来电和拨出电话设置不同的请求网址,或者我们可以通过参数来判断它是来电还是来电?
  2. 当我想从我的Voip应用程序拨打电话到电话时,我应该返回什么样的TwiML?

    • 当我设置的请求网址被我的Voip应用程序调用时,我的服务器端脚本返回<Response><Dial><Number>090xxxxxxxxx</Number></Dial></Response>,但遗憾的是它失败并且不是作为传出呼叫而是作为Twilio呼叫日志上的来电记录。我知道我应该返回<Response><Dial><Client>name</Client></Dial></Response>来接听来电我认为这不适合传出来的。
  3. 亲切的问候。

    修改

    以下是我从任何电话号码到我的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呼叫日志显示没有'To'号码,而'From'号码是我用于capability.allow_client_incoming(我的客户名称)的客户端名称。     [请求]     

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

1 个答案:

答案 0 :(得分:1)

Twilio开发者传道者在这里。

如果我是你,我会通过Twilio Client quick start for iOS,它会告诉你各种方法可以建立这个。

回答你的问题。

  1. 您无法使用Twilio Client使用相同的号码为入站和出站设置不同的请求网址,但您可以通过checking the direction parameter判断它是入站还是出站。

    < / LI>
  2. 将出站VOIP转发至数字时,您应使用<Dial><Number>。我不知道为什么会失败。您可以分享有关错误的更多信息吗?