У 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 код, не стал публиковать, так как не являюсь профессионалом в этом деле и скорее всего код не красивый и не оптимальный.
Если кому-то понадобится, пишите.
Автор: fishkabmk