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

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

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


kb:asterisk:ami

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
kb:asterisk:ami [2014/11/14 22:32]
127.0.0.1 внешнее изменение
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”ответ.
Строка 205: Строка 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.1416004347.txt.gz · Последние изменения: 2017/01/16 11:38 (внешнее изменение)