Сравнение Freeswitch и Asterisk

naomi

Moderator
Команда форума
Мир VoIP (передача голоса по IP) разнообразен. На рынке представлено множество решений для построения корпоративных систем связи - IP - АТС. Нас интересуют программные «открытые» решения, поэтому сегодня мы сравним две популярные телефонные платформы и ответим на вопрос: что круче, FreeSWITCH или Asterisk?

ПРО ASTERISK

Немного теории: Asterisk — это программное обеспечение для автоматической телефонной станции (PBX) на основе IP, способное предложить богатые инструменты телефонии для офиса. Asterisk, одна из первых программных IP-АТС, была запущена в 1999 году как решение с открытым исходным кодом. Благодаря поддержке компании Digium в 2005 году IP-АТС увидела свет и была запущена в производство. Реализация осуществляется по двум лицензиям: GNU GPL (General Public License) и патентной лицензии на создание собственных решений на базе Asterisk, предназначенных для дальнейшей продажи. Ежедневно более миллиона пользователей по всему миру используют IP-АТС Asterisk

Но не все так гладко (за окном удар молнии). Исторически у Asterisk было много проблем, связанных с масштабируемостью, нестабильностью при увеличении нагрузки. Учитывая специфику лицензирования, многие пользователи (в том числе компании-разработчики) искали новый продукт.

1.png

ПРО FREESWITCH

В 2006 году группа бывших разработчиков Asterisk решила разработать обходной путь — так родился FreeSWITCH. Вдохновленная модульной структурой веб-сервера Apache, команда разработчиков стремилась улучшить масштабируемость и стабильность на разных платформах.

FreeSWITCH создается в соответствии с моделью состояний, в результате каждый вызов (канал) оперирует отдельным потоком данных. Для построения структуры использовались компоненты решений с открытым исходным кодом, таких как Sofia SIP — open source SIP UA, созданный Nokia.

ЧТО ПОД КАПОТОМ?

Asterisk – модульная структура. Во время работы, Asterisk использует общие ресурсы, включая программные потоки – это главная проблема при большой интенсивности вызовов.

Несмотря на сложность и многогранность кода, на котором написан Asterisk, он находит огромное множество приложений в сети. С другой стороны, FreeSWITCH написан на C, структура которого более понятна и прозрачна. Потоки процессов выполняются последовательно и отдельно для каждого канала, что безусловно отличает Friswitch от Asterisk. Однако, как правило, по этой причине FreeSWITCH требует больше оперативной памяти (ОЗУ).

Обратите внимание, что FreeSWITCH имеет хорошо документированный API (интерфейс прикладного программирования), сегментированный по ролям. Эта структура обеспечивает безопасное соединение с API, в отличие от Asterisk, где более открытый дизайн API допускает возможность появления ошибок и багов.

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

ТРЕБОВАНИЯ К ЖЕЛЕЗУ

Довольно сложно оценить общие требования к IP-АТС, поскольку каждая установка использует различный набор функций и операционных целей. Однако в таблице ниже приведены минимальные требования к серверу, на котором будут развернуты Asterisk и FreeSWITCH, для 15 телефонов и 5 одновременных вызовов. Сравните их:

ПараметрFreeSWITCHAsterisk
CPUОдно ядро, частота процессор 1 гГцОдно ядро, частота процессор 700 мГц
RAM1 ГБ512 МБ
HDD10 ГБ10 ГБ
OSLinux, 32/64 битLinux, 64 бит

Как видно, FreeSWITCH потребляет больше RAM. О причине этого мы писали ранее – это связано с архитектурой.

ФУНКЦИОНАЛ

С точки зрения базового набора функций, АТС идентичны. Голосовая почты, IVR, маршрутизация, intercom и другие опции доступны для обоих лагерей пользователей.

Рассмотрим интересные преимущества для профессионального и всестороннего использования платформ. Начнем с возможности FreeSWITCH создавать кроссплатформенные приложения. Friswich изначально (из коробки) может ориентироваться на пользовательские веб-сайты, разные домены и поддомены. Это означает, что пользователи одного сайта не смогут связаться с пользователями другого сайта по внутренним номерам. Другими словами, обеспечивается полнофункциональная сегрегация пользователей.

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

ИТОГ

Подведем итоги. Мы составили таблицу с результатами, чтобы вам было проще ориентироваться:

ФункцияFreeSWITCHAsterisk
Малое потребление ресурсов сервера, включая ресурсы процессора и оперативной памяти
Документация и поддержка: решение проблем, форму, гайды, сильное комьюнити проекта
Богатый базовый функционал: конференции, видеозвонки, IVR, голосовая почта и так далее
Возможность реализации функций мульти - площадок (поддержка отдельных телефонных доменов с полной сегрегацией пользователей)
Внутренние механизмы устойчивости к повышению нагрузки, связанной с повышением количества одновременных вызовов
Объединение серверов в кластер, с последующим разделением ролей
 
Верх