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

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

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

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

Как перезапустить Asterisk без сброса активных звонков: core reload

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

Когда требуется перезагрузка или применение конфигураций:

  • Вы изменили диалплан или добавили новый номер, но настройки не вступили в силу.
  • Необходимо перезапустить службу Asterisk, не прервав важные телефонные разговоры операторов колл-центра.
  • Служба телефонии зависла из-за утечки памяти или падения одного из драйверов.
  • После жесткого ребута сервера звонки сбрасываются с ошибками авторизации.

Способ 1. Применение настроек НА ЛЕТУ без сброса разговоров (Reload)

В 95% случаев перезагружать службу Asterisk целиком не требуется — достаточно перечитать текстовые конфигурационные файлы в оперативную память:

# 1. Применить изменения во ВСЕХ модулях сразу (безопасно для активных звонков):
asterisk -rx "core reload"

# 2. Перечитать только маршрутизацию диалплана (extensions.conf):
asterisk -rx "dialplan reload"

# 3. Перечитать только настройки PJSIP номеров (pjsip.conf):
asterisk -rx "pjsip reload"

# 4. Перечитать только модуль музыки ожидания:
asterisk -rx "moh reload"

Способ 2. Мягкий перезапуск службы (Graceful Restart)

Если сервер требует полного перезапуска, используйте «вежливый» режим: Asterisk перестанет принимать новые вызовы, подождет, пока все говорящие в данный момент сотрудники положат трубки, и только после этого перезапустится:

# Мягкий перезапуск после завершения всех активных звонков:
asterisk -rx "core restart gracefully"

# Мягкая полная остановка:
asterisk -rx "core stop gracefully"

Способ 3. Экстренный жесткий перезапуск (Когда все зависло)

Если система не отвечает на команды, выполните перезапуск процесса на уровне Linux (текущие звонки будут мгновенно разорваны):

systemctl restart asterisk

# Либо через консоль Asterisk:
asterisk -rx "core restart now"
💡 Практика специалистов: Перед выполнением любых перезагрузок всегда проверяйте синтаксис отредактированных файлов диалплана командой asterisk -rx 'dialplan validate context exten', чтобы опечатка в extensions.conf не заблокировала прием звонков.

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

Оборвутся ли активные разговоры при выполнении команды 'core reload'?

Нет! Команда core reload перечитывает конфигурационные файлы с диска в память ядра, не разрывая ни одного существующего RTP-аудиопотока и не сбрасывая текущие вызовы.

Как отменить ранее запланированную команду 'core restart gracefully'?

Если вы передумали перезапускать сервер, выполните команду отмены: asterisk -rx 'core abort shutdown'.

Как посмотреть, сколько звонков идет в системе прямо сейчас перед перезагрузкой?

Выполните команду: asterisk -rx 'core show channels'. В нижней строке будет указано точное количество активных каналов и вызовов (active calls).

В чем разница между 'core reload' и 'module reload'?

Команда core reload обновляет ядро и все стандартные подсистемы, а module reload <имя_модуля> (например, module reload res_pjsip.so) точечно перезагружает конкретную динамическую библиотеку.

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