BLUE.BOX- Мультидоменная(Multi-tenant) виртуальная IP АТС на базе Freeswitch
Первое решение мультидоменная(multi-tenant) виртуальная IP АТС на базе Freeswitch c лицензией Open Source.
Одна из самых популярных и востребованных услуг на базе IP телефонии на сегодняшний день виртуальная IP АТС. Это выгодно как оператору связи так и клиенту, т.к. для первого такое решение дешево- о одном физическом кластере серверов находятся десятки или сотни виртуальных IP АТС с большим пакетом услуг- это сокращает затраты на обслуживание, сложность инфраструктуры, а значит облегчает поддержку системы. Для клиента- большой и дешевый пакет услуг, причем, он имеет возможность подключить и платить только за те услуги, которыми он реально пользуется. Очевидно, отсутствие необходимости покупки своей АТС, причем возможно не самой дешевой, т.к. часто набор услуг которые предоставляет Виртуальная IP АТС, поддерживают далеко не самые дешевые “железные” IP АТС. Подводя итог, становится понятно, что услуга “Виртуальная IP АТС” выгодна всем. Многие сервис провайдеры и операторы связи постоянно ищут различные решения которые реализуют данную модель. Но! До недавнего времени готовых не коммерческих решений(т.е. бесплатных, свободных и т.д.) на рынке представлено не было. Обычно, для виртуализации использовали IP АТС Asterisk с помощью которой, используя разные контексты, можно реализовать виртуальную изоляцию клиентов(их дайл планов) в пределах одной копии процесса Asterisk. Но тут же возникла проблема-сложность администрирования – т.к. клиенты постоянно просят менять логику обработки вызова, появляются и исчезают новые VoIP транки и номера, дайл план усложняется, количество клиентов растет, дать доступ клиентам самостоятельно редактировать файлы конфигурации абсурдно и невозможно, да и не один клиент не захочет разбираться с дайл планом, поэтому единственный выход в такой ситуации писать систему управления конфигурацией Asterisk и выводить её в виде Web-интерфейса, что и сделали некоторые провайдеры. Второй вариант: использовать GUI для Asterisk, например FreePBX -попробовать изолировать клиентов при помощи модуля custom-context, такой вариант будет работать, но все же изоляция весьма условная. Да и доступ к интерфейсу FreePBX опять не дать клиентам, но администратору управлять такой “Виртуальной АТС” легче. Третий вариант: виртуализация на уровне операционной системы: Тут получила распространение виртуализация копий Asterisk при помощи пакета OpenVZ позволяющая создавать виртуальные контейнеры с копиями операционных систем и запускать на них Asterisk, например дистрибутив Elastix, а затем давать клиенту полный контроль над копией в контейнере, но в такой схеме резко возрастает сложность и появляются высокие издержки на управление. Эта схема годится только для небольшого числа клиентов.
Следующее и уже не бесплатное решение Thirdlane – полная виртуализация Asterisk при помощи набора скриптов. На мой взгляд удачная реализация с удобным web интерфейсом. Web интерфейс – специально написанный модуль к Webmin. Пользователи могут иметь одинаковые внутренние номера в разных доменах, но SIP User ID и Web Login должны быть уникальными в пределах всей системы. То есть multi-tenant реализована не при помощи DNS, а уникальными именами.Каждый тенант(tenant) имеет полностью изолированный веб интерфей, с в котором можно настроить абсолютно все параметры, включая план нумерации и SIP транки к операторам. Ресурсы тенанта ограничивает супер администратор- т.е. владелец системы.
И вот появилась 3 версия FreePBX, которая полностью поддерживает альтернативный телефонный “движок” Freeswith. Установке Freeswitch и FreePBX v3 посвящалась отдельная статья.
Теперь web-конфигуратор FreePBX версии 3 называется Blue Box и полностью поддерживает режим Multi-Tenant в отличие от второй версии. Еще одно важнейшее отличие- ориентация на Freeswitch, а не на Asterisk как в предыдущей версии. На данный момент поддержка Asterisk заявлена, но находится глубоко в тесте – с готового дистрибутива ISO сейчас её не включить, выводится предупреждение, что для производственной эксплуатации она не годится и может быть использована только для тестирования и разработки.
Итак,
владелец проекта компания 2600hz предлагает два решения:
1 KAZOO (ранее WHISTLE)- коммерческое решение(лицензия MPL1.1), VoIP платформа – управляемое через API, масштабируемое и распределенное решение написанное на языке Erlang, для больших нагрузок до миллионов вызовов в час. То есть ядро так же написано разработчиками 2600hz, в отличие от
2 BLUE.BOX- открытое(open source) решение, лицензия Mozilla Public License, Multi-Tenant web-интерфейс для настройки Freeswith и Asterisk, написано в основном на PHP. Multi-tenant реализовано через поддержку DNS.
Blue.box можно скачать с сайта разработчика в виде готового ISO образа- предварительно сконфигурированного дистрибутива, есть версии для процессорных архетектур x64 и i386. Как и все телефонные дистрибутивы работает на базе CentOS.
ISO содержит: blue.box 1.0.2, CentOS 5.5, FreeSWITCH 1.06, FreeSWITCH Sound files, Apache 2.2.3, MySQL 5.1.46, and PHP 5.3.3.
Root password: bluebox
Доступ к web-интерфейсу http://(ip address of new machine)/bluebox
Можно скачать в виде образа для Virtual Box или установить из RPM пакетов.
Исходный код можно получить по
cd /»path to webroot»/
git clone git://github.com/2600hz/bluebox.git bluebox
Поддержка проекта как обычно осуществляется через wiki, IRC, maillist, bug tracker(на базе Jira)
Документация по настройке на сайте разработчика.
Интересно, что кроме всего прочего на youtube есть видеоролики по настройке.
Несколько скриншотов:
Похожие материалы:
Tags: 2600hz, Asterisk, Blue.box, Elastix, Freeswitch, Hosted PBX, IP PBX, IP АТС, IP-телефония, Multi-tenant, SIP, Thirdlane, VoIP, Виртуальтая АТС
Thank you for the great post Ignat, read the translated version (thanks to Google Translate) I enjoyed reading it, and we’re so glad that you’re enjoying the benefits that Blue.Box and Whistle have to offer, we look forward to bringing you even more features through Whistle for the future! Stay tuned 🙂
Видео Building Open-Source Telephony Platforms
https://speakerdeck.com/u/2600hz/p/building-open-source-telephony-platforms