Asterisk перезагрузка сервера linux

Обновлено: 03.07.2024

В статье рассмотрим, как перезагрузить (перезапустить) по SSH сервер Linux. Например, перезагрузить сервер Ubuntu, CentOS Debian и основанные на них дистрибутивы можно удаленно по SSH или подключившись к командной строке другим способом.

Прежде чем перейти к боевым действиям, убедитесь, что сервер Линукс действительно нуждается в перезагрузке.

Когда требуется перезагрузка?

Как бы это странно ни звучало: перед тем как перезагрузить сервер сайта, стоит убедиться что оно ему действительно надо. Перезагрузка сервера без веских на то причин может привести к сбоям в работе серверного оборудования.

Так когда перезагружаем?

  1. Сервер завис или тормозит;
  2. Некорректно работают установленные программы;
  3. При смене операционной системы;
  4. При работе с BIOS (если есть физический доступ или его эмуляция);
  5. При использовании программ низкоуровневого копирования и восстановления данных (например, Acronis Backup).

На всякий пожарный: не перезагружайте сервер во время установки/удаления программ.

Как перезагрузить сервер через консоль?

Linux-серверы можно перезагрузить в консоли 3 простыми способами (команды shutdown, reboot и init).

Вы можете использовать любое решение для удаленного подключения к серверу. Мы остановимся на SSH.

Как перезагрузить сервер по SSH?

Все действия должны выполняться из-под пользователя root.

Подключитесь к вашему серверу под root-пользователем. Пароль суперпользователя указан в личном кабинете и письме, отправленном после активации сервера:

После ввода команды соединение с сервером будет прервано. Перезагрузка займет до 15 минут.

1. Команда shutdown -r

Это базовая команда, которая используется для перезагрузки Linux-сервера с Ubuntu.

Введите команду, и сервер будет перезагружен сразу:

Еще можно запланировать перезагрузку, введя вместо now конкретное время. Например, назначим перезагрузку сервера на 11 утра:

shutdown -r 11:00

Также можно перезагрузить сервер через небольшой промежуток времени. Например, через 5 минут:

2. Команда reboot

Также можно перезагрузить Linux-серверы с Ubuntu, Debian, CentOS или другим дистрибутивом с помощью универсальной команды reboot.

Сначала она запишет в логи время остановки системы, уничтожит незавершенные процессы, вызовет опцию sync и дождется завершения записи на диск. И только после этих предварительных действий прекратит работу ядра и инициирует перезагрузку.

Введите команду, и сервер будет перезагружен сразу:

После ввода команды соединение с сервером будет прервано. Консоль оповестит: The system is going down for reboot NOW!

3. Команда init 6

Также для перезагрузки можно использовать уровни системы инициализации Init Scripts. Всего в этой системе 6 уровней: где 0 — выключение, а 6 — перезагрузка. Чтобы перейти к этому уровню, используйте команду:

Что делать, если сервер не работает после перезагрузки

Если в ходе перезагрузки что-то пошло не так, можно узнать о состоянии сервера, подключившись через IP-KVM.

Если решить проблему самостоятельно не получится, обратитесь в техническую поддержку. Специалисты перезагрузят сервер вручную и заменят неисправные комплектующие , если это потребуется.

Подскажите пжт команды в астериске для перезагрузки сервера, а главное для просмотра свободных и занятых сервером портов! ну и др полезные=) ЗЫ уж оч я боюсь напортачить с ним!


Я бы на твоем месте боялся с русским языком напортачить. Благо, оснований для этого полно.

Перезагрузка конфигов:
asterisk -r
reload

netstat -lnp|grep asterisk

А другие, полезные, ищите сами.


service asterisk restart.
для портов netstat


кстати то что я написал, сработает только на redhat-like дистрах.

Спасибо дважды! за команды и за объективную критику!

Слушай, dada, ты не подскажешь где вы узнаете системные команды и ключи к ним?


Слушай, dada, ты не подскажешь где вы узнаете системные команды и ключи к ним?

наберив консоли man man.

где вы узнаете системные команды и ключи к ним?

Почитай какие-нибудь базовые статейки по администрированию линукса, гугл в помощь.


Запомни, самое лучшее что ты можешь прочитать - это man.

Запомни, самое лучшее что ты можешь прочитать - это man.

Враньё.
man как правило описывает лишь синтаксис, а не область применения.
Нубам нужны понятные статьи и учебники, а в мане лишь синтаксис и опции уточнить можно


а в мане лишь синтаксис и опции уточнить можно

а что ещё для счастья надо ?

В книгах и статьях можно узнать о применимости/неприменимости опций под конкретные задачи, что далеко не всегда очевидно из мана. Ман приносит лишь половину щастья, как правило лишь позволяет понять как работает конкретный однострочник, но не всегда позволяет самостоятельно написать такой же.

Еще раз всем спасибо=) оперативные задачи порешаю, займусь самообразованием!


Если что, от этого сессии попадают.


Чёт давненько я здесь не писал )

парни срочно! как сменить 1 пользователя на другого? я щас под юзером в астере нада на рута переключитсья как ето сделать?


Послушай. Это тебе не касса взаимопомощи, работать за тебя никто не будет. Поэтому ты должен как минимум научиться правильно вопросы формулировать, иначе тебе никто помогать не будет.

Вот пример, как НЕ надо делать:


asterisk -r -x 'help'

Слушай, zgen! я понимаю я не самый гениальный человек во вселенной! и да я нуб как выразились тут ранее! однако я учусь и стараюсь чтото делать! и у меня многое получается! как минимум 20 компов на убунту поставил они работают серваки не валятся каждые 10 мин коих у меня уже 3 ! и то ладно! я же не спрашиваю у тебя как перезагрузить комп и что делать с принтером верно? все мы чегото не знали ранее! здесь я спрашиваю только то, что реально не смог найти в нете, а нужно мне было ето еще вчера! темболее с командами в строке там все вообще запущено! даже man man не дал мне ответы на все вопросы! будет время буду читать и учиться! потому пожалуйста прояви немного если не уважения то хотя бы терпения!


Я тебе не говорю, что ты плохой человек, я тебе говорю, почему ответа на сформулированный подобным образом вопрос ты не получишь. Помочь хотел, но вижу - ты в моей помощи не нуждаешься и ладно. Запасусь терпением и просто не буду отвечать, раз это тебя так раздражает.

Справочник команд по работе в командной строке Asterisk.

Команды Asterisk

Команды IAX2

iax2 show peers
iax2 show registry
iax2 show channels
iax2 set debug…


Команды DAHDI

dahdi show channels
dahdi set dnd
dahdi restart
dahdi show version

Команды SIP

sip show peers

sip show registry
sip reload
sip show channels
sip show settings
sip set debug…

Команды Dialplan

dialplan show
dialplan reload
dialplan save
dialplan show globals
Вывод всех доступных команд Asterisk CLI

Команды IAX2

iax2 show peers


Отображает таблицу всех абонентов и транков, настроенных на работу по технологии IAX2. Информирует об имени абонента, его IP-адресе, статусе подключения.

iax2 show registry


Отображает IAX2 регистрации в системе. Информирует о хостах между которыми установлена регистрация, имени, а также статусе.

iax2 show channels


Отображает активные IAX2 каналы. Информирует о пользователе, Джиттере, джиттер-буфере.

iax2 set debug on
iax2 set debug off
iax2 set debug peer


Включает/выключает режим отладки для IAX2. Опция peer с указанием пользователя — включает отладочную информацию только для конкретного пользователя.

Команды DAHDI

dahdi show channels


Отображает активные на данный момент каналы DAHDI. Информирует о канале, экстеншене, контексте, статусе и о других параметрах

Активирует/деактивирует функцию « Не беспокоить» на указанном канале dahdi restart


Перезагружает все каналы DAHDI

dahdi show version


Отображает текущую версию драйвера DAHDI, а также версию программного эхоподавления.

Команды SIP

sip show peers

Отображает таблицу всех абонентов и транков Asterisk, настроенных на работу по технологии SIP. Информирует о номере абонента, его IP-адресе, статусе подключения, задержке отклика и прочих параметрах ( типа Dynamic, NAT и пр.)


sip show registry


Отображает все SIP регистрации в системе. Выводит такую информацию как: хост регистрации, порт, имя под готорым регистрируется, статус регистрации и время.

sip reload

Перезагружает модуль SIP-канала, используется после внесения каких-либо изменений в файл sip.conf


sip show channels


Отображает активные SIP-каналы ( разговоры), указывая хост пира, пользователя, идентификатор звонка.

sip show settings


Отображает текущие глобальные установки SIP.

sip set debug on
sip set debug off
sip set debug ip
sip set debug peer


включение/выключение режима отладки. Параметр on — включает отладку для всей станции, ip — для конкретно указанного ip-адреса ( как пользователя в системе, так и например, на ip адрес SIP оператора), peer — для конкретноко абонента системы ( внутреннего номера).

Команды Dialplan

dialplan show


Отображает текущий диалплан Asterisk

dialplan reload


Перезагружает конфигурацию диалплана. Используется для применения внесенных изменений в диалплан Asterisk ( посредством файла extensions.conf).

dialplan save
dialplan show globals


Отображает глобальные переменные диалплана.

Команды core

core show codecs

Отображает информацию о кодеках Asterisk


core restart gracefully


Перезапускает Asterisk, предварительно дождавшись завершения текущих разговоров

core restart now


Перезапускает Asterisk незамедлительно — текущие разговоры прерываются

core show help


Отображает все доступные команды Asterisk CLI с их кратким описанием


Остались вопросы?

Я - Кондрашин Игорь, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

категории

VoIP оборудование

Fanvil X3S
3 900 руб

Fanvil X3S
2 990 руб

Fanvil X3S
2 990 руб

Fanvil X3S
2 990 руб

Fanvil X3S
2 990 руб

Fanvil X3S
2 990 руб

ближайшие курсы

Курсы по Asterisk
последняя неделя
каждого месяца


Записаться

Новые статьи

Пример маршрутизации и проверки телефонного номера по API с использованием Python

Отправка уведомлений о звонках в Telegram

Настройка и подключение к Asterisk потока Е1

Настройка и подключение к Asterisk потока Е1 с использованием шлюза Yeastar TE







ближайшие Вебинары

Mikrotik User Meeting: конференция по сетевым технологиям

10 доводов в пользу Asterisk

Распространяется бесплатно.

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

Безопасен в использовании.

Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.

Надежен в эксплуатации.

Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.

Гибкий в настройке.

Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.

Имеет огромный функционал.

Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.

Интегрируется с любыми системами.

То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.

Позволяет телефонизировать офис за считанные часы.

В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.

Отличная масштабируемость.

Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.

Повышает управляемость бизнеса.

Asterisk дает не просто набор полезных функций, он повышает управляемость организации, качества и комфортности управления, а также увеличивает прозрачность бизнеса для руководства. Достичь этого можно, например, за счет автоматизации отчетов, подключения бота в Telegram, санкционированного доступа к станции из любой точки мира.

Снижает расходы на связь.

Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.

Инструкция позволит быстро познакомиться с сервером Asterisk, выполнив базовые действия по установке и настройке сервера. Нижеописанные действия протестированы на Ubuntu 16.04 и Asterisk 15.

Подготовка сервера

Актуализируем список пакетов:

Установка

Установку можно выполнить с помощью команды apt install asterisk. Но в данной инструкции мы разберем установку путем сборки из исходников.

Рекомендуется установить Asterisk с DAHDI (драйверы плат интерфейсов телефонии) и LibPRI (библиотека для работы с потоковыми TDM-интерфейсами). Сначала необходимо собрать DAHDI, затем LibPRI и только потом — Asterisk.

Устанавливаем пакеты, необходимые для корректной сборки DAHDI и LibPRI:

apt install make gcc

Сборка DAHDI

Распаковываем его и переходим в распакованный каталог:

tar -xvf dahdi-linux-complete-current.tar.gz

Собираем пакет и устанавливаем его:

Выходим из каталога dahdi:

Сборка LibPRI

tar -xvf libpri-current.tar.gz

Собираем и устанавливаем:

Выходим из каталога libpri:

Установка Asterisk

* в моем случае, последняя версия была 15.

Распаковываем архив и переходим в папку, появившуюся после распаковки:

tar -xvf asterisk-*.tar.gz

Устанавливаем библиотеки для работы с mp3:

./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=/usr/lib64 --with-dahdi --with-pri --with-iconv --with-libcurl --with-speex

** список всех доступных опций можно посмотреть командой ./configure -h.

Мы должны увидеть логотип астериска:

Вызываем оконное меню настройки модулей:

Для большинства случаев, настройки можно оставить по умолчанию. В противном случае рекомендуется изучить опции и выбрать необходимые. После нажимаем Save & Exit.

Затем собираем исходник:

И выполняем установку:

Установим примеры конфигурационных файлов и документацию:

Устанавливаем скрипт инициализации (для автозапуска):

Устанавливаем скрипты для отсекания логов:

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

Добавляем в него одну строчку:

* это путь до каталога с библиотеками, с которым мы собирали asterisk (опция --libdir).

Настройка и запуск

Открываем конфигурационный файл:

И редактируем следующее:

runuser = asterisk
rungroup = asterisk
defaultlanguage = ru
documentation_language = ru_RU

Создаем системную учетную запись asterisk:

useradd asterisk -m

chown -R asterisk:asterisk /var/run/asterisk

chown -R asterisk:asterisk /etc/asterisk

chown -R asterisk:asterisk /var//asterisk

chown -R asterisk:asterisk /usr/lib64/asterisk

chown -R asterisk:asterisk /var/log/asterisk

Исправляем ошибки и предупреждения. В моем случае были следующие.

Ошибки запуска

No configured users for ARI. ARI предоставляет API для Asterisk REST Interface. В данном примере, отключаем поддержку:

Name or service not known. Если появится такая ошибка, система не может разрешить имя компьютера в IP-адрес. Необходимо правильно настроить DNS или прописать имя компьютера в файл /etc/hosts.

No directory URL or host found. Модуль для работы lpad неправильно настроен или не настроен.
PostgreSQL RealTime: Failed to connect database asterisk on 127.0.0.1. Модуль для работы с СУБД PostgreSQL.
Failed to open /dev/dahdi/transcode: No such file or directory. Ошибку можно увидеть, если нет оборудования DAHDI.

Вышеописанные ошибки возникают из-за включенных, но не используемых модулей. Отключаем:

noload => res_config_ldap.so
noload => res_config_pgsql.so
noload => codec_dahdi.so

Предупреждения при запуске

  • Unable to find a valid server address or name.
  • Process_dahdi: Ignoring any changes to .
  • CEL pgsql config file missing global section.
  • Cel_tds module had config problems; declining load.

Отключаем следующие модули:

noload => res_phoneprov.so
noload => app_dahdiras.so
noload => chan_dahdi.so
noload => res_pjsip_phoneprov_provider.so
noload => cel_pgsql.so
noload => cel_tds.so

Список всех загружаемых модулей можно посмотреть командой:

ls -la /usr/lib64/asterisk/modules/

Разрешаем сервис asterisk и запускаем его:

systemctl enable asterisk

systemctl start asterisk

Заведение первых номеров

Для первой настройки достаточно завести 2 номера с возможностью подключения по SIP.

Создаем правило обработки вызова (контекст). Открываем следующий файл:

И добавляем в него следующее:

[outcaling]
exten => _XXXX,1,Dial(SIP/$,,m)

* создаем контекст с именем outcaling для четырехзначных номеров (XXXX) с вызовом по SIP по внутреннему номеру.

Открываем следующие конфигурационный файл:

И добавляем в него два внутренних номера (extensions):

[1001]
type=friend
regexten=1001
secret=1234
context=outcaling
host=dynamic
callerid="1001" <1001>
disallow=all
allow=alaw
allow=ulaw
language=ru
callgroup=1
pickupgroup=1
qualify=yes
canreinvite=yes
call-limit=4
nat=no

[1002]
type=friend
regexten=1002
secret=1234
context=outcaling
host=dynamic
callerid="1002" <1002>
disallow=all
allow=alaw
allow=ulaw
language=ru
callgroup=1
pickupgroup=1
qualify=yes
canreinvite=yes
call-limit=4
nat=no

  • [1001], [1002] — имена для обозначения номеров.
  • type — типы проверки номеров. Могут быть peer, user или friend. Peer — вызовы сопоставляются с IP-адресами и номерами портов. User — проверка username. Friend — включает возможности peer и user (проверка username и IP-адреса источника) и лучше всего подходит для телефонов и телефонных программ.
  • regexten — добавочный номер. Если не задан, используется имя.
  • secret — пароль для аутентификации.
  • context — контекст или группа правил.
  • host — IP-адрес или имя клиента. Для автоматической регистрации используем dynamic.
  • callerid — идентификатор пользователя при звонке.
  • disallow — запрещает кодеки (задается перед параметром allow).
  • allow — разрешает кодеки. alaw и ulaw — алгоритмы для кодеков g711.
  • language — код используемого языка.
  • callgroup — задает группу устройства (для возможности перехвата).
  • pickupgroup — задает перечень групп, которые можно перехватывать.
  • qualify — включает или отключает периодическую проверку подключенного клиента.
  • canreinvite — включает или отключает прохождение голосового RTP трафика через Asterisk. Устанавливать, только если клиент поддерживает функцию SIP re-invites.
  • call-limit — ограничение количества одновременных вызовов.
  • nat — устанавливается в yes, если клиент находиться за NAT.

systemctl restart asterisk

Проверка

Все, что происходит в Asterisk можно посмотреть в лог-файле командой:

tail -f /var/log/asterisk/messages

Для теста настроенного сервера можно воспользоваться IP-телефоном или софт-фоном на компьютере или телефоне. Например, а качестве SIP-клиента под Windows можно установить бесплатную программу 3CX, для Android — Zoiper.

Подробнее рассмотрим настройку 3CX. Скачиваем ее с официального сайта. Устанавливаем, приняв лицензионное соглашение и нажимая далее. После установки запускаем приложение и на запрос отвечаем, что создадим новый профиль. Нажимаем New и вводим данные для подключения:

Пример настройки подключения к Asterisk в софтфоне 3CX

* настраиваем первый клиент для подключения с логином и паролем 1001 / 1234, второй — 1002 / 1234.

Читайте также: