连接到 janus 服务器总是挂起来自 janus 的挂断消息

Connecting to janus server always hangs with hangup message from janus

我在使用 swift 从 iOS 设备连接到 janus janus.plugin.videoroom 插件时遇到问题。 虽然每个步骤都正确进行,但 janus 服务器发送以下消息:

{
   "janus": "hangup",
   "session_id": 3201104494179497,
   "sender": 7759980289270843,
   "reason": "ICE failed"
}

然后断开连接。

调试连接到 janus 的消息导致我执行以下操作:

1- RTCIceGatheringState 永远不会更改为已完成

2-生成的候选项如下:

candidate:3215141415 1 udp 1686052607 w.x.y.z 57168 typ srflx raddr w.x.y.z rport 57168 generation 0 ufrag 340a network-id 1 network-cost 10

如您所见,视频和音频词在生成的候选词中分别被替换为 1 和 0。

你对这两个观察有什么想法吗!

为什么 janus 会发送 "ICE failed" 消息?

我发现收到 "hang up" 消息的原因是因为我没有将接收到的 jsep(来自 janus)设置为我的 peerconnection。 在 setAnswer 之后,jsep "hang up" 消息消失了!

1- RTCIceGatheringState never changes to Completed

对于 RTCIceGatheringState 没有 "Completed" 状态的问题是因为在配置 peerConnection 时设置了 "gatherContinually" 选项 "continualGatheringPolicy" 在将其设置为 "gatherOnce"看到的Completed状态! :)

2- The generated candidates are like following:

看起来 audio/video 或 0/1

是正常的