Twilio iOS SDK在出局呼叫时出现“400错误请求”

前端之家收集整理的这篇文章主要介绍了Twilio iOS SDK在出局呼叫时出现“400错误请求”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
获取提供的示例的源代码 here,转换为Swift 3并应用我生成升级Twilio帐户的令牌.

当尝试拨打电话时,它播放声音,但是当尝试访问https://matrix.twilio.com/2012-02-09/AC时,HTTP / 1.0 400错误请求失败.

尝试拨打电话后,这是日志

2016-10-16 18:32:12.955056 MyApp[577:121739] [DEBUG TCDeviceInternal] Inside TCDeviceInternal initWithCapabilityToken,capabilityToken_: (null)
2016-10-16 18:32:12.961112 MyApp[577:121739] [VERBOSE TCDeviceInternal] Inside decodeCapabilityToken:,Header: {
    alg = HS256;
    typ = JWT;
}
2016-10-16 18:32:12.962305 MyApp[577:121739] [VERBOSE TCDeviceInternal] Inside decodeCapabilityToken:,payload: {
    exp = 1476635532;
    iss = ....REMOVED....................;
    scope = "scope:client:incoming?clientName=TestName scope:client:outgoing?appSid=AP.....REMOVED......&clientName=TestName";
}
2016-10-16 18:32:12.962611 MyApp[577:121739] [VERBOSE TCDeviceInternal] Scope URI: scope:client:incoming?clientName=TestName,inside setCapabilitiesWithCapabilityToken:
2016-10-16 18:32:12.962860 MyApp[577:121739] [VERBOSE TCDeviceInternal] Scope URI: scope:client:outgoing?appSid=AP.............REMOVED.......&clientName=TestName,inside setCapabilitiesWithCapabilityToken:
2016-10-16 18:32:12.963710 MyApp[577:121739] [DEBUG TCConstants] X-Twilio-Client string: {"p":"ios","v":"1.2.7.b99-1015b1f","mobile":{"arch":"unknown type 16777228 subtype 1","product":"iPhone","name":"iPhone8,4","v":"10.0.2"}},inside TCConstants clientString
2016-10-16 18:32:13.035381 MyApp[577:121739] [VERBOSE Twilio] Inside initWithConfig:,codec: speex/16000/1 -> priority: 255
2016-10-16 18:32:13.035425 MyApp[577:121739] [VERBOSE Twilio] Inside initWithConfig:,codec: speex/8000/1 -> priority: 254
2016-10-16 18:32:13.035457 MyApp[577:121739] [VERBOSE Twilio] Inside initWithConfig:,codec: speex/32000/1 -> priority: 0
2016-10-16 18:32:13.035500 MyApp[577:121739] [VERBOSE Twilio] Inside initWithConfig:,codec: opus/48000/1 -> priority: 0
2016-10-16 18:32:13.035574 MyApp[577:121739] [VERBOSE Twilio] Inside initWithConfig:,codec: PCMU/8000/1 -> priority: 128
2016-10-16 18:32:13.035669 MyApp[577:121739] [VERBOSE Twilio] Inside initWithConfig:,codec: PCMA/8000/1 -> priority: 0
2016-10-16 18:32:13.035843 MyApp[577:121739] [DEBUG Twilio] Inside startStateNotificationsForObject,delegate: <TCDeviceInternal: 0x17018c710>
2016-10-16 18:32:13.036069 MyApp[577:121739] [VERBOSE Twilio] Inside addUserAccount:,Registration URL: sip:TestName@chunderm.gll.twilio.com;transport=tls
2016-10-16 18:32:13.037112 MyApp[577:121739] [DEBUG TwilioReachability] Reachability Flag Status: -R ------- networkStatusForFlags
2016-10-16 18:32:13.037191 MyApp[577:121739] [DEBUG TCDeviceInternal] Internet reachability: 1
2016-10-16 18:32:13.037434 MyApp[577:121739] [DEBUG TCDeviceInternal] Created TCDeviceInternal: <TCDeviceInternal: 0x17018c710> for accountId: 0
2016-10-16 18:32:13.038306 MyApp[577:121739] [DEBUG TCHttpJsonLongPollConnection] Inside TCHTTPJSONLongPollConnection run(),gonna connect to host matrix.twilio.com,port 443
2016-10-16 18:32:13.039266 MyApp[577:121739] [DEBUG TCHttpJsonLongPollConnection] Inside onSocketWillConnect,sock: <TCAsyncSocket 0x17418ddd0 local nowhere remote nowhere has queued 0 reads 0 writes,no current read,no current write,read stream 0x17010d260 not open,write stream 0x1701065d0 not open,not connected>,self: <TCHttpJsonLongPollConnection 0x1740aa9e0 url=https://matrix.twilio.com/2012-02-09/.........REMOVED............../TestName?AccessToken=...............REMOVED......................&feature=publishPresence&feature=presenceEvents connected=0 https=1>
2016-10-16 18:32:13.052355 MyApp[577:121739] [DEBUG TCSoundManager] TCSoundManager: sharedInstance: 0x0
2016-10-16 18:32:13.052423 MyApp[577:121739] [DEBUG TCSoundManager] TCSoundManager init,top
2016-10-16 18:32:13.052461 MyApp[577:121739] [VERBOSE TCSoundManager] TCSoundManager init,starting
2016-10-16 18:32:13.109491 MyApp[577:121739] [DEBUG TCSoundManager] TCSoundManager: player configured
2016-10-16 18:32:13.120029 MyApp[577:121739] [VERBOSE TCSoundManager] TCSoundManager init,done
2016-10-16 18:32:13.120917 MyApp[577:121739] [DEBUG TCSoundManager] TCSoundManager: attempting to play item,(inside TCSoundManager play())
2016-10-16 18:32:13.121720 MyApp[577:121739] [DEBUG TCSoundManager] Player status: 0,inside observeValueForKeyPath:
[2016-10-16 18:32:13.123] Caller.swift:55 DEBUG: Twilio connection created successfully
2016-10-16 18:32:13.136004 MyApp[577:121739] [DEBUG TCSoundManager] Player status: 1,inside observeValueForKeyPath:
2016-10-16 18:32:13.145341 MyApp[577:121739] [DEBUG TCSoundManager] Item status: 1,inside observeValueForKeyPath:
2016-10-16 18:32:13.226409 MyApp[577:121739] [DEBUG TCHttpJsonLongPollConnection] Inside beginning of onSocket:didConnectToHost
2016-10-16 18:32:13.226632 MyApp[577:121739] [DEBUG TCHttpJsonLongPollConnection] Starting TLS with settings:
{
    kcfStreamSSLPeerName = "*.twilio.com";
    kcfStreamSSLValidatesCertificateChain = 1;
    kcfStreamSocketSecurityLevelNegotiatedSSL = kcfStreamPropertySocketSecurityLevel;
},inside onSocket:didConnectToHost:
2016-10-16 18:32:13.227088 MyApp[577:121739] [DEBUG TCEventStream] Inside longPollConnectionDidConnect:,stream <TCEventStream: 0x17427cbc0> connected
2016-10-16 18:32:13.227331 MyApp[577:121739] [DEBUG TCHttpJsonLongPollConnection] REQUEST: URL: https://matrix.twilio.com/2012-02-09/.............REMOVED............/TestName?AccessToken=..........................................REMOVED..................................&feature=publishPresence&feature=presenceEvents   GET /2012-02-09/........REMOVED............/ProjectName App?AccessToken=................................REMOVED....................................&feature=publishPresence&feature=pres
2016-10-16 18:32:14.028697 MyApp[577:121739] [DEBUG TCHttpJsonLongPollConnection] Inside beginning of onSocket:didReadData
2016-10-16 18:32:14.028836 MyApp[577:121739] [VERBOSE TCHttpJsonLongPollConnection] Received 
HTTP/1.0 400 Bad request
Cache-Control: no-cache
Connection: close
Content-Type: text/html,inside onSocket:didReadData
2016-10-16 18:32:14.029065 MyApp[577:121739] [DEBUG TCEventStream] Inside longPollConnection:didReceiveHeaders:,stream <TCEventStream: 0x17427cbc0> got headers
2016-10-16 18:32:14.030074 MyApp[577:121739] [DEBUG TCEventStream] Inside longPollConnection:didFailWithError:,stream <TCEventStream: 0x17427cbc0> disconnected,error Error Domain=com.twilio.client.TCHttpErrorDomain Code=4 "HTTP server returned non-success status" UserInfo={com.twilio.client.TCHttpStatusCodeKey=400,NSLocalizedDescription=HTTP server returned non-success status}
2016-10-16 18:32:15.017604 MyApp[577:121739] [INFO TCSoundManager] TCSoundManager: playerItemDidReachEnd: 7466A900,(inside playerItemDidReachEnd)
2016-10-16 18:32:15.017913 MyApp[577:121739] [DEBUG TCCommandHandler] Inside postCommand:,received command of type TCMakeCallCommand
2016-10-16 18:32:15.018535 MyApp[577:121739] [DEBUG TCSoundManager] Player status: 1,inside observeValueForKeyPath:
2016-10-16 18:32:21.396771 MyApp[577:121739] [DEBUG Twilio] Application is in background
2016-10-16 18:32:21.397023 MyApp[577:121739] Legacy VoIP background mode is deprecated and no longer supported

可能是什么问题?

解决方法

在iOS 10中,您应该使用PushKit来处理传入VoIP呼叫的推送通知.因此,当您根据iOS 10 SDK构建应用程序时,您需要转移到PushKit(可以一直支持iOS 8),但一旦移动到iOS 10,我们的建议是将最低部署目标更新为iOS 9).
原文链接:https://www.f2er.com/iOS/336915.html

猜你在找的iOS相关文章