asterisk настройка manager conf

ИТ База знаний

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Серверные решения

Телефония

Настройка программных телефонов

Корпоративные сети

Популярное и похожее

FreePBX 13 настройка c нуля

Asterisk — настройка с нуля

FreePBX 13 настройка c нуля

Отправка записи разговора на email в Asterisk

Про Asterisk Manager Interface (AMI) в FreePBX 13

Например, интеграция с 1С через AMI

Интерфейс управления Asterisk, или как его называют Asterisk Manager Interface (AMI) представляет собой интерфейс для управления вашей IP – АТС внешними приложениями, путем передачи команд или получения различных телефонных событий. Зачастую, данный интерфейс используется для интеграции 1С и asterisk, что позволяет принимать звонки в интерфейсе 1С, выполнять вызовы, подтягивать карточку клиента при входящем звонке и так далее.

Разберем настройку данного интерфейса и параметров подключения к нему на примере настройки через графический интерфейс администратора FreePBX 13 и через консоль сервера (CLI) в настройках CentOS

Настройка AMI в FreePBX

В верхнем меню навигации, выберите вкладку Settings и далее перейдите в раздел Asterisk Managers, как указано на скриншоте ниже:

Далее, для того, чтобы добавить нового пользователя, нажмите на кнопку Add Manager:

Откроется окно настройки нового пользователя. Разберем каждый пункт отдельно:

  • Manager Name — Имя пользователя AMI. Не должно содержать в себе пробелы.
  • Manager Secret — Пароль для пользователя AMI.
  • Deny — В данном поле вы можете указать IP – адрес и маску подсети, с которых необходимо запретить подключение к AMI по указанным данным. Если хотите указать несколько подсетей, то используйте символ &. Например, 192.168.1.0/255.255.255.0&192.168.2.0/255.255.255.0
  • Permit — Укажите IP – адрес и маску подсети, с которых разрешено подключение к AMI через этого пользователя. Синтаксис аналогичен как и в поле Deny.
  • Write Timeout — Укажите таймаут, который будет использовать Asterisk при записи данных через данную AMI учетную запись. По умолчанию, период равен 100 миллисекунд.
Читайте также:  настройка torrent для byfly

Следующим шагом будет настройка прав данного пользователя. Для этого, необходимо перейти во вкладку Rights

По окончанию настроек нажмите Submit

Настройка AMI в CLI

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

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

Делаем следующие настройки в секции [general]:

Переходим к настройке самого пользователя. Для этого, под секцией [general] необходимо создать нового пользователя. Дадим ему имя – test с паролем P@ssw0rd :

По окончанию настроек, нажмите комбинацию клавиш :x! для сохранения файла. После этого, введите команду:

Проверяем подключения к AMI

Теперь, после настроек, проверим подключение к AMI через созданного пользователя. Для этого, через консоль сервера сделаем подключение по протоколу telnet на порт 5038, который указан в секции [general] в параметре Port, конфигурационного файла manager.conf :

Готово. Ответом на подключения является сообщение Success. Это означает, что интерфейс настроен и готов к работе.

Полезна ли Вам эта статья?

Пожалуйста, расскажите почему?

Нам жаль, что статья не была полезна для вас 🙁 Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!

Подпишитесь на нашу еженедельную рассылку, и мы будем присылать самые интересные публикации 🙂 Просто оставьте свои данные в форме ниже.

источник

Коротко об Asterisk Manager Interface

Asterisk Manager Interface (AMI ) — интерфейс Asterisk, позволяет другим приложениям обмениваться с ним сообщениями. Работает следующим образом: приложение устанавливает TCP-соединение на порт 5038 ( по умолчанию) хоста Asterisk, после чего приложение может посылать и принимать сообщения Asterisk.
С помощью интерфейса AMI удобно организовывать взаимодействие Asterisk и CRM-системы. После этого станет возможным, к примеру, автоматически открывать карточку клиента, когда оператор принимает вызов, инициировать вызовы из CRM-системы, совершать автообзвон клиентов.

1. Настройка на стороне Asterisk

2. Синтаксис сообщений AMI

3. Подключение к AMI

4. Примеры сообщений AMI

Настройка на стороне Asterisk

Настройки AMI находятся в файле /etc/asterisk/manager.conf, в нём же прописываются пользователи AMI, их пароли и права доступа.
Пример:

Читайте также:  utorrent настройка под yota

enabled = yes ;AMI включен
port = 5038 ;принимает соединения на порт 5038
bindaddr = 0.0.0.0 ;на все IP-адреса хоста
displayconnects=no ;подключения к AMI не отображаются командной строке

[admin] ;имя пользователя
secret = ami-secret ;пароль
deny=0.0.0.0/0.0.0.0 ;подсеть, из которой запрещен доступ к AMI
permit=127.0.0.1/255.255.255.0 ;подсеть, из которой разрешен доступ к AMI

;привилегии на чтение ( от них зависит, сообщения о каких событиях пользователь сможет получать через AMI)
read=system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate

;привилегии на запись ( от них зависит, какие команды пользователь сможет выполнять через AMI)
write=system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate

Для применения настроек AMI, нужно выполнить команду «manager reload» в консоли Asterisk.

Синтаксис сообщений AMI

Сообщения AMI состоят из тегов вида « ключевое_слово: значение». Каждая строка заканчивается символами возврата каретки и перевода на следующую строку (CR /LF). Пустая строка ( состоящая только из CR/LF) означает конец сообщения.
Первый тег в сообщении обязательно должен быть Action, Response или Event.
Тег Action значит, что в сообщении клиент посылает команду сервера.
Тег Response значит, что сообщение явдяется ответом сервера на команду клиента.
Тег Event значит, что в сообщении сервер уведомляет клиент о наступлении события.
Если в Action-сообщении указать тег ActionID с каким-либо значением, то ответныу сообщения будут содержать тег ActionID с таким же значением, это позволяет находить ответы на конкретное сообщение среди множества ответов на другие сообщения.

Подключение к AMI

Для подключения к AMI, нужно установить TCP-соединение на порт, указанный в настройках AMI ( по умолчанию 5038), для быстрого теста можно выполнить команду «telnet 127.0.0.1 5038» на хосте Asterisk. Далее, прежде чем можно будет выполнять команды и получать сообщения о событиях, нужно аутентифицироваться. Для этого нужно отправить команду с тегами Action: Login, Username: , Secret: . Пример:

Action: Login
Username: admin
Secret: ami-secret
Response: Success
Message: Authentication accepted

Event: FullyBooted
Privilege: system,all
Status: Fully Booted

Примеры сообщений AMI

Вызов номера 101 и соединение его с номером 81112223333:

Action: Originate
ActionID: 12345
Channel: SIP/101
Context: outbound-allroutes
Exten: 81112223333
Priority: 1
Callerid: «auto -dial»

Response: Success
ActionID: 12345
Message: Originate successfully queued

Событие регистрации номера 101 с хоста 192.168.1.25:

Event: PeerStatus
Privilege: system,all
ChannelType: SIP
Peer: SIP/101
PeerStatus: Registered
Address: 192.168.1.25:5060

Лог вызова с номера 102 на номер 101, привилегия call:

; Создание канала SIP/101
Event: Newchannel
Privilege: call,all
Channel: SIP/101-00000793
ChannelState: 0
ChannelStateDesc: Down
CallerIDNum: 101
CallerIDName: device
AccountCode:
Exten: 102
Context: from-internal
Uniqueid: 1366383392.2837

Читайте также:  какие настройки у капли

; Номер 101 звонит
Event: Newstate
Privilege: call,all
Channel: SIP/101-00000793
ChannelState: 4
ChannelStateDesc: Ring
CallerIDNum: 101
CallerIDName: device
ConnectedLineNum:
ConnectedLineName:
Uniqueid: 1366383392.2837

Event: ExtensionStatus
Privilege: call,all
Exten: 101
Context: ext-local
Hint: SIP/101
Status: 1

; Вызову присвоен CallerID
Event: NewCallerid
Privilege: call,all
Channel: SIP/101-00000793
CallerIDNum: 101
CallerIDName: test
Uniqueid: 1366383392.2837
CID-CallingPres: 0 (Presentation Allowed, Not Screened)

; Создание канала SIP/102
Event: Newchannel
Privilege: call,all
Channel: SIP/102-00000794
ChannelState: 0
ChannelStateDesc: Down
CallerIDNum: 102
CallerIDName: device
AccountCode:
Exten:
Context: from-internal
Uniqueid: 1366383392.2838

Event: ExtensionStatus
Privilege: call,all
Exten: 102
Context: ext-local
Hint: SIP/102
Status: 8

; Вызов канала SIP/102 из канала SIP/101
Event: Dial
Privilege: call,all
SubEvent: Begin
Channel: SIP/101-00000793
Destination: SIP/102-00000794
CallerIDNum: 101
CallerIDName: Anton Oskin
ConnectedLineNum: 102
ConnectedLineName: Anton Oskin
UniqueID: 1366383392.2837
DestUniqueID: 1366383392.2838
Dialstring: 102

; Номер 102 звонит
Event: Newstate
Privilege: call,all
Channel: SIP/102-00000794
ChannelState: 5
ChannelStateDesc: Ringing
CallerIDNum: 102
CallerIDName: device
ConnectedLineNum: 101
ConnectedLineName: Anton Oskin
Uniqueid: 1366383392.2838

Event: ExtensionStatus
Privilege: call,all
Exten: 102
Context: ext-local
Hint: SIP/102
Status: 1

; Номер 102 принял вызов
Event: Newstate
Privilege: call,all
Channel: SIP/102-00000794
ChannelState: 6
ChannelStateDesc: Up
CallerIDNum: 102
CallerIDName: device
ConnectedLineNum: 101
ConnectedLineName: Anton Oskin
Uniqueid: 1366383392.2838

Event: Newstate
Privilege: call,all
Channel: SIP/101-00000793
ChannelState: 6
ChannelStateDesc: Up
CallerIDNum: 101
CallerIDName: Anton Oskin
ConnectedLineNum: 102
ConnectedLineName: Anton Oskin
Uniqueid: 1366383392.2837

Event: NewAccountCode
Privilege: call,all
Channel: SIP/102-00000794
Uniqueid: 1366383392.2838
AccountCode:
OldAccountCode:

; Каналы соединены
Event: Bridge
Privilege: call,all
Bridgestate: Link
Bridgetype: core
Channel1: SIP/101-00000793
Channel2: SIP/102-00000794
Uniqueid1: 1366383392.2837
Uniqueid2: 1366383392.2838
CallerID1: 101
CallerID2: 102

Event: Unlink
Privilege: call,all
Channel1: SIP/101-00000793
Channel2: SIP/102-00000794
Uniqueid1: 1366383392.2837
Uniqueid2: 1366383392.2838
CallerID1: 101
CallerID2: 102

; Номер 102 завершил вызов
Event: Hangup
Privilege: call,all
Channel: SIP/102-00000794
Uniqueid: 1366383392.2838
CallerIDNum: 102
CallerIDName: device
ConnectedLineNum: 101
ConnectedLineName: Anton Oskin
Cause: 16
Cause-txt: Normal Clearing

Event: Dial
Privilege: call,all
SubEvent: End
Channel: SIP/101-00000793
UniqueID: 1366383392.2837
DialStatus: ANSWER

Event: Hangup
Privilege: call,all
Channel: SIP/101-00000793
Uniqueid: 1366383392.2837
CallerIDNum: 101
CallerIDName: Anton Oskin
ConnectedLineNum: 102
ConnectedLineName: Anton Oskin
Cause: 16
Cause-txt: Normal Clearing

Event: ExtensionStatus
Privilege: call,all
Exten: 102
Context: ext-local
Hint: SIP/102
Status: 0

Event: ExtensionStatus
Privilege: call,all
Exten: 101
Context: ext-local
Hint: SIP/101
Status: 0

Полный список команд, доступных через AMI, с краткими описаниями и списком привилегий, необходимых для их выполнения, можно получить, выполнив в консоли Asterisk команду «manager show commands». Команда «manager show command » выдает справку по синтаксису конкретной команды.

источник

Оцените статью
Adblock
detector