Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

SIP_REG_TIMEOUT_NAT IP-Телефония и СКУД

SIP-телефон теряет регистрацию на АТС: настройка Keep-Alive, NAT и STUN

Обновлено: 26.08.2026 · Официальная документация ↗
  • IP-телефон работает 2–5 минут после включения, после чего входящие звонки перестают доходить («Абонент временно недоступен»).
  • Статус аккаунта на экране телефона меняется с Registered на Registration Failed или No Service.
  • Исходящий звонок с аппарата проходит мгновенно, и сразу после этого телефон снова начинает принимать входящие на короткое время.
  • Проблема массово проявляется у удаленных сотрудников, работающих из дома или через роутеры с NAT.

Почему телефон теряет регистрацию простыми словами?

Когда телефон находится за домашним или офисным роутером (NAT), роутер открывает временный порт для связи с офисной АТС Asterisk. Но если телефон молчит и не шлет данные 30–60 секунд, роутер закрывает эту «дырочку» в целях безопасности. АТС пытается отправить входящий звонок, но натыкается на закрытый роутер. Как только вы поднимаете трубку и звоните сами — роутер снова открывает порт, и регистрация временно оживает.

Шаг 1. Настройка Keep-Alive (Поддержание соединения) в веб-интерфейсе телефона

  1. Зайдите в веб-интерфейс вашего SIP-телефона (Yealink, Grandstream, Fanvil, Cisco) через браузер.
  2. Перейдите в раздел Account (Учетная запись) -> Advanced (Дополнительно).
  3. Найдите параметр Keep-alive Interval (Интервал поддержания связи): установите значение 15–20 секунд (вместо стандартных 60 или 120).
  4. Параметр Keep-alive Type: установите в режим SIP OPTIONS (или Default / UDP Packet).
  5. Параметр Register Expiration (Таймаут регистрации): уменьшите с 3600 до 120–300 секунд.
  6. Нажмите Confirm (Сохранить и применить). Теперь телефон будет постоянно отправлять легкие сигналы, не давая роутеру закрыть порт.

Шаг 2. Настройка параметров NAT на сервере Asterisk / FreePBX

В веб-интерфейсе FreePBX (или файле pjsip.endpoint.conf / sip.conf):

  1. Откройте настройки внутреннего номера (Applications -> Extensions).
  2. В настройках номера (вкладка Advanced) убедитесь, что параметры выставлены правильно:
    • NAT Mode: Yes - (force_rport, comedia) (для chan_pjsip: Rewrite Contact = Yes, Force rport = Yes).
    • Qualify / Qualify Frequency: установите Yes (частота 30 секунд). АТС сама будет опрашивать телефон и поддерживать сессию открытой.

Шаг 3. Включение STUN-сервера (для сложных роутеров с симметричным NAT)

Если телефон находится за строгим мобильным 4G-модемом или Mikrotik:

  1. В веб-интерфейсе телефона откройте раздел Network (Сеть) -> Advanced.
  2. В поле STUN Server впишите любой публичный надежный адрес: stun.l.google.com:19302 или stun1.l.google.com:19302.
  3. Включите опцию «STUN Enable = Yes».

Шаг 4. Отключение SIP ALG на клиентском роутере (КРИТИЧЕСКИ ВАЖНО!)

В 80% случаев потерю пакетов вызывает встроенный в Wi-Fi роутер «помощник» SIP ALG. Зайдите в настройки роутера (Zyxel, Keenetic, TP-Link, Asus) -> раздел Безопасность / ALG -> Снимите галочку «SIP ALG (SIP Passthrough)» и перезагрузите роутер.

💡 Практика специалистов: Для надежной удаленной работы сотрудников всегда настраивайте транспорт SIP over TLS с портом 5061 вместо стандартного чистого UDP 5060. Это полностью исключает блокировку голосового трафика провайдерами и ликвидирует проблемы с NAT.

Частые вопросы (FAQ)

Что такое SIP ALG и почему его нужно всегда отключать на роутерах?

SIP ALG (Application Layer Gateway) пытается самостоятельно модифицировать сетевые пакеты телефонии, но в 99% случаев делает это с ошибками, искажая заголовки Contact и приводя к односторонней слышимости и сбросу регистрации.

Почему переход с протокола UDP на TCP/TLS решает проблему потери связи?

TCP-соединения держатся роутерами открытыми значительно дольше (до нескольких десятков минут), а TLS дополнительно шифрует трафик, защищая его от искажения со стороны интернет-провайдеров.

Как проверить доступность телефона со стороны сервера Asterisk?

Выполните в консоли Asterisk команду: 'pjsip show endpoints' или 'sip show peers'. Обратите внимание на статус: должно быть 'OK' со временем задержки в миллисекундах (например, OK (24 ms)).

Поможет ли проброс портов (Port Forwarding) на клиентском роутере?

В этом нет необходимости, если на телефоне корректно настроены интервалы Keep-Alive (15-20 сек) и включен параметр rport на стороне АТС.

Полезные материалы
Рекомендуем