+7 495 230 03 03 8 800 222 50 03

Промышленная телефония на базе Asterisk

Дата публикации: 19 сентября 2013
Промышленная телефония на базе Asterisk

Телефония на больших предприятиях представляет собой сложный комплекс интегрированных между собой программных систем, работа которых не может быть остановлена даже на 5 минут.

Таким образом, для промышленной телефонии выдвигаются своеобразные требования к ядру – АТС, а именно:

  • возможность интеграции с различными корпоративными сервисами;
  • отказоустойчивость и высокая доступность сервиса.

Для решения подобных задач может использоваться программный комплекс Asterisk. Asterisk представляет собой современную программную платформу, распространяемую под свободной лицензией, для создания системы IP-телефонии. В отличие от брендовых Avaya или Cisco, Asterisk не требует дополнительных затрат на программное обеспечение или специфическое аппаратное обеспечение. Решение разворачивается на Unix платформе и обеспечивает качественное функционирование телефонной системы разных масштабов.

Asterisk предлагает как классический функционал телефонной системы, так и расширенные функции, взаимодействует с традиционными системами телефонии и технологиями передачи голоса по IP-системам.

Рассмотрим решение каждого из выдвинутых нами требований выше на примере реализации с помощью IP-AТС Asterisk.


Real-Time Asterisk

Интеграция Asterisk с базами данных – один из основополагающих элементов, обеспечивающих возможность включения Asterisk в большую распределенную систему. Архитектура реального времени Asterisk (Asterisk Realtime Architecture, ARA) – это метод хранения конфигурационных файлов и их конфигурационных опций в таблице базы данных. Существует два типа архитектуры реального времени: статическая и динамическая. Статический вариант аналогичен традиционному методу чтения конфигурационного файла, за исключением того, что чтение данных осуществляется из базы данных. Метод динамической реализации архитектуры реального времени позволяет загружать и обновлять информацию об объектах по мере необходимости.

Суть реализации Realtime Asterisk заключается в применении системы управления базами данных (СУБД) для хранения конфигурации, это означает, что сам сервер телефонии обращается за данными не к файлам, а к базе данных. Это несколько увеличивает скорость работы, но основной уклон все же в том, что Real Time означает внесение изменений в режиме реального времени. Изменение в статической информации требует перезагрузки текстового файла сразу после внесения в него изменений, но динамическая информация запрашивается Asterisk по мере необходимости и не требует перезагрузки. Архитектура реального времени настраивается таким образом, чтобы указывать Asterisk, что брать из базы данных и откуда именно, что обеспечивает возможность загружать некоторые файлы из базы данных, а другие – из стандартных конфигурационных файлов.


Возможности Real-time Asterisk

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

Достигается это благодаря следующим особенностям:

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

Таблица 1 – Возможности Real-time Asterisk

Проблемы и недостатки

Работа режима реального времени сервера телефонии имеет определенные особенности, которые могут усложнить работу. Перечислим некоторые проблемы, которые следует учитывать при проектировании системы.

ПроблемаОписание
Усложнение администрированияПрименение архитектуры реального времени предполагает наличие навыков администрирования баз данных
Возможное замедление работыПри хранении настроек в конфигурационных файлах параметры считываются при запуске сервера либо принудительно. При этом настройки хранятся в оперативной памяти. Интерактивность realtime режима обеспечивается тем, что при каждом событии требуемые значения извлекаются из базы данных. При значительной нагрузке постоянный обмен сервера телефонии с базой данных может привести к задержкам в работе
Усложнение структурыИспользование режима realtime предполагает наличие сервера баз данных. При наличии требования отказоустойчивости эту роль также следует резервировать, так как появляется дополнительная точка отказа

Таблица 2 – Проблемы и недостатки Real-time Asterisk

Построение отказоустойчивости системы


Промышленная телефония на базе Asterisk - EFSOL

Схема 1 – Предлагаемая система

Этапы построения кластера высокой доступности:

  • разворачивание двух одинаковых серверов на Unix платформе, сборка Asterisk;

  • настройка конфигурационных файлов на одном сервере; настройка синхронизации конфигурационных файлов между узлами кластера;

  • настройка пакета Keepalived для обеспечения: виртуального IP, переходящего от одного узла к другому; переключения между узлами кластера в случае выхода из строя одного из них;

  • настройка записи статистики на единый сервер Mysql (возможно настройка нескольких узлов Mysql с репликацией);

  • подключение двух провайдеров телефонной связи и резервирование канала интернет и каналообразующего оборудования.


Физически решение выглядит как два независимых сервера, которые находятся в одной IP-сети с общим IP-адресом, который при сбое "мигрирует" на резервный сервер.

Переключение на другой узел происходит по следующим триггерам:

  • недоступен один из узлов;

  • не запущен сервер Asterisk на одном из узлов;

  • недоступен порт tcp для работы Asterisk.

При срабатывании одного из этих триггеров на узле, где они сработали, выключается сервер Asterisk и удаляется IP адрес. В свою очередь, на втором узле запускается служба Asterisk и добавляется виртуальный адрес. Общее время на такие операции – не более 2-3 сек. После чего абоненты перерегистрируются и продолжают работу.

Подобная схема обеспечения отказоустойчивости при выполнении основных требований к окружению (продуманная топология IP-сети, резервирование электропитания и т.п.) может обеспечивать надежность на уровне 99,99% без применения какого-либо специализированного дорогостоящего оборудования.

Таким образом, Asterisk, как мы видим, удовлетворяет двум основным требованиям к промышленной телефонии и может быть использована на больших предприятиях.

Нужна помощь консультанта?
Лого ES мини

EFSOL

Заказать звонок

Оставьте свои данные для того, чтобы специалист с вами связался.

*нажимая на кнопку, Вы даете согласие на обработку персональных данных
Быстрое внедрение включает:
На сервере установлено следующее ПО (доступно при подключении по протоколу RDP):
Также настроено:
Перед внедрением клиент предоставляет информацию о пользователях (логины и пароли). После завершения работ, клиенту высылается инструкция и ярлык для подключения.
Индивидуальное внедрение по ТЗ клиента обсуждается отдельно.