MyTetra Share
Делитесь знаниями!
Обработка facility правильным парсером
Время создания: 03.08.2017 10:54
Текстовые метки: facility, h460
Раздел: root - Trueconf
Запись: xintrea/mytetra_db_armagedec/master/base/1501746878uwvwkvcu9n/text.html на raw.githubusercontent.com

5. Почему-то упал tc_transceiver.exe


В рамках Н460 нужно решить несколько вопросов для прохождения трафика через NAT:

1. В схеме когда TCS выступает в роли Gatekeeper нужно дождаться отправки терминалом keepAlive-пакета. Только после этого нужно начинать передачу RTP трафика, при этом нужно для передачи использовать IP-адрес и порт с которого пришел keepAlive-пакет, а не тот, что указан в OLC. Тоесть до получения первого keepAlive-пакета мы-то в принципе и не знаем куда нужно отправлять RTP. Таким образом нужно добавить механизм определения этого адреса и буферизировать либо отбрасывать трафик до его получения.

2. Также должны на каждый канал приходить keepAlive пакеты в случае отсутствия RTP трафика, payload type для этих пакетов будет доступен в VS_MediaChannelInfo как 'keepalive_pt'. Это, как я понимаю, нужно будет использовать в валидации входящих RTP пакетов.

3. В Н460.19 определена поддержка передачи мультиплексированных медиа данных. Когда TCS используется в качестве Gatekeeper для всех каналов в этом случае нужно бы выделить один сокет, который будет получать весь трафик (аудио, видео, слайды и данные). Тогда весь этот трафик нужно будет демультиплексировать (здесь вроде бы проблем нет - нужно всего-то убрать 4 байта) и передать в соответствии с этим заголовком мультиплексированя и payload type-ом в цепочку фильтров. Тоесть здесь нужно как-то поменять схему получения и прохождения через фильтры пакетов из RTP, чтобы пакеты шли на напрямую в цепочку а в сущность которая будет маршрутизировать трафик между цепочками.

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования