Asterisk - телефонная станция, где вся бизнес-логика реализована в ПО

Skip to end of metadata
Go to start of metadata

Asterisk - телефонная станция, где вся бизнес-логика реализована в ПО. Какие преимущества это дает? Оригинал расположен на http://www.pbxware.ru/publications/pbx-in-software.

На написание этого материала  вдохновила случайно попавшаяся статья на Computerra о сравнении классического радио устройства  и его реализации  в программном обеспечении компьютера - технология программно-управляемого радио (Software Defined Radio — SDR), позволяющая изменять эксплуатационные параметры радиооборудования на уровне ПО. Аналогия с АТС кажется очевидной. 

Традиционный подход к созданию АТС

Когда-то, не так давно, вычислительные мощности были весьма ограниченным и очень дорогим ресурсом. Поэтому естественным было использование модульной архитектуры телефонных станций. Таким образом, любая АТС состояла из следующих модулей:

  • блок питания;
  • управляющий блок (коммутация);
  • модуль управления телефонами;
  • блоки взаимодействия с телефонной сетью (разные физические типы линий);
  • дополнительные блоки, реализующие дополнительные функции.

Таким образом, небольшие компании могли позволить себе покупку только основных блоков, в совокупности позволявших осуществлять элементарную коммутацию каналов. Более крупные компании докупали нужный им функционал, такой как голосовая почта, постановка звонков в очередь, интерактивное голосовое меню, запись разговоров и др. Каждый функциональный элемент поставлялся в виде отдельной интерфейсной платы с "вшитой" в нее бизнес-логикой
- настоящий такой микро-компьютер со своим процессором, памятью, шиной, блоками ввода/вывода и тд.

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

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

  • Периодические апгрейды - был модуль на 12 голосовых ящиков, вышел новый CPU, подешевела память, и производитель выпускал обновленный модуль на 48 голосовых ящиков, и так по каждой функции.
  • Услуги по поддержке и обучение - так как система представляла собой "черный ящик", обслуживать его могли только высококвалифицированные инженеры, работающие или прошедшие обучение у производителя.

Таким образом, все невольно были вовлечены в "гонку вооружений", *либо ограничивая себе по использованию дополнительных телефонных функций, либо постоянно увеличивая бюджет на телефонную инфраструктуру. *

Эволюция  вычислительной техники

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

  • Желание сохранить сделанные вложения. АТС представляет собой уникальный автономный программно-аппаратный комплекс, обладающий интерфейсами к аналоговым и цифровым телефонным сетям, а также специфическими внутренними интерфейсами, на разработку которых были затрачены большие финансовые и человеческие ресурсы. Переход на новые технологии требует больших затрат на научно-исследовательские разработки, разработку нового ПО, освоение нового производства, переобучение сотрудников и клиентов.
  • Постоянно растущий спрос и получение сверх-прибылей. Отрасль телекоммуникаций является одной из самых стабильно и быстро растущих отраслей мировой экономики. На протяжение последних нескольких десятков лет происходили процессы глобализации рынков и связей, что усиливало значение и роль коммуникаций. Спрос на продукты связи оказался относительно неэлластичным, что позволило держать цены на прежнем уровне. Производители АТС были больше озабочены увеличением производства, расширением дилерской сети и привлечением клиентов.
  • Отсутствие других вариантов. Потребители могли выбирать только между аналогичными продуктами от разных поставщиков, соотношение возможности / стоимость  было примерно одинаковым.

Таким образом, исторически сложившиеся тенденции, конъюнктура рынка и отсутствие альтернатив не позволяли малому бизнесу использовать продвинутые возможности больших и дорогих АТС.

Появление открытого ПО Asterisk

В 1999 году американский студент факультета Computer Engineering в Auburn University  Марк Спенсер создал компанию Linux Support Services. Столкнувшись с дороговизной АТС систем, Марк, обладая хорошими знаниями языка программирования C и используя свой персональный компьютер под операционной системой Linux, написал свою собственную мини АТС!

Это и стало началом широко известного феномена по имени Астериск, который заставил Марка сдвинуть фокус своего бизнеса с поддержки Linux на поддержку Астериск. Сегодня компания Linux Support Services известна как Digium и занимается доставкой Open Source технологий на рынок телекоммуникаций, становясь опорой всей телеком-индустрии.

Что из себя представляет Asterisk? По сути, компьютер моделирует все узлы телефонной станции программно. Причем делает это с высочайшим качеством.

Например, не надо перепаивать схему или проектировать и изготавливать новое устройство при смене каких-либо требований (только одно это дорогого стоит) 
- достаточно поменять программу (если только нужный вид операций в ней не заложен). Мы, по сути, будем получать новую АТС, с новыми функциями при каждой смене программного обеспечения. А если не нравится реализация какой-то штатной функции
- подстройте ее под себя, ведь у Вас есть полный исходный код станции!

Asterisk является в первую очередь IP АТС, работающую на протоколе SIP - промышленном стандарте связи по IP. Однако, Asterisk также позволяет использовать традиционные телефоны и цифровые и аналоговые линии связи, превращаясь в гибридную телефонную систему. Например, при использовании PCI платы TE122 сервер с ПО Asterisk подключается по E1 каналу к провайдеру связи с поддержкой протокола ISDN PRI или ОКС7 (SS7). А при использовании платы TDM800P с 4-мя модулями для аналоговых телефонов и 2-мя модулями для аналоговых линий к Asterisk подключаются 4 обычных телефона (можно с импульсным набором), и 2 городские телефонные линии.

Так что же такое Asterisk?
>Asterisk IP-PBX - Это Open Source приложение, работающее на Linux и [FreeBSD] и предназначенное для создания решений компьютерной телефонии. Asterisk обладает всеми возможностями классической АТС, поддерживает три [VoIP] протокола (SIP/H323/IAX), предоставляет функции голосовой почты ([VoiceMail]), конференций, интерактивного голосового меню (IVR), центра обработки вызовов (постановка звонков в очередь и распределение их по агентам используя различные алгоритмы), а также имеет гибкий и универсальный интерфейс для интеграции с внешними системами обработки данных (AGI). Все это делает Asterisk мощнейшей платформой для организации телекоммуникационного сервиса любого масштаба. Благодаря открытой лицензии, Asterisk активно развивается и поддерживается тысячами людей со всей планеты.

Архитектура Asterisk по сравнению классическими АТС
- монолитная (речь не идет о внутренней архитектуре ПО, тут как раз наоборот
- весь функционал реализуется в виде программных модулей, подключаемых библиотек). Это значит, что все функциональные возможности Asterisk доступны в рамках единой системы, а не разрозненных блоков. Какие преимущества возникают у Asterisk в результате такого подхода?

  • Низкая стоимость и доступность, что означает возможность запуска Астериск практически на любом компьютере под управлением ОС Linux, а само ПО можно свободной скачать и использовать в любых целях. 
  • Полный контроль. Астериск
    - это не "черный ящик". Астериск
    - это ПО, доступное в исходных кодах, работающее под управлением открытой ОС. Это ПО, установленное и настроенное системным администратором компании.
  • Уникальная гибкость. Asterisk обладает встроенным средством написания алгоритмов обработки звонков, в зависимости от огромного числа критериев. Фантазии администратора системы предлагается более двухсот команд и функций - телефонных примитивов, которые можно комбинировать в любом сочетании, что позволяет штатными средствами реализовать большую часть всех потребностей компании.
  • Расширяемость. AGI интерфейс астериска во многом похож на CGI, превративший статическую сеть иногда обновляемых страниц в интернет с динамично генерируемым контентом. Доступность исходного кода позволяет добавить любую функциональную возможность.
  • Широкая поддержка со стороны многотысячного сообщества пользователей и разработчиков Астериск со всего мира.

Asterisk - это не единственное открытое решение телефонии. Существуют также такие продукты, как [OpenSER], Yate, [FreeSWITCH], но о них в других публикациях. 

Дополнительная информация

  • Сообщество пользователей Asterisk в рунете - asterisk-support.ru
  • База знаний по Asterisk - asteriskpbx.ru
  • Информация об Asterisk, IP телефонии в целом - voip-info.org и русское зеркало voip.rus.net.
  • Домашнаяя страница Asterisk (можно скачать и "потрогать") - asterisk.org
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.