Stun/Turn WebRTC 中的用法
Stun/Turn usage in WebRTC
我正在用 C 语言开发一个小型 webrtc 应用程序。我正在使用 sip 信令进行 webrtc 调用。我对 stun/turn/ice.
的用法有以下疑问
当我开始通话时,我会发送邀请 (SDP)。在 SDP 中,我们需要放置 ICE 候选人。
我有两种可能的情况。为了解释它,我将举一个例子。假设两个端点是 A 和 B。我有一个 sip 代理服务器说 P。我还有一个回合服务器(支持眩晕和回合),说它是 T.
案例一
所有实体 A、B、P 和 T 都是在同一个专用网络中。这里需要STUN分辨率吗?如果是,那么我需要处理什么? requests/responses
案例二
这里A在私有网络中。其他实体 B、P 和 T 在 public 网络中。在这种情况下,我希望我们需要做 STUN/TURN 决议。假设我从 STUN 开始,得到了宿主和反身候选人。我在一些例子中看到, Permission , Channel Bind 请求也被使用。如果我只使用 STUN(没有 TURN),在我获得主持人和反思候选人之后,我还需要做任何额外的事情吗?
除此之外,对于使用 gnutls(无 openssl)的 C 中的 stun/turn 客户端,是否有任何好的开源可用?
案例 1 - 不需要。本身不需要。只是没有简单的方法来检测 INVITE 何时来自与您所在的同一网络。
情况 2 - 如果您只是使用 STUN,则本地主机和自反候选人都可以。 TURN用于需要中继的场景(对称NAT场景)。
我正在用 C 语言开发一个小型 webrtc 应用程序。我正在使用 sip 信令进行 webrtc 调用。我对 stun/turn/ice.
的用法有以下疑问当我开始通话时,我会发送邀请 (SDP)。在 SDP 中,我们需要放置 ICE 候选人。
我有两种可能的情况。为了解释它,我将举一个例子。假设两个端点是 A 和 B。我有一个 sip 代理服务器说 P。我还有一个回合服务器(支持眩晕和回合),说它是 T.
案例一
所有实体 A、B、P 和 T 都是在同一个专用网络中。这里需要STUN分辨率吗?如果是,那么我需要处理什么? requests/responses
案例二
这里A在私有网络中。其他实体 B、P 和 T 在 public 网络中。在这种情况下,我希望我们需要做 STUN/TURN 决议。假设我从 STUN 开始,得到了宿主和反身候选人。我在一些例子中看到, Permission , Channel Bind 请求也被使用。如果我只使用 STUN(没有 TURN),在我获得主持人和反思候选人之后,我还需要做任何额外的事情吗?
除此之外,对于使用 gnutls(无 openssl)的 C 中的 stun/turn 客户端,是否有任何好的开源可用?
案例 1 - 不需要。本身不需要。只是没有简单的方法来检测 INVITE 何时来自与您所在的同一网络。
情况 2 - 如果您只是使用 STUN,则本地主机和自反候选人都可以。 TURN用于需要中继的场景(对称NAT场景)。