В предыдущей статье, мы рассказывали, как установить Asterisk 14.3.0 из источников, в сегодняшней статье, хотелось бы поговорить про базовые возможности управления Asterisk из командной строки после установки.
По умолчанию, после запуска Asterisk будет работать как процесс в фоновом режиме и для того, чтобы подключиться и начать управлять работающим процессом, необходимо включить удаленную консоль следующей командой:
[root@localhost ~]# asterisk -r Asterisk 14.3.0, Copyright (C) 1999 - 2016, Digium, Inc. and others. Created by Mark Spencer <markster@digium.com> Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ========================================================================= Connected to Asterisk 14.3.0 currently running on localhost (pid = 1887) localhost*CLI>
Опция -R также поможет подключить удаленную консоль, однако она будет автоматически пробовать переподключиться к Asterisk, если по каким-то причинам, соединение было разорвано.
Чтобы отключиться от удаленной консоли Asterisk, нужно нажать сочетание клавиш Ctrl+C
Существует несколько способов остановки работающего процесса Asterisk:
core stop now
- данная команда мгновенно останавливает процесс, обрывая все проходящие на сервере соединения и звонкиcore stop gracefully
- данная команда не позволяет новым соединениям устанавливаться на Asterisk, но позволяет текущим соединениям продолжаться. Когда все соединения заканчиваются, то Asterisk останавливаетсяcore stop when convenient
- данная команда также дожидается пока на сервере не останется текущих звонков, а затем останавливает Asterisk. Однако, новые звонки, поступающие на сервер - разрешены
Команды для перезапуска процесса Asterisk работают аналогично командам, останавливающим процесс, которые описаны выше, но вместо того чтобы останавливать Asterisk, они его перезапускают в соответствии с синтаксисом команды:
core restart now
core restart gracefully
core restart when convenient
Существует также команда, которая отменяет введенную ранее команду остановки или перезапуска, если пользователь вдруг передумал:
core abort shutdown
Также можно подключиться к Asterisk как root, командой:
[root@localhost ~]# asterisk -c Asterisk 14.3.0, Copyright (C) 1999 - 2016, Digium, Inc. and others. Created by Mark Spencer <markster@digium.com> Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for detail s. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ========================================================================= [ Initializing Custom Configuration Options ] *CLI> Asterisk Ready.
Мы категорически не рекомендуем запускать Asterisk с правами root’а, поскольку это опасно и может негативно повлиять на систему, на которой работает Asterisk.
Управление степенью логирования событий в Asterisk
Вы можете управлять тем, насколько подробно будут логироваться события Asterisk, для этого используется специальная опция -v. Каждая –v повышает уровень VERBOSE сообщений.
Например, следующая команда повышает уровень логирования на 2:
# asterisk –r –v -v
Возможен и такой вариант ввода, разницы между ними нет
# asterisk -rvv
Другие опции
Можно также запускать Asterisk от имени другого пользователя:
# asterisk –U asteriskuser
Для работы от имени другого пользователя, советуем убедиться, что у него есть разрешения на доступ к следующим директориям. Используйте команды:
# sudo chown -R asteriskuser:asteriskuser /usr/lib/asterisk # sudo chown -R asteriskuser:asteriskuser /var/lib/asterisk # sudo chown -R asteriskuser:asteriskuser /var/spool/asterisk # sudo chown -R asteriskuser:asteriskuser /var/log/asterisk # sudo chown -R asteriskuser:asteriskuser /var/run/asterisk # sudo chown asteriskuser:asteriskuser /usr/sbin/asterisk
Команды в консоль сервера IP - АТС Asterisk можно и давать с помощью графической оболочки FreePBX. Для этого, перейдите в раздел Admin → Asterisk CLI
Существует большое множество других опций и режимов, доступных при запуске Asterisk, для того чтобы посмотреть и ознакомиться с ними, используйте команду:
# asterisk –h
Чтобы управлять сервисом Asterisk из командной строки Вашей операционной системы используйте следующие команды:
Для запуска сервиса:
# service asterisk start Starting asterisk (via systemctl): [ OK ]
Для остановки сервиса:
# service asterisk stop Stopping asterisk (via systemctl): [ OK ]
Для перезапуска сервиса:
# service asterisk restart Stopping asterisk (via systemctl): [ OK ] Starting asterisk (via systemctl): [ OK ]
Для проверки статуса:
# service asterisk status ? asterisk.service - LSB: Asterisk PBX Loaded: loaded (/etc/rc.d/init.d/asterisk; bad; vendor preset: disabled) Active: active (running) since Wed 2017-03-01 15:59:26 MSK; 2s ago Docs: man:systemd-sysv-generator(8) Process: 11611 ExecStop=/etc/rc.d/init.d/asterisk stop (code=exited, status=0/SUCCESS) Process: 11672 ExecStart=/etc/rc.d/init.d/asterisk start (code=exited, status=0/SUCCESS) Main PID: 11697 (asterisk) CGroup: /system.slice/asterisk.service +-11695 /bin/sh /usr/sbin/safe_asterisk L-11697 /usr/sbin/asterisk -f -vvvg -c Mar 01 15:59:26 localhost.localdomain systemd[1]: Starting LSB: Asterisk PBX... Mar 01 15:59:26 localhost.localdomain asterisk[11672]: Starting asterisk: Mar 01 15:59:26 localhost.localdomain systemd[1]: PID file /var/run/asterisk/... Mar 01 15:59:26 localhost.localdomain systemd[1]: asterisk.service: Supervisi... Mar 01 15:59:26 localhost.localdomain systemd[1]: Started LSB: Asterisk PBX. Hint: Some lines were ellipsized, use -l to show in full.