Разработка телекоммуникационного сервиса для сбора тарификационных данных с цифровой АТС Avaya S8500
Секция: Технические науки
XXI Студенческая международная научно-практическая конференция «Технические и математические науки. Студенческий научный форум»
Разработка телекоммуникационного сервиса для сбора тарификационных данных с цифровой АТС Avaya S8500
Development of a telecommunication service for collecting charging data from a digital telephone exchange Avaya S8500
Denis Korablev
Magister, Siberian State University of Telecommunications and Information Sciences, Russia, Novosibirsk
Elena Kokoreva
Candidate of Engineering Sciences, Associate Professor, Siberian State University of Telecommunications and Information Sciences, Russia, Novosibirsk
Аннотация. В настоящее время тема разработки распределенных сетевых приложений с клиент-серверной архитектурой очень популярна и востребована. В статье рассматривается вопрос исследования архитектуры и создания телекоммуникационного сервиса по сбору тарификационных данных с цифровой АТС Avaya S8500.
Abstract. Currently, the topic of developing distributed network applications for client-server architecture is very popular and in demand. The article addresses the issue of architecture and the creation of a telecommunication service for collecting charging data from an Avaya S8500 digital telephone exchange.
Ключевые слова: распределенные приложения; клиент-серверная архитектура; тарификация данных АТС; облачные технологии.
Keywords: distributed applications; client-server architecture; PBX data billing; cloud technologies.
Целью настоящей работы является создание законченной клиент-серверной телекоммуникационной системы, предназначенной для записи в реальном времени тарификационных данных цифровой АТС Avaya S8500. Данная комплексная услуга будет использована для ведения базы тарификационных данных в облачном хранилище Google Sheets.
Для достижения заданной цели будут поставлены и решены следующие задачи:
- Определение необходимой клиент-серверной архитектуры телекоммуникационной услуги для обеспечения максимальной отказоустойчивости и удобства использования.
- Определение используемого “стека технологий” для реализации комплексной телекоммуникационной услуги.
На рисунке 1 представлена модель многоуровневой клиент-серверной архитектуры, на основе которой реализована услуга по сбору тарификационных данных:
Рисунок. 1 Архитектура телекоммуникационной услуги сбора тарификационных данных
Цифровая АТС Avaya S8500 — это коммуникационный медиа-сервер, работающий в связке с шлюзом G650 и предназначенный для оказания услуг телефонной связи. Цифровая АТС позволяет в реальном времени выгружать тарификационные данные телефонных звонков на сервер сбора данных CDR по порту TCP.
Application Server – Клиент-серверное приложение, разработанное на языке Java, предназначенное для сбора с Цифровой АТС Avaya S8500 тарификационных данных и записи их в облачную платформу Google. Выбор языка Java для разработки обусловлен следующими причинами:
- Наличие хостинга консольных приложений Java в облачных платформах;
- Поддержка обмена информацией в виде JSON объектов;
- Поддержка технологий объектного программирования при разработке клиент-серверного взаимодействия.
Приложение Apps Script – это скриптовая платформа, разработанная компанией Google для разработки легких приложений на платформе G Suite. Она позволяет автоматизировать работу с онлайн-приложениями с помощи клиент-серверных запросов и получать доступ к данным Google Sheets в рамках области видимости пользовательского аккаунта Google. Google Apps Script основан на стандарте языка Java Script и содержит встроенные объекты для взаимодействия со службами Google.
Для простоты реализации комплексной услуги представим ее в виде проектируемых мини-сервисов (Таблица 1).
Таблица 1.
Мини-сервисы для реализации телекоммуникационной услуги
№ |
Название сервиса |
Backend (Сервер) |
Frontend (Клиент) |
1 |
Обмен информацией между Avaya S8500 и Application Server. |
Прием данных CDR в виде текстовых строк на заданный порт TCP. |
Передача данных CDR в виде текстовых строк на заданный порт TCP. |
2 |
Обмен информацией между Application Server и приложением Google Apps. |
Прием информации от клиента в виде REST запроса. Поддержка сжатия данных. |
Передача информации на сервер в виде REST запроса. Поддержка сжатия данных. |
3 |
Обмен информацией между приложением Google Apps и сервисами Google. |
Использование встроенных объектов для доступа к Google Sheets. Поддержка сессии в виде авторизованного доступа пользователя к записи данных. |
Реализация мини-сервиса №1 не требует проектирования, так как стандарт обмена информацией жестко задан производителем оборудования Avaya. Клиент находится на коммуникационном медиа-сервере и необходимо только реализовать Backend сторону Application Server на языке Java. Прототип основного цикла приема данных CDR представлен на Рисунке 2.
Рисунок. 2 Основной цикл приема данных CDR Application Server
Для реализации мини-сервиса №2 необходимо определить систему команд для обмена информацией между клиентом и сервером в рамках REST запросов. При использовании диалектов языка Java традиционным способом обмена информацией является использование JSON сообщений, тогда минимальную систему команд можно представить в виде Таблицы 2:
Таблица 2.
Система команд Application Server для мини-сервиса №2
№ |
Команда |
Запрос |
Ответ |
1 |
Авторизация клиента на сервере. Получение токена разрешения на запись данных. |
{command:’auth’, login:’login’, password:’password’} |
{token:’XXXX’} |
2 |
Запись данных в таблицу данных |
{token:’XXXX’,command:’append’,value:’Строка’} |
{result:’Результат команды’} |
При необходимости добавления нового функционала система команд будет расширена, код Application Server при этом не потребует больших изменений. Пример посылки команд в приложение Google Apps представлен на Рисунке 3.
Рисунок 3. Код информационного обмена JSON сообщениями
При реализации мини-сервиса №3 в редакторе Google Script воспользуемся системой команд мини-сервиса №2 и реализуем обработчик REST запросов по схеме, представленной на Рисунке 4.
Рисунок 4. Схема организации телекоммуникационной услуги
Программный код для центрального цикла обработки и реализация команд Application Server представлен на Рисунках 5и 6.
Рисунок.5 Цикл обработки Application Server и реализация авторизации
Рисунок.6 Реализация команды добавления данных Application Server
Для записи тарификационных данных в таблицу Google Sheets приложению Google Apps необходимо будет предоставить доступ к пользовательскому аккаунту Google – владельцу сервиса Google Drive, на котором будет храниться файл базы данных. Данная информация о доступе приложения представлена на Рисунке 7.
Рисунок.7 Информация об области видимости данных Google Apps
Владелец таблицы Google Sheets Тарификация (Администратор) в дальнейшем сможет предоставлять пользователям услуги доступа к просмотру тарификационных данных с помощью отдельного встроенного механизма авторизации пользователей Google.
В результате проведенного исследования был создан и успешно внедрен в работу новый телекоммуникационный сервис по сбору тарификационных данных на филиале ПАО “РусГидро”-“Нижегородская ГЭС”. На текущий момент сервис функционирует в полном объеме, замечаний по функционалу от пользователей услуги нет.