Pull to refresh

Работа с Avaya Aura Communication Manager при помощи протокола OSSI

Development of communication systems
Sandbox
У Avaya есть очень много продуктов, которые могут удовлетворить все ваши потребности в администрировании и мониторинге АТС, но они стоят достаточно дорого.
И что же делать если хочется красивых отчетов или мониторинга, например, загрузки ваших транк-групп или операторов контакт-центра?
Есть у Avaya, замечательная возможность работать с АТС, помимо графического интерфейса еще и в терминальном режиме.
Одним из протоколов работы является, низкоуровневый протокол OSSI, информации по работе с которым, в интернете очень мало.
Опишу пример мониторинга загрузки транк-групп E1 и SIP.

Для начала нужно подключиться к АТС в ручном режиме, чтобы уточнить настройки.
Подключаемся по SSH, на порт по умолчанию 5022, к АТС.
Вводим ossi и ждем символ «t» – это символ завершения команды, по нему можно определить, что, предыдущая команда завершена и можно вводить новую.


Чтобы ввести команду нужно ввести например «c st trunk «enter» t», в выводе, будут содержаться сперва идентификаторы полей (FID) и массив данных с префиксом «d» и разделителем «n».


В общем если у вы дошли до этого шага, значит все работает нормально и можно подключать средства автоматизации, т.к. алгоритм обработки результатов выполнения команды понятен.
Мне хотелось видеть результаты на веб-страничке в виде графика, для этого я использовал PHP framework + MySql.
Для автоматизации процесса получения и обработки данных, я использовал PHP класс, (спасибо автору кода) — code.google.com/p/php-avaya/source/browse/trunk/Avaya/Protocol/Ossis.php

Там же можно найти класс для подключения к терминалу — code.google.com/p/php-avaya/source/browse/trunk/Telnet.php

Так как описания FID’s у Avaya я не нашел, а у автора класса ossis.php, были описаны FID’s только для статистики контакт-центра – BCMS, то сперва в терминале в ручном режиме, я получил информацию по состоянию трнк-групп и сопоставил полученные FID’s с полями полученными в графической оболочке GEDI Avaya Site Administration.


Из нужных полей получились:
'0001ff00' => 'member'
'0002ff00' => 'port'
'0003ff00' => 'state'

Далее создал функцию, получения и обработки результатов состояния трнк-групп с сохранением в базу данных.
Вывод результатов на страничку, с помощь JQuery и jqPlot, получилось замечательно и полностью удовлетворило потребности.


Свой PHP код, не стал публиковать, так как не являюсь профессионалом в этом деле и скорее всего код не красивый и не оптимальный.
Если кому-то понадобится, пишите.
Tags:администрированиеатс
Hubs: Development of communication systems
Total votes 2: ↑2 and ↓0 +2
Views4.4K

Popular right now

Distributed Systems Engineer
from 8,000 $Cube.jsRemote job
Специалист технической поддержки
to 65,000 ₽Ренессанс ЖизньМосква
Fullstack JS Developer (Node.js/React.js)
to 3,500 $482.solutionsОдессаRemote job
Middle/Senior Magento 2 Developer
from 2,000 to 4,000 $GoMageRemote job
Tech Lead (Development)
from 180,000 ₽Game InsightRemote job

Top of the last 24 hours