Внимание!
Эта wiki об устаревших версиях
Документация к актуальной версии интеграции 1С и телефонии доступна по ссылке

Инструменты пользователя

Инструменты сайта


kb:asterisk:ami

Различия

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

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
kb:asterisk:ami [2012/01/30 14:56]
amzh
kb:asterisk:ami [2018/05/16 14:23] (текущий)
tpor [Полезные ссылки]
Строка 4: Строка 4:
 Интерфейс управления сервером Asterisk (далее Manager API) позволяет клиентским программам соединяться с серверным приложением Asterisk, отправлять ему команды и/или считывать события,​ происходящие в АТС, используя TCP/IP протокол. Те, кто занимается интеграцией различных задач, могут найти много полезного для себя, например,​ отслеживая поведение телефонных абонентов и управляя ими на основании каких-либо правил. Интерфейс управления сервером Asterisk (далее Manager API) позволяет клиентским программам соединяться с серверным приложением Asterisk, отправлять ему команды и/или считывать события,​ происходящие в АТС, используя TCP/IP протокол. Те, кто занимается интеграцией различных задач, могут найти много полезного для себя, например,​ отслеживая поведение телефонных абонентов и управляя ими на основании каких-либо правил.
  
-Для коммуникации между АТС Asterisk и подсоединенным Manager API клиентом используется простой текстовый построчный протоков вида: "​параметр:​ значение"​. Окончание строки определяется последовательностью CRLF. Для упрощения дальнейшего описания,​ мы будем использовать термин "​пакет " для описания набора строк вида "​параметр:​ значение",​ после которых идет пустая строка,​ содержащая только символы возврата каретки и перевода строки (CRLF).+Для коммуникации между АТС Asterisk и подсоединенным Manager API клиентом используется простой текстовый построчный протокол вида: ​//"​параметр:​ значение"​//. Окончание строки определяется последовательностью CRLF. Для упрощения дальнейшего описания,​ мы будем использовать термин "​пакет " для описания набора строк вида "​параметр:​ значение",​ после которых идет пустая строка,​ содержащая только символы возврата каретки и перевода строки (CRLF).
  
  
Строка 15: Строка 15:
 Перед отправкой команд серверу Asterisk, Вы должны установить manager API сессию (см. ниже). Перед отправкой команд серверу Asterisk, Вы должны установить manager API сессию (см. ниже).
 Пакеты могут передаваться в любом направлении в любое время, после прохождения авторизации. Пакеты могут передаваться в любом направлении в любое время, после прохождения авторизации.
-Первая строка в пакете должна содержать параметр "​Action",​ если она отправляется от клиента серверу и ,​соответственно,​ "​Event"​ или "​Response",​ когда пакет передается от Asterisk клиенту.+Первая строка в пакете должна содержать параметр "**Action**", если она отправляется от клиента серверу и ,​соответственно,​ "**Event**" или "**Response**", когда пакет передается от Asterisk клиенту.
 Порядок строк в пределах пакета не имеет значения,​ следовательно,​ Вы можете использовать для хранения одного пакета библиотеку Вашего языка программирования,​ где не требуется использования сортировки,​ тем самым увеличив производительность составления пакета данных. Порядок строк в пределах пакета не имеет значения,​ следовательно,​ Вы можете использовать для хранения одного пакета библиотеку Вашего языка программирования,​ где не требуется использования сортировки,​ тем самым увеличив производительность составления пакета данных.
 Последовательность символов CRLF используется для отделения строк друг от друга, а пустая строка (два подряд идущих CRLF) указывает на окончание команды и Asterisk приступает к ее выполнению. Последовательность символов CRLF используется для отделения строк друг от друга, а пустая строка (два подряд идущих CRLF) указывает на окончание команды и Asterisk приступает к ее выполнению.
Строка 22: Строка 22:
  
  
-Тип пакета определяется наличием одного из следующих значений параметра в паре “Параметр:​ значение”:​+Тип пакета определяется наличием одного из следующих значений параметра в паре “//Параметр:​ значение//”:
  
-Action: Пакет отправляется подсоединенным клиентом серверу Asterisk, в значении параметра указывается требуемое действие,​ которое должно быть выполнено сервером Asterisk. Набор действий является ограниченным (но расширяемым) списком,​ который доступен клиенту,​ в зависимости от загруженных модулей сервера Asterisk и прав назначенных пользователю,​ от имени которого подсоединился клиент. За один раз (в пределах одного пакета) может быть указано только одно действие. Пакет “Action” содержит имя запрашиваемой операции,​ а также все требуемые параметры команды. +**Action**: Пакет отправляется подсоединенным клиентом серверу Asterisk, в значении параметра указывается требуемое действие,​ которое должно быть выполнено сервером Asterisk. Набор действий является ограниченным (но расширяемым) списком,​ который доступен клиенту,​ в зависимости от загруженных модулей сервера Asterisk и прав назначенных пользователю,​ от имени которого подсоединился клиент. За один раз (в пределах одного пакета) может быть указано только одно действие. Пакет “Action” содержит имя запрашиваемой операции,​ а также все требуемые параметры команды.\\  
-Response: Пакет содержащий ответ, отправленный сервером Asterisk, на последнюю команду,​ которую клиент отправил серверу. +**Response**: Пакет содержащий ответ, отправленный сервером Asterisk, на последнюю команду,​ которую клиент отправил серверу.\\  
-Event: Пакет с данными относящимися к какому-либо событию сгенерированному сервером Asterisk или его загруженными модулями.+**Event**: Пакет с данными относящимися к какому-либо событию сгенерированному сервером Asterisk или его загруженными модулями.
  
 В основном,​ клиенты отправляют “Action” пакеты Asterisk серверу,​ Asterisk сервер производит требуемые операции и возвращает результат (часто это только сообщение об успехе или ошибке) в “Response” пакете. Так как нет никакой гарантии,​ относительно того, что ответы на команды будут приходить в той же последовательности,​ что и поступающие запросы,​ клиентские приложения включают в пакет параметр “ActionID” в каждый “Action” пакет запроса. Этот параметр сервер Asterisk вернет без изменений в ответном “Response” пакете. Таким образом,​ клиентское приложение может просто сопоставить каждому пакету типа “Action” соответствующий ответ “Response”,​ в том случае,​ если требуется отсылать несколько запросов сразу, не дожидаясь пока на каждый из отправленных запросов придет соответствующий “Response”ответ. В основном,​ клиенты отправляют “Action” пакеты Asterisk серверу,​ Asterisk сервер производит требуемые операции и возвращает результат (часто это только сообщение об успехе или ошибке) в “Response” пакете. Так как нет никакой гарантии,​ относительно того, что ответы на команды будут приходить в той же последовательности,​ что и поступающие запросы,​ клиентские приложения включают в пакет параметр “ActionID” в каждый “Action” пакет запроса. Этот параметр сервер Asterisk вернет без изменений в ответном “Response” пакете. Таким образом,​ клиентское приложение может просто сопоставить каждому пакету типа “Action” соответствующий ответ “Response”,​ в том случае,​ если требуется отсылать несколько запросов сразу, не дожидаясь пока на каждый из отправленных запросов придет соответствующий “Response”ответ.
Строка 82: Строка 82:
   * [[kb:​asterisk:​ami:​Challenge|Challenge]]:​ Генерация хеша для MD5 аутентификации.   * [[kb:​asterisk:​ami:​Challenge|Challenge]]:​ Генерация хеша для MD5 аутентификации.
   * [[kb:​asterisk:​ami:​ChangeMonitor|ChangeMonitor]]:​ Изменение имени файла для записи вызова для канала. ​   * [[kb:​asterisk:​ami:​ChangeMonitor|ChangeMonitor]]:​ Изменение имени файла для записи вызова для канала. ​
-  * [[kb:​asterisk:​ami:​command|Command]]: Выполнение команды. ​+  * [[kb:​asterisk:​ami:​Command|Command]]: Выполнение команды. ​
   * [[kb:​asterisk:​ami:​ConfbridgeKick|ConfbridgeKick]]:​ Дропнуть пользователя конференции.   * [[kb:​asterisk:​ami:​ConfbridgeKick|ConfbridgeKick]]:​ Дропнуть пользователя конференции.
   * [[kb:​asterisk:​ami:​ConfbridgeList|ConfbridgeList]]:​ Список участников конференции.   * [[kb:​asterisk:​ami:​ConfbridgeList|ConfbridgeList]]:​ Список участников конференции.
Строка 112: Строка 112:
   * [[kb:​asterisk:​ami:​ExtensionState|ExtensionState]]:​ Проверка состояние екстеншена.   * [[kb:​asterisk:​ami:​ExtensionState|ExtensionState]]:​ Проверка состояние екстеншена.
   * [[kb:​asterisk:​ami:​Filter|Filter]]   * [[kb:​asterisk:​ami:​Filter|Filter]]
-  * [[kb:​asterisk:​ami:​FilterList|FilterList]]+  * [[kb:​asterisk:​ami:​FilterList|FilterList]]: Показать текущие фильтры событий для этой сессии.
   * [[kb:​asterisk:​ami:​GetConfig|GetConfig]]:​ Получение заданного файла конфигурации.   * [[kb:​asterisk:​ami:​GetConfig|GetConfig]]:​ Получение заданного файла конфигурации.
   * [[kb:​asterisk:​ami:​GetConfigJSON|GetConfigJSON]]:​ Получение заданного файла конфигурации в формате JSON.   * [[kb:​asterisk:​ami:​GetConfigJSON|GetConfigJSON]]:​ Получение заданного файла конфигурации в формате JSON.
Строка 121: Строка 121:
   * [[kb:​asterisk:​ami:​IAXpeers|IAXpeers]]:​ Список IAX пиров.   * [[kb:​asterisk:​ami:​IAXpeers|IAXpeers]]:​ Список IAX пиров.
   * [[kb:​asterisk:​ami:​IAXregistry|IAXregistry]]:​ Отобразить зарегистрированных IAX пиров.   * [[kb:​asterisk:​ami:​IAXregistry|IAXregistry]]:​ Отобразить зарегистрированных IAX пиров.
-  * [[kb:​asterisk:​ami:​JabberSend|JabberSend]]+  * [[kb:​asterisk:​ami:​JabberSend|JabberSend]]: Команда посылает сообщение Jabber клиенту.
   * [[kb:​asterisk:​ami:​ListCategories|ListCategories]]:​ Получения списка категорий конфигурационного файла.   * [[kb:​asterisk:​ami:​ListCategories|ListCategories]]:​ Получения списка категорий конфигурационного файла.
   * [[kb:​asterisk:​ami:​ListCommands|ListCommands]]:​ Получение списка доступных команд для Manager API.   * [[kb:​asterisk:​ami:​ListCommands|ListCommands]]:​ Получение списка доступных команд для Manager API.
-  * [[kb:​asterisk:​ami:​LocalOptimizeAway|LocalOptimizeAway]]+  * [[kb:​asterisk:​ami:​LocalOptimizeAway|LocalOptimizeAway]]: Оптимизировать выход локального канала,​ когда это возможно.
   * [[kb:​asterisk:​ami:​Login|Login]]:​ Начало сеанса Asterisk Manager API.   * [[kb:​asterisk:​ami:​Login|Login]]:​ Начало сеанса Asterisk Manager API.
   * [[kb:​asterisk:​ami:​Logoff|Logoff]]:​ Выход из Manager API.   * [[kb:​asterisk:​ami:​Logoff|Logoff]]:​ Выход из Manager API.
Строка 133: Строка 133:
   * [[kb:​asterisk:​ami:​MeetmeMute|MeetmeMute]]:​ Выключение микрофона у участника конференции Meetme.   * [[kb:​asterisk:​ami:​MeetmeMute|MeetmeMute]]:​ Выключение микрофона у участника конференции Meetme.
   * [[kb:​asterisk:​ami:​MeetmeUnmute|MeetmeUnmute]]:​ Включение микрофона у участника конференции Meetme.   * [[kb:​asterisk:​ami:​MeetmeUnmute|MeetmeUnmute]]:​ Включение микрофона у участника конференции Meetme.
-  * [[kb:​asterisk:​ami:​MixMonitorMute|MixMonitorMute]] ​+  ​* [[kb:​asterisk:​ami:​MessageSend|MessageSend]]:​ Send an out of call message to an endpoint. 
 +  * [[kb:​asterisk:​ami:​MixMonitor|MixMonitor]]:​ Record a call and mix the audio during the recording. Use of StopMixMonitor is required to guarantee the audio file is available for processing during dialplan execution. 
 +  ​* [[kb:​asterisk:​ami:​MixMonitorMute|MixMonitorMute]] ​: Mute / unMute a Mixmonitor recording.
   * [[kb:​asterisk:​ami:​ModuleCheck|ModuleCheck]]:​ Проверка загружен ли указанный модуль.   * [[kb:​asterisk:​ami:​ModuleCheck|ModuleCheck]]:​ Проверка загружен ли указанный модуль.
   * [[kb:​asterisk:​ami:​ModuleLoad|ModuleLoad]]:​ Управление модулями Asterisk.   * [[kb:​asterisk:​ami:​ModuleLoad|ModuleLoad]]:​ Управление модулями Asterisk.
   * [[kb:​asterisk:​ami:​Monitor|Monitor]]:​ Запись разговора на заданном канале.   * [[kb:​asterisk:​ami:​Monitor|Monitor]]:​ Запись разговора на заданном канале.
-  * [[kb:​asterisk:​ami:​originate|Originate]]:​ Совершение исходящего вызова.+  * [[kb:​asterisk:​ami:​MuteAudio|MuteAudio]]:​ Mute an audio stream. 
 +  * [[kb:​asterisk:​ami:​Originate|Originate]]:​ Совершение исходящего вызова.
   * [[kb:​asterisk:​ami:​Park|Park]]:​ Парковка вызова.   * [[kb:​asterisk:​ami:​Park|Park]]:​ Парковка вызова.
   * [[kb:​asterisk:​ami:​ParkedCalls|ParkedCalls]]:​ Список запаркованных вызовов.   * [[kb:​asterisk:​ami:​ParkedCalls|ParkedCalls]]:​ Список запаркованных вызовов.
 +  * [[kb:​asterisk:​ami:​Parkinglots|Parkinglots]]:​ Get a list of parking lots.
   * [[kb:​asterisk:​ami:​PauseMonitor|PauseMonitor]]:​ Временная приостановка записи вызова.   * [[kb:​asterisk:​ami:​PauseMonitor|PauseMonitor]]:​ Временная приостановка записи вызова.
   * [[kb:​asterisk:​ami:​ping|Ping]]:​ В ответ получим “Pong”.   * [[kb:​asterisk:​ami:​ping|Ping]]:​ В ответ получим “Pong”.
   * [[kb:​asterisk:​ami:​PlayDTMF|PlayDTMF]]:​ Генерация DTMF сигнала на заданном канале.   * [[kb:​asterisk:​ami:​PlayDTMF|PlayDTMF]]:​ Генерация DTMF сигнала на заданном канале.
-  * [[kb:​asterisk:​ami:​PRIShowSpans|PRIShowSpans]]+  ​* [[kb:​asterisk:​ami:​PresenceState|PresenceState]]:​ Check Presence State 
 +  ​* [[kb:​asterisk:​ami:​PRIShowSpans|PRIShowSpans]]: Функция,​ аналогичная команде CLI "pri show spans"​.
   * [[kb:​asterisk:​ami:​QueueAdd|QueueAdd]]:​ Добавление интерфейса в очередь вызовов. ​   * [[kb:​asterisk:​ami:​QueueAdd|QueueAdd]]:​ Добавление интерфейса в очередь вызовов. ​
   * [[kb:​asterisk:​ami:​QueueLog|QueueLog]]:​ Добавить произвольную запись в queue_log.   * [[kb:​asterisk:​ami:​QueueLog|QueueLog]]:​ Добавить произвольную запись в queue_log.
 +  * [[kb:​asterisk:​ami:​QueueMemberRingInUse|QueueMemberRingInUse]] Set the ringinuse value for a queue member.
   * [[kb:​asterisk:​ami:​QueuePause|QueuePause]]:​ Отмечает или снимает отметку временной недоступности участника,​ обрабатывающего очередь вызовов. ​   * [[kb:​asterisk:​ami:​QueuePause|QueuePause]]:​ Отмечает или снимает отметку временной недоступности участника,​ обрабатывающего очередь вызовов. ​
   * [[kb:​asterisk:​ami:​QueuePenalty|QueuePenalty]]:​ Установка пенальти для участника,​ обрабатывающего очередь вызовов.   * [[kb:​asterisk:​ami:​QueuePenalty|QueuePenalty]]:​ Установка пенальти для участника,​ обрабатывающего очередь вызовов.
Строка 165: Строка 171:
   * [[kb:​asterisk:​ami:​SIPshowPeer|SIPshowPeer]]:​ Получение данных SIP пира (текстовый формат). ​   * [[kb:​asterisk:​ami:​SIPshowPeer|SIPshowPeer]]:​ Получение данных SIP пира (текстовый формат). ​
   * [[kb:​asterisk:​ami:​SIPshowregistry|SIPshowregistry]]:​ Отобразить зарегистрированных SIP пиров (текстовый формат).   * [[kb:​asterisk:​ami:​SIPshowregistry|SIPshowregistry]]:​ Отобразить зарегистрированных SIP пиров (текстовый формат).
-  * [[kb:​asterisk:​ami:​SKINNYdevices|SKINNYdevices]] +  * [[kb:​asterisk:​ami:​SKINNYdevices|SKINNYdevices]]: Списки Skinny устройств в текстовом формате c подробной информацией о текущем состоянии. 
-  * [[kb:​asterisk:​ami:​SKINNYlines|SKINNYlines]] +  * [[kb:​asterisk:​ami:​SKINNYlines|SKINNYlines]]: Списки Skinny линий в текстовом формате с подробной информацией о текущем состоянии. ​ 
-  * [[kb:​asterisk:​ami:​SKINNYshowdevice|SKINNYshowdevice]] +  * [[kb:​asterisk:​ami:​SKINNYshowdevice|SKINNYshowdevice]]: Отображает одно Skinny устройство c подробной информацией о текущем состоянии. 
-  * [[kb:​asterisk:​ami:​SKINNYshowline|SKINNYshowline]]:​Отображает статус ​Skinny устройства ​с деталями.+  * [[kb:​asterisk:​ami:​SKINNYshowline|SKINNYshowline]]:​ Отображает ​все Skinny устройства ​c подробной информацией о текущем состоянии.
   * [[kb:​asterisk:​ami:​Status|Status]]:​ Получение состояний активных каналов.   * [[kb:​asterisk:​ami:​Status|Status]]:​ Получение состояний активных каналов.
 +  * [[kb:​asterisk:​ami:​StopMixMonitor|StopMixMonitor]] Stop recording a call through MixMonitor, and free the recording'​s file handle.
   * [[kb:​asterisk:​ami:​StopMonitor|StopMonitor]]:​ Останов записи разговора на заданном канале.   * [[kb:​asterisk:​ami:​StopMonitor|StopMonitor]]:​ Останов записи разговора на заданном канале.
   * [[kb:​asterisk:​ami:​UnpauseMonitor|UnpauseMonitor]]:​ Возобновление остановленной записи вызова.   * [[kb:​asterisk:​ami:​UnpauseMonitor|UnpauseMonitor]]:​ Возобновление остановленной записи вызова.
Строка 198: Строка 205:
  
  ===== Полезные ссылки =====  ===== Полезные ссылки =====
 +  * [[http://​wiki.askozia.ru/​handbook:​ami|Инструкция для подключения к AMI АТС]]
   * Описание протокола Asterisk Manager Interface (AMI) на русском [[http://​asterisk.ru/​knowledgebase/​Asterisk+Manager+API]]   * Описание протокола Asterisk Manager Interface (AMI) на русском [[http://​asterisk.ru/​knowledgebase/​Asterisk+Manager+API]]
   * Описание протокола Asterisk Manager Interface (AMI) на английском (полное)[[http://​www.voip-info.org/​wiki/​view/​Asterisk+manager+API]]   * Описание протокола Asterisk Manager Interface (AMI) на английском (полное)[[http://​www.voip-info.org/​wiki/​view/​Asterisk+manager+API]]
kb/asterisk/ami.1327935361.txt.gz · Последние изменения: 2014/11/14 22:32 (внешнее изменение)