ICE连接检查

时间:2016-10-21 06:22:18

标签: webrtc stun sdp turn

在一个典型的案例中,我有两个端点A& B,并有一个转弯服务器说S.A发起呼叫并将主机和中继候选者发送到SDP中的B. B接听电话并仅在SDP中发送主持人候选人。

让我们说A的候选人是 主持人:192.168.1.150:5555
继电器:192.168.1.100:7890

B的主持人候选人是 主持人:192.168.1.151:5690

说转服务器详细信息如下 192.168.1.100:3478

现在我即将启动从A到B的ICE连接检查。

首先,我尝试从A的主持人候选人到B的主持人候选人进行连接检查。它超时了,没问题。

接下来,我将尝试从A的中继候选者到B的主持人候选人的ICE连接。我怀疑的是,当A发送连接检查(这是STUN BIND请求)时,它将发送到哪个传输。

可能的情况是,
1)A将从主机传输地址发送到服务器192.168.1.100:3478

2)A将从主机传输地址发送到A的中继候选者192.168.1.100:7890

根据ICE标准,上述哪一项是正确的。

2 个答案:

答案 0 :(得分:1)

A将从先前在TURN服务器上分配中继候选者时使用的随机本地udp端口发送到192.168.1.100:3478。这通常是包含ICE绑定请求并指定Bs主机候选者作为目的地的发送指示。转弯服务器将其从端口7890发送到B

的候选主机

答案 1 :(得分:0)

在您的情况下,ICE可能不会成功。 A将从主机传输地址发送到服务器192.168.1.100:3478然后服务器将尝试通过端口7890转发数据包作为原始数据(不是TURN封装)但是对等体具有NAT主机,因此不会到达B. B也会尝试向A的中继候选者发送数据包,但是服务器不允许该数据包作为B的192.168.1.151的A设置权限,但是服务器不会看到这个地址,而是B的公共地址。没有许可通过。