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

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

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

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

Asterisk: Ошибка SIP 403 Forbidden (Отклонено). Проверка и настройка ACL

Обновлено: 10.09.2026 · Официальная документация ↗

Архитектура SIP аутентификации и суть отбоя 403

Ответ SIP 403 Forbidden (Доступ запрещен / Отклонено) от сервера Asterisk означает, что сервер понял запрос (формат пакета корректен), но категорически отказывается его выполнять. В отличие от 401 Unauthorized (требуется пароль), 403 означает, что проблема не в пароле, а в нарушении политик безопасности. Чаще всего причиной является отбой на уровне списков контроля доступа (ACL - Access Control Lists), блокировка по IP-адресу, неверный домен (Realm) или запрет маршрутизации вызова в диалплане (Context). Бизнес-риски: отвал транков провайдера, недоступность удаленных филиалов.

Типовые причины 403 Forbidden в Asterisk

Источник блокировкиСимптом в логе (CLI)Где искать проблему
IP ACL (permit/deny)Registration from... failed for 'X.X.X.X' - Device does not match ACLНастройки sip.conf или pjsip.conf (endpoint/acl).
Контекст (Context)Call from '100' to extension '8900' rejected... no contextНастройки диалплана (extensions.conf).
Fail2Ban (Iptables)Пакеты вообще не доходят до Asterisk (нет лога), клиент видит 403/Timeout.Локальный Firewall сервера Linux.

Траблшутинг ACL в chan_sip и PJSIP

Сценарий 1: Проверка и настройка ACL в chan_sip (sip.conf)

Если вы используете устаревший драйвер chan_sip, защита строится на параметрах `deny` и `permit`.

 [100] (Экстеншен абонента)
 type=friend
 secret=StrongPass123
 context=office
 host=dynamic
  Запрещаем всё
 deny=0.0.0.0/0.0.0.0
  Разрешаем локальную сеть и IP филиала (Обязательно ПРИМЕНИТЬ ПОСЛЕ deny)
 permit=192.168.1.0/255.255.255.0
 permit=10.0.0.0/255.0.0.0

Если сотрудник пытается подключиться из дома (домашний IP не входит в permit), он получит 403 Forbidden.

Сценарий 2: ACL в современном стеке res_pjsip (pjsip.conf)

В PJSIP контроль доступа настраивается в секции [acl] или непосредственно в [endpoint].

  Глобальный список доступа (в файле acl.conf или pjsip.conf)
 [office_acl]
 type=acl
 deny=0.0.0.0/0.0.0.0
 permit=192.168.1.0/24

  Привязка ACL к эндпоинту
 [100]
 type=endpoint
 context=office
 disallow=all
 allow=alaw
 acl=office_acl ; Применение списка

Типовые ошибки администраторов

  • Порядок правил в chan_sip: Правило permit ДОЛЖНО идти после deny. Если вы напишете сначала permit, а потом deny=0.0.0.0/0, Asterisk заблокирует всех, так как последнее правило перетирает предыдущие (в старом синтаксисе).
  • Игнорирование NAT: Если клиент за NAT, Asterisk видит внешний (белый) IP-адрес роутера, а не локальный IP телефона. Если вы прописали в ACL permit=192.168.10.5 (IP телефона за NAT), сервер отдаст 403. Нужно разрешать внешний IP провайдера.
Внешние атаки валят вашу телефонию спам-вызовами (SIP Vicious)?
Открытый наружу порт 5060 — это гарантия взлома за 24 часа. Специалисты ITSTM внедрят многоуровневую защиту: от настройки гео-ACL в PJSIP и интеграции Fail2Ban до установки пограничного контроллера сессий (SBC), защитив ваши средства от фрод-трафика.
💡 Практика специалистов: Практика ITSTM: При миграции с chan_sip на PJSIP многие администраторы сталкиваются с 403 ошибкой от транков провайдера Ростелеком или Билайн. Проблема в секции [identify] стека PJSIP. PJSIP должен жестко сматчить входящий IP-адрес провайдера с конкретным эндпоинтом (параметр match=IP_Провайдера). Если IP не совпадает, звонок уходит в дефолтный контекст и рубится.

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

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

Зайдите в консоль (asterisk -rvvvv). Для chan_sip введите 'sip set debug on'. Для pjsip введите 'pjsip set logger on'. В SIP-дампе вы увидите входящий пакет REGISTER или INVITE и ответ Asterisk на него. Там же будет текстовая причина отбоя.

Провайдер шлет 403 Forbidden при попытке исходящего звонка. Почему?

Asterisk передает провайдеру неверный CallerID (номер звонящего). Провайдеры жестко фильтруют поле 'From' в SIP INVITE. Убедитесь, что параметр 'fromuser' в настройках транка совпадает с вашим выданным многоканальным номером.

Телефон зарегистрирован (статус OK), но звонки между внутренними абонентами отбиваются 403?

В 90% случаев это ошибка диалплана. В настройках телефона прописан context=default, в котором нет правил обработки звонков (exten =>). Asterisk отказывается маршрутизировать звонок и отдает 403.

Что такое alwaysauthreject=yes?

Это важнейший параметр безопасности в sip.conf. Он заставляет Asterisk всегда отвечать 401 Unauthorized на неверные пароли И неверные логины. Если он выключен (no), то на несуществующий логин сервер ответит 404 (Not Found), а на существующий — 401, что позволяет хакерам перебрать базу логинов (User Enumeration). На ACL отбивает 403.

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