Asterisk, что же это такое

2016-09-12, Мария Сливочкина    0    1318  


Asterisk — свободное решение  компьютерной телефонии (в том числе, VoIP) с открытым исходным кодом от компании Digium, первоначально разработанное Марком Спенсером. Приложение работает на операционных системах  LinuxFreeBSDOpenBSD и  Solaris и др. Имя проекта произошло от названия символа «*» (англ. asterisk — «звездочка»).

Asterisk в комплексе с необходимым оборудованием обладает всеми возможностями классической АТС, поддерживает множество VoIP-протоколов и предоставляет богатые функции управления звонками, среди них:

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

Asterisk распространяется на условиях двойной лицензии, благодаря которой одновременно с основным кодом, распространяемым по открытой лицензии GNU GPL, возможно создание закрытых модулей, содержащих лицензируемый код: например, модуль для поддержки кодека G.729.

Благодаря свободной лицензии Asterisk активно развивается и поддерживается тысячами людей со всей планеты.

История

Марк Спенсер, создатель программы, основал компанию Linux Support Services. Спенсер хотел организовать 24-часовую службу голосовой поддержки, однако начальный бюджет компании в 4000 долларов не позволял приобрести крайне дорогие системы Call-центров. В 2001 в связи с кризисом доткомов у Linux Support Services начались проблемы, и Спенсер начал думать, что разработка программной АТС с открытыми исходными текстами может оказаться интереснее, чем поддержка пользователей Linux вообще. Джим Диксон из Zapata Telephony предложил бизнес-модель для Asterisk. Тогда же и поменялось название компании — с Linux Support Services на Digium.

Версии

В нумерации версий Asterisk придерживаются принципа: версии в разработке — нечётные, стабильные — чётные.

  • 1.0 — Выпущена 23 сентября 2004 года
  • 1.2 — Выпущена 15 ноября 2005 года
  • 1.4 — Выпущена 26 декабря 2006 года
  • 1.6 — Выпущена 2 октября 2008 года

Начиная с версии 1.6, Asterisk более не поддерживает Zaptel, оставлена только поддержка DAHDI.

  • 1.8 — Выпущена 21 октября 2010 года

Отличие от предыдущих версий: Поддержка SRTP, поддержка IPv6 в SIP-драйвере, интеграция работы с календарём, новая система журналирования звонков «Channel Event Logging» (CEL), поддержка «Advice of Charge» — сервиса для информирования о стоимости звонка; интеграция Google Talk и Google Voice; поддержка изменения высоты звука (англ.).

  • 10.0 — Выпущена 15 декабря 2011 года

Несмотря на смену нумерации, десятая версия не несёт кардинальных изменений. Появилась поддержка высококачественного звука, до 192 кГц; с помощью приложения ConfBridge появилась поддержка видеоконференций; Asterisk теперь может являться сервером текстовых сообщений по протоколам SIP и XMPP, поддержка работы шлюзом для передачи факсимильных сообщений по протоколу T.38; поддержка кодеков SILK и CELT (англ.).

  • 11 — Выпущена 31 октября 2012 года

Добавлена поддержка WebRTC, которая позволяет совершать звонки прямо из браузера, без задействования каких-либо плагинов в браузере; новый драйвер chan_motif поддерживает протоколы Google Talk и Jingle, в том числе и видео; расширена поддержка IPv6.

Ряд кардинальных изменений, таких, как новый драйвер канала SIP (основан на библиотеке PJSIP), новые механизмы Asterisk REST Interface, добавлена поддержка IPv6 в драйвер канала IAX2 и др.

  • 13 — Выпущена 28 октября 2014 года

LTS-релиз платформы. Передача событий безопасности через AMI. Расширение интерфейсов AMI и ARI, поддержка новых возможностей библиотеки PJSIP.

Оборудование

Asterisk может работать как с аналоговыми линиями (FXO/FXS модули), так и цифровыми (ISDNBRI и PRI — потоки Т1/E1). С помощью определённых компьютерных плат (наиболее известными производителями которых являются   Digium,  Sangoma,  OpenVox,  Rhino,  AudioCodesAsterisk можно подключить к высокопропускным линиям Т1/E1, которые позволяют работать параллельно с десятками телефонных соединений. Полный список поддерживаемого оборудования для соединения с телефонной сетью общего пользования определяется поддержкой оборудования в модулях ядра, например:

  • DAHDI, акроним «Digium Asterisk Hardware Device Interface» (ранее назывался Zaptel), разрабатывается параллельно с Asterisk компанией Digium.
  • mISDN, разрабатывается Карстеном Кайлом (англ. Karsten Keil) из команды SuSE и компанией Beronet.
  • CAPI.

Протоколы

Поддерживаются следующие протоколы:

Возможно транслировать текст и видеосигналы (например, использовать видеофон). Кроме того, реализована работа с другими компьютерными протоколами:

  • DUNDi — протокол, также разработанный Digium.
  • OSP.
  • T.38, поддерживается передача факсов.

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

Программирование

Настройка и программирование производится с помощью нескольких механизмов:

  • диалплан, который пишется на специальном языке. Доступна как старая версия, так и новая — AEL, а также на языке Lua.
  • AGI.
  • AMI.
  • Конфигурация из баз данных.

Расширение выполняемых функций также возможно путём написания на языке Си нового модуля, что возможно благодаря подробной Doxygen-документации.

Для работы с Asterisk создано множество графических интерфейсов.

Удаленное управление АТС так же может осуществляться с помощью библиотеки libamc.

Специализированные дистрибутивы

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

  • AsteriskNow — дистрибутив от компании Digium включает в себя 2 варианта веб-интерфейса на выбор: Asterisk GUI и FreePBX.
  • AstLinux.
  • AstPbx — русский дистрибутив с богатым преднастроенным функционалом с упором на .conf-файлы.
  • Elastix — дистрибутив от компании PaloSanto Solutions OpenSource реализация идеологии унифицированных коммуникаций с локализованным WEB-интерфейсом.
  • FreePBX — веб-интерфейс для конфигурации Asterisk.
  • PBX in a Flash.
  • PoundKey.
  • Starfish PBX — не обновлялся с 2009 года.
  • Switchvox — продукт компании Digium.
  • Thirdlane PBX.
  • Trixbox, бывший Asterisk@Home, основан на CentOS.
  • VirtualPBX — решение для организации хостинга IVR и виртуальной АТС, с богатым набором функций voice 2.0.
  • JamalSIP — российский программный комплекс для осуществления передачи QVN-вызовов. Бесплатен и активно обновляется.