ќбсудим вашу задачу в Telegram - чате?

ћерион Ќетворкс

ћир VoIP (Voice over IP) многогранен. Ќа рынке существует целое множество решений дл€ построени€ корпоративных систем св€зи Ц IP Ц ј“—. Ќас интересуют программные Ђopen sourceї решени€, поэтому, сегодн€ мы сравним две попул€рные телефонные платформы и ответим на вопрос: что круче, FreeSWITCH или Asterisk? :)


ѕро Asterisk

ƒавайте немного теории: Asterisk - программна€ автоматическа€ телефонна€ станци€ (ј“—) на базе протокола IP, котора€ способна предложить богатый, с точки зрени€ телефонии, инструментарий дл€ офиса. Asterisk, будучи одной из первых программных IP-ј“— был создан в 1999 году как решение с открытым кодом (open source). ѕри поддержке компании Digium в 2005 году IP Ц ј“— увидела свет и была выпущена в Ђпродакшнї. –еализаци€ происходит под двум€ лицензи€ми: GNU GPL (General Public License) и патентна€ лицензи€ дл€ разработки собственных решений на базе Asterisk, рассчитанных на дальнейшую продажу. Ѕолее миллиона пользователь радуютс€ IP Ц ј“— Asterisk каждый день по всему миру :)

Ќо не все так гладко (удар молнии за окном). »сторически, Asterisk имеет р€д проблем, св€занных с масштабируемостью, нестабильностью работы при повышении нагрузки. — учетом особенностей лицензировани€, многие пользователи (в том числе компании - разработчики) искали новый продукт.

јрхитектурна€ схема IP Ц ј“— Asterisk

ѕро FreeSWITCH

¬ 2006 году группа бывших разработчиков Asterisk прин€ли решение разработать альтернативное решение Ц на свет по€вилс€ FreeSWITCH. ¬дохновленные модульной структурой веб Ц сервера Apache, команда разработчиков преследовала цель улучшить параметры масштабируемости и стабильности работы на разных платформах.

FreeSWITCH создан по модели состо€ний, вследствие чего, каждый вызов(канал) работает по отдельному потоку данных. ƒл€ построени€ структуры, использовались компоненты open Ц source решений, такие как, например, Sofia SIP Ц SIP UA с открытым исходным кодом, созданный компанией Nokia.


„то под капотом?

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

Ќесмотр€ на сложность и многогранность программного кода, на котором написан Asterisk, он находит огромное множество применений в сети. — другой стороны, FreeSWITCH написан на C, структура которого более пон€тна и прозрачна. ѕотоки процессов выполн€ютс€ последовательно и отдельно дл€ каждого канала, что безусловно отличает ‘рисвитч от Asterisk. ѕри этом, как правило, по этой причине FreeSWITCH требует больший объем оперативной пам€ти (RAM)

ќтметим, что FreeSWITCH имеет хорошо документированный API (Application Programming Interface), сегментированный по рол€м. “ака€ структура обеспечивает безопасное подключение к API в отличие от Asterisk, где более открыта€ конструкци€ API допускает веро€тность внесени€ багов и ошибок.

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


“ребовани€ к железу

ќценить общие требовани€ к IP Ц ј“— достаточно сложно, так как в каждой инсталл€ции используетс€ разный набор фичей и целей эксплуатации. ќднако, в таблице ниже сконцентрированы минимальные требовани€ к серверу, на котором будет развернут Asterisk и FreeSWITCH дл€ работы 15 телефонными аппаратами и 5 одновременными вызовами. —равните их:

ѕараметр FreeSWITCH Asterisk
CPU ќдно €дро, частота процессор 1 г√ц ќдно €дро, частота процессор 700 м√ц
RAM 1 √Ѕ 512 ћЅ
HDD 10 √Ѕ 10 √Ѕ
OS Linux, 32/64 бит Linux, 64 бит

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


‘ункционал

— точки зрени€ базового набора функций, ј“— идентичны. √олосова€ почты, IVR, маршрутизаци€, intercom и другие опции доступны дл€ обоих лагерей пользователей.

–ассмотрим преимущества, которые интересны дл€ профессионального и более глубокого использовани€ платформ. Ќачнем, пожалуй, с возможности FreeSWITCH создавать мульти Ц площадки. ‘рисвич нативно (из коробки) умеет сегментировать площадки пользователей, разные домены и суб Ц домены. Ёто означает, что пользователи одной площадки не смогут дозвонитьс€ до пользователей другой по внутренним номерам. ƒругими словами, обеспечиваетс€ полнофункциональна€ сегрегаци€ пользователей.

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


»тог

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

‘ункци€ FreeSWITCH Asterisk
ћалое потребление ресурсов сервера, включа€ ресурсы процессора и оперативной пам€ти
ƒокументаци€ и поддержка: решение проблем, форму, гайды, сильное комьюнити проекта
Ѕогатый базовый функционал: конференции, видеозвонки, IVR, голосова€ почта и так далее
¬озможность реализации функций мульти - площадок (поддержка отдельных телефонных доменов с полной сегрегацией пользователей)
¬нутренние механизмы устойчивости к повышению нагрузки, св€занной с повышением количества одновременных вызовов
ќбъединение серверов в кластер, с последующим разделением ролей

ѕолезна ли ¬ам эта стать€?

–аз в неделю мы отправл€ем дайджест с самыми интересными стать€ми.

P.S. ≈сли укажите свою дату рождени€, то мы об€зательно ¬ас поздравим и подарим небольшой подарок :)

Ќажима€ на кнопку "ѕодписатьс€", вы даете согласие на обработку своих персональных данных