Asterisk - команды. Работа с консолью Asterisk

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

Так что же такое Asterisk?

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

Операционная система не имеет значения для полноценного функционирования комплекса, так как продукт является кроссплатформенным. Гибкость Asterisk заключается в том, что она имеет возможность создавать собственные модули на основе встроенного языка.

Система поддерживает многие известные протоколы, например, SIP, MGCP, SCCP.

У Asterisk также имеется свой собственный протокол IAX, позволяющий обмениваться информацией между серверами одной системы.

Принципы работы

Какого-то особого оборудования для работы Asterisk не требуется. Все известные устройства без каких-либо проблем стыкуются с системой. В некоторых случаях имеет смысл использовать фирменное оборудование от компании Digium, создателей системы.

Все функционирование системы происходит за счёт чтения из конфигурационных файлов. Самый главный из них — sip.conf. В его недрах заключены сведения о работе протокола SIP, настройках NAT и других ключевых функций.

По умолчанию сразу готов к работе и допускает использование Asterisk в полном его функционале. Однако должны быть заполнены данные об учётных записях. В sip.conf имеется три разновидности:

  • user;
  • peer;
  • friend.

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

CLI команды Asterisk

Для управления и анализа работы системы используется специальный интерфейс командной строки. Войти в него можно с помощью rasterisk. Такой же эффект даст команда asterisk -rvvv. Ключ -rvvv нужен для изменения уровня логирования.

Для начала стоит рассмотреть общие команды CLI Asterisk:

  • sip show peers - асширенная информация о всех абонентах системы, их номерах, ip адресах, пингах и мн. др.;
  • sip show registry - показывает все имеющиеся регистрации SIP;
  • sip reload - команда используется после того как были внесены определенные изменения в конфигурационный файл sip.conf. По сути, она производит перезагрузку модуля;
  • sip show channels - показывает активные в данный момент каналы с информацией о пользователях, идентификаторы звонков и другую;
  • sip show settings - отображает все глобальные настройки SIP;
  • sip set debug - включает режим отладки. Можно указать конкретный адрес или пира;
  • dialplan show - отобразит используемый диалплан;
  • dialplan reload - выполнит его перезагрузку;
  • core show codecs - выведет информацию о всех установленных в систему Asterisk кодеках;
  • core restart now - произведёт незамедлительную перезагрузку Asterisk;
  • core show help - список применяемых в Asterisk команд.

Следующие команды используются реже, но они также важны и могут понадобиться при настройке и анализе:

  • keys show - отображение всех RSA ключей;
  • keys init - задание пароля для отдельного ключа RSA;
  • indication show - отображение перечня индикаторов и стран;
  • http show status - выводит статус HTTP сервера;
  • database showkey - отображает сведения из базы данных по ключу;
  • database del - удаляет ключ и значения из БД;
  • core show threads - отображает сведения о запущенных приложениях;
  • core show function - показывает сведения о специальных функциях текущего диалплана.

AMI - команды Asterisk

Для управления системой из внешних приложений был придуман специальный интерфейс. Называется он AMI. И происходит этот процесс способом ввода специальных Asterisk AMI команд. Передаются они по протоколу TCP. Это очень удобный механизм для удалённого управления системой из различных программных решений.

Вкратце расскажем: между клиентским приложением и сервером устанавливается соединение, при помощи команд Asterisk происходит изменение настроек. Для этого ему передаётся строка, которая состоит из следующих элементов:

  • key - ключевое слово, которое содержит описание для информации в поступившей строке;
  • value - значение ключа.

Для того чтобы появилась возможность отправлять серверу Asterisk команды, нужно к нему сначала подключиться. После того как соединение будет установлено, можно посылать пакеты. Они могут быть переданы в любом порядке. В ключе должен быть указано одно из следующих слов: Action, Event, Response. Теперь немного подробней о них:

  • Action. После того как сервер получит данный тип пакета, будет произведено какое-либо действие. На один пакет — одно действие.
  • Response. Здесь заключается ответ сервера после выполненного действия.
  • Event. Информация о событии, произошедшем на сервере.

Response может принимать несколько значений, в зависимости от того, какое действие выполнил сервер. Например, успешное завершение будет инициироваться словом Success, ошибка — Error, Follows — сведения о реакции сервера будут переданы в следующих пакетах.

Использование и примеры

Чтобы понять, как использовать команды Asterisk, нужно рассмотреть несколько примеров.

Action: login Username: admin Secret: secret12

В этой строке передается пакет Action, содержащий имя пользователя с паролем. Ключевое слово login означает, что нужно авторизоваться в системе с указанными параметрами. В ответ сервер может прислать нечто вроде этого: Response: Success Message: Authentification accepted.

Данная строка говорит о том, что операция прошла успешно.

Отключение от Asterisk можно выполнить, передав команду Action: logoff. В ответе придет сообщение с прощанием.

Следующий пример покажет, как с помощью команд Asterisk и AMI можно совершить вызов: Action: Originate Channel: SIP/2001 Context: incoming Exten: 2001 Priority: 1 Callerid: 2001 Variable: ANSWER = 1 Variable: _ACC=1.

В команде передаются данные о пользователе, совершающем звонок. Это отражается в Callerid и Channel.

На самом деле через AMI можно реализовать множество различных операций и функций. Ознакомиться с полным перечнем можно в официальном руководстве на сайте производителя.

Заключение

Использование команд консоли Asterisk придаёт гибкость и универсальность системе. А значит, что можно применять её удалённо. При этом есть возможность сохранить весь функционал комплекса.

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

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

Комментарии