场合
我在我的iOS Voip应用程序中使用Twilio iOS SDK。
我试图从我的Voip应用程序调用我在某些方面堆积的任何数字。
我已经确认,当我从我的Voip应用程序拨打电话以及接到来自我的Voip应用程序的来电时,Http请求被发送到我在url设置的应用请求网址。
简而言之,下面是我从Voip应用程序调用时认为正确的流程
输入号码并拨打电话(iOS Voip应用程序) - >调用请求网址并将TwiML返回给我输入的电话号码(我的服务器端) - >拨打号码(Twilio服务) - >打电话(电话)
问题
从Voip拨打任何号码的最佳做法是什么?
当我想从我的Voip应用程序拨打电话到电话时,我应该返回什么样的TwiML?
<Response><Dial><Number>090xxxxxxxxx</Number></Dial></Response>
,但遗憾的是它失败并且不是作为传出呼叫而是作为Twilio呼叫日志上的来电记录。我知道我应该返回<Response><Dial><Client>name</Client></Dial></Response>
来接听来电我认为这不适合传出来的。亲切的问候。
以下是我从任何电话号码到我的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>
答案 0 :(得分:1)
Twilio开发者传道者在这里。
如果我是你,我会通过Twilio Client quick start for iOS,它会告诉你各种方法可以建立这个。
回答你的问题。
您无法使用Twilio Client使用相同的号码为入站和出站设置不同的请求网址,但您可以通过checking the direction
parameter判断它是入站还是出站。
将出站VOIP转发至数字时,您应使用<Dial>
和<Number>
。我不知道为什么会失败。您可以分享有关错误的更多信息吗?