iOS WebRTC连接停留在Ice Connection状态收集中

时间:2018-12-14 20:42:40

标签: ios objective-c xcode webrtc wowza

我正在执行iOS本机WebRTC实施,并且尝试与Wowza流引擎进行对等连接。

我已经构建了自己的实现,交换了SDP提供/答案,没有错误,但是交换在Ice State Checking中停止了。

从Chrome经由WebRTC到Wowza Engine,这也可以按预期工作,因此问题似乎不存在于此。

我收到日志错误

[019:110] [51467] (stunport.cc:282): Port[801a400:0:1:0:local:Net[en2:169.254.0.x/16:Wifi:id=1]]: UDP send of 100 bytes failed with error 65
[009:190] [52483] (port.cc:1731): Conn[7058e00:0:Net[en2:169.254.0.x/16:Wifi:id=3]:K1VeXnEm:1:0:local:udp:169.254.31.x:63068->u76s55ya:1:50:local:udp:52.7.176.x:6970|C--W|-|0|0|218992623103|-]: Sent STUN ping, id=66706566354b77567a55706a, use_candidate=0, nomination=0
[009:241] [52483] (port.cc:1731): Conn[503dc00:0:Net[pdp_ip0:10.233.207.x/32:Cellular:id=8]:Usd6n9/m:1:0:local:udp:10.233.207.x:61703->u76s55ya:1:50:local:udp:52.7.176.x:6970|C--W|-|0|0|218992229887|-]: Sent STUN ping, id=6431755a4674675155333050, use_candidate=0, nomination=0
[009:292] [52483] (port.cc:1731): Conn[7060e00:0:Net[en0:192.168.0.x/24:Wifi:id=1]:s9SLzrT3:1:0:local:udp:192.168.0.x:53334->u76s55ya:1:50:local:udp:52.7.176.x:6970|C--I|-|0|0|218992754175|-]: Sent STUN ping, id=496e57507237574d52324b50, use_candidate=0, nomination=0

任何帮助都会很棒!

编辑: 更详细的流程。

我正在尝试在iOS上的Wowza流引擎实例和WebRTC之间创建对等连接。该连接只是一个发布,没有接收到任何流。

我的步骤如下

  1. 从工厂创建的对等连接。
  2. 媒体流已添加到对等连接。
  3. 在对等连接上创建的报价。
  4. 设置为本地描述的报价并发送到Wowza。优惠有当地的冰桶生鱼片
  5. Wowza对Answer SDP和候选冰的回应(Wowza只给出一个)
  6. 答案设置为“远程描述”
  7. 将单个候选冰添加到对等连接

最终状态始终为RTCIceConnectionStateChecking,然后失败。

2 个答案:

答案 0 :(得分:0)

您需要交换(滴灌)ICE候选人,或等待几秒钟,然后再交换SDP报价/答案,以便给本地ICE代理人时间用候选人填充报价/答案(可通过获取本地说明获得)。

答案 1 :(得分:0)

也许有人也可能在iOS上遇到此问题。我也想知道如何使trick流工作,因为在我的情况下,即使是iOS到iOS似乎也不起作用。但是有可能的是,作为您的连接者,您的连接现在转到checking,以再次发送报价。在第二个报价中,您还将找到所有候选人。这样一来,您就可以在发送所有候选者和不参加第二次要约的候选者的同时,欺骗对等体进行联系。

请尝试将您直接生成的要约与访问checking后看到的要约进行比较。