Константин Л.:
В дампе “capture-GigabitEthernet0-Vlan2-Apr 25 20-08-47.pcapng” из папки “ok” при исходящем вызове устройство Keenetic с IP-адресом *.*.*.124 отправляет запрос STUN-серверу с порта UDP 4000, чтобы определить внешний IP-адрес и порт NAT, если таковой присутствует. В ответ сервер возвращает IP-адрес *.*.*.124 и порт 4000, что означает отсутствие NAT. Здесь обмен голосовыми данными с SIP-сервером происходит успешно.В дампе “capture-GigabitEthernet0-Vlan2-Apr 25 20-08-46.pcapng” из папки “silent” при входящем вызове устройство Keenetic с публичным IP-адресом *.*.*.38 отправляет запрос STUN-серверу с порта UDP 4000. В ответ сервер возвращает IP-адрес *.*.*.16 и порт 62794, с которого он получил этот запрос. Это указывает на присутствие NAT-маршрутизатора с внешним IP-адресом *.*.*.16. Присутствие NAT в данном случае крайне странно, т.к NAT используется для подключения локальных подсетей к Интернету, а Keenetic имеет публичный IP-адрес.
Не вдаваясь в детали, этот NAT вызывает проблему с приемом голосовых данных от сервера.
Как решить проблему
1) В данном случае использовать STUN нельзя, т.к. этот NAT не является конусным. Но перезаписывать в SIP-заголовке и в SDP адрес *.*.*.124 на адрес *.*.*.16 вероятнее всего потребуется, иначе SIP-сервер отправит голосовые данные на *.*.*.124 и они не пройдут через упомянутый NAT. Поэтому предлагаю в настройках SIP-линии отключить чекбокс “Использовать STUN” и включить “Получать свой IP-адрес от сервера регистрации”.
2) Отправить дамп интернет-провайдеру и спросить, почему устройство с публичным IP-адресом *.*.*.124 подключено к Интернету через NAT и нельзя ли этот NAT убрать, т.к. он препятствует обмену голосовыми данными IP-телефонии.