Александр Мутовин
20.04.2020
1878

Управление конфигурационными файлами с помощью AMI интерфейса

В этой статье мы рассмотрим возможность управления конфигурационными файлами ip АТС Asterisk с помощью интерактивного интерфейса AMI. Мы изменим параметр Permit в настройка экстеншена, создадим новый экстеншен, а также создадим свой диалплан, с помощью которого будем осуществлять звонки. Начальные параметры:             1. ip АТС — 10.6.0.1             2. Наш адрес — 192.168.77.11             3. Есть […]

В этой статье мы рассмотрим возможность управления конфигурационными файлами ip АТС Asterisk с помощью интерактивного интерфейса AMI. Мы изменим параметр Permit в настройка экстеншена, создадим новый экстеншен, а также создадим свой диалплан, с помощью которого будем осуществлять звонки.

Внимание! Всегда интерфейс AMI необходимо закрывать возможными средствами для предотвращения взлома Asterisk. С помощью этого интерфейса злоумышленник получит полный доступ.

Начальные параметры:

            1. ip АТС — 10.6.0.1

            2. Наш адрес — 192.168.77.11

            3. Есть AMI учетная запись с полными правами.

            4. на сервере установлен Asterisk c FreePBX

Разделим задачу на несколько этапов:

1. Зарегистрировать софтфон.

2. Добавить свой диалплан для осуществления звонков.

Подключимся к AMI интерфейсу с помощью telnet:

# telnet 10.6.0.1 5038

Когда вы увидите сообщение «Asterisk Call Manager/3.2.2», это означает, что мы подключились к интерфейсу и система ждет дальнейших команд. На этом этапе необходимо авторизоваться с помощью следующей информации:

Action:login — указываем совершаемое действие, у нас авторизация

Username:masinc — указываем логин

Secret:Указать свой пароль — указываем пароль

После ввода каждой строчки нажимаем «Enter» при этом команда не оправляется в AMI интерфейс. После ввода последнего праметра нажимаем 2 раза «Enter» и все строки начнут выполняться на сервере

После успешной авторизации отобразится сообщение «Message: Authentication accepted».(Рисунок 1)

Авторизация в AMI интерфейсе Asterisk
Авторизация в AMI интерфейсе Asterisk

т.к. мы заранее знаем, что на сервере телефонии используется FreePBX,  значит sip настройки у него хранятся в конфигурационном файле sip_additional.conf. Для его просмотра воспользуемся следующей AMI командой (Рисунок 2):

Action: GetConfig

Filename: sip_additional.conf

Вывод информации в конфигурационном файле настроек sip.
Вывод информации в конфигурационном файле настроек sip.
Команда GetConfig имеет еще один интересный параметр «Category». При использовании этого параметра можно не получать все содержимое файла, а только указанной категории в этом параметре.(Рисунок 3) Action: GetConfig и Filename: sip_additional.conf
Вывод конфигурации определенной категории
Вывод конфигурации определенной категории

Таким способом мы получили sip пароль от 700 экстеншена. Но как видно параметр «permit» не позволит нам подключить номер к АТС. Нам необходимо изменить этот параметр. Для его изменения есть AMI команда 

Action:UpdateConfig

SrcFilename:sip_additional.conf

DstFilename:sip_additional.conf

Reload:yes

Action-000000:update

Cat-000000:700

Var-000000:permit

Value-000000:0.0.0.0/0.0.0.0

Измененный параметр «permit»
Измененный параметр «permit»
Следует отметить, что этот параметр не измениться в настройках веб интерфейса FreePBX.
Параметр permit не изменен.
Параметр permit не изменен.

Теперь попробуем подключить софтфон с известными нами параметрами. После успешной регистрации в AMI интерфейсе мы увидим событие о том, что номер 700 зарегистрирован (Рисунок 6)

Успешная регистрация софтфона
Успешная регистрация софтфона

Теперь добавим диалплан в конфигурационный файл extensions_custom.conf.

Action:UpdateConfig

SrcFilename:extensions_custom.conf

DstFilename:extensions_custom.conf

Reload:no

Action-000000:Newcat

Cat-000000:outcall

Командой выше создаем новый контекст.

Action:UpdateConfig

SrcFilename:extensions_custom.conf

DstFilename:extensions_custom.conf

Reload:yes

Action-000000:append

Cat-000000:outcall

Var-000000:exten

Value-000000:_X.,1,Dial(SIP/Zadarma/${EXTEN},60,)

Этой командой создаем возможность звонить куда угодно через транк Zadarma.

Теперь применим этот контекст к номеру 700:

Action:UpdateConfig

SrcFilename:sip_additional.conf

DstFilename:sip_additional.conf

Reload:yes

Action-000000:update

Cat-000000:700

Var-000000:context

Value-000000:outcall

После чего через транк Zadarma мы можем осуществлять звонки куда угодно.

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

Для предотвращения таких взломов необходимо ограничивать AMI пользователя в правах. Есть права на чтение и на запись, если необходимо только читать данные, следует отключить возможность записывать данные в интерфейс. Также имеется возможность ограничить действия по определенным событиям.  В веб интерфейсе это настраивается в разделе «Settings → Asterisk Manager Users» (Рисунок 7)

Настройка прав доступа к AMI интерфейсу через FreePBX
Настройка прав доступа к AMI интерфейсу через FreePBX

Также парава доступа можно настроить через конфигурационные файлы (Рисунок 8)

Настройка прав доступа в конфигурационном файле manager_custom.conf
Настройка прав доступа в конфигурационном файле manager_custom.conf
Подписаться
Уведомление о
guest
0 Комментарий
Inline Feedbacks
View all comments

Остались вопросы?

Я - Компаниец Никита, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

VoIP оборудование

ближайшие курсы

ближайшие Вебинары

ONLINE

10 доводов в пользу Asterisk

Распространяется бесплатно.

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

Безопасен в использовании.

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

Надежен в эксплуатации.

Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.

Гибкий в настройке.

Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.

Имеет огромный функционал.

Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.

Интегрируется с любыми системами.

То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.

Позволяет телефонизировать офис за считанные часы.

В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.

Отличная масштабируемость.

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

Повышает управляемость бизнеса.

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

Снижает расходы на связь.

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