Проверка подключения ICE

В типичном случае у меня есть две конечные точки A и B, а сервер очереди говорит S. A инициирует вызов и отправляет хост и кандидата ретрансляции на B в SDP. B ответил на вызов и отправил только кандидата в хост в SDP.

Допустим, кандидатами A являются
host: 192.168.1.150:5555
relay: 192.168.1.100:7890

Кандидат B на хостинг -
host: 192.168.1.151:5690

Скажем, сведения о сервере поворота приведены ниже
192.168.1.100:3478.

Теперь я собираюсь начать проверку подключения ICE от A к B.

Сначала я попробовал проверить соединение от кандидата хоста A до кандидата хоста B. Истекло время ожидания, и все в порядке.

Затем я собираюсь попробовать подключение ICE от ретранслируемого кандидата A к кандидату хоста B. Здесь я сомневаюсь, что при отправке проверки подключения (что является запросом STUN BIND), на какой транспорт он будет отправляться.

Возможные случаи:
1) A отправит с транспортного адреса хоста, чтобы включить сервер 192.168.1.100:3478

2) A отправит с транспортного адреса хоста кандидату-ретранслятор A 192.168.1.100:7890

Какой из вышеперечисленных правилен согласно стандарту ICE.


person Austin    schedule 21.10.2016    source источник


Ответы (2)


A отправит со случайного локального порта udp, который ранее использовался при назначении кандидата на ретрансляцию на сервере TURN, на адрес 192.168.1.100:3478. Обычно это будет индикация отправки, содержащая запрос привязки ICE и указывающая кандидата на хост Bs в качестве пункта назначения. Сервер очереди отправит это с порта 7890 кандидату хоста B

person Philipp Hancke    schedule 21.10.2016
comment
Спасибо, Филипп. В этом случае запрос на подключение (stun bind) будет идти напрямую или по каналу? - person Austin; 22.10.2016

В вашем случае, скорее всего, ICE не удастся. A отправит с транспортного адреса хоста, чтобы включить сервер 192.168.1.100:3478, а затем сервер попытается переслать пакет через порт 7890 в виде необработанных данных (не инкапсулированных TURN), но поскольку у однорангового узла есть NAT-хост, поэтому он не достигнет B. Также B попытается отправить пакеты кандидату ретрансляции A, но сервер не разрешит этот пакет, поскольку A устанавливает разрешение для B 192.168.1.151, но сервер не увидит этот адрес, а общедоступный адрес B, который не имеет разрешения на прохождение.

person Palash Borhan Uddin    schedule 26.10.2016