prefixkit Вопрос инженеруСпросить EN

Телефония

Тест NAT для IP-телефонии

Узнайте, какой NAT у вашего роутера или провайдера: обычный или симметричный, из-за которого пропадает звук в одну сторону. Показывает внешний IP и порт, проходит ли UDP, есть ли CGNAT, и что настроить в Asterisk и FreeSWITCH.

Браузер отправляет STUN-запросы к публичным серверам Cloudflare и Google по UDP. Это несколько маленьких пакетов, звонка и записи нет. Проверяйте из той сети, где стоит телефон.

Почему NAT ломает звонки

SIP пишет внутри сообщений адрес и порт, куда слать голос (в SDP). За NAT телефон знает только свой серый адрес, поэтому АТС отвечает «в никуда» — получается звук в одну сторону или тишина. Обычный NAT сохраняет один и тот же внешний порт для любых адресатов, и АТС достаточно отвечать туда, откуда пришёл пакет. Симметричный NAT для каждого адресата выдаёт новый порт: STUN тут не поможет, нужна симметричная отправка RTP на АТС, SBC или TURN.

Как работает проверка

Из одного и того же сокета браузер спрашивает четыре STUN-сервера: «с какого адреса и порта вы меня видите?». Если все называют одинаковый адрес:порт — NAT не зависит от адресата. Если порты разные — NAT симметричный.

Что ещё проверить

Тест VoIP-канала — потери и джиттер; разбор SDP — какой адрес телефон прописал в SDP; анализ pcap — дошёл ли RTP.