У меня настроена сеть с 2 UAC за NAT (один - Jitsi, а другой - мой собственный UA, закодированный в C с поддержкой SIP). Asterisk настроен на общедоступный IP-адрес.
В sip.conf у меня есть следующее для обоих UAC: nat = yes directmedia = no
Затем я выполняю свой код, который вызывает клиент Jitsi. Я отвечаю через Jitsi, и все кажется великолепным.
Asterisk предоставляет каждому UAC хост / порт RTP для отправки видео через пакет SDP, который я проанализировал соответствующим образом (аудио не включается в этот сеанс). Каждый пользовательский агент начинает передачу пакетов RTP.
Вот где возникает проблема:
Звездочки начинают распечатывать
"Получен RTP-пакет из XX.XXX.XX.XXX:XXXXX (тип XX, следующий XXXXX, ts XXXXXx, len XXXXXX)"
неоднократно с обоих UAC, но фактически никогда нигде не отправляет ни одного из пакетов RTP (я бы ожидал «Отправить RTP ....»).
Я протестировал мой код RTP H264 через сервер вещания QuickTime, и пакеты правильно декодируются в локальной сети через различные медиаплееры. У моего SIP-вызова, похоже, нет проблем с подключением, и Asterisk никогда не печатает никаких предупреждений или ошибок в консоли.
Не могу понять, почему Asterisk не пересылает пакеты RTP. Любая помощь будет оценена.