Это статья о компьютерной телефонии, см. также Звёздочка (типографика), Астерикс.
Asterisk
Логотип программы Asterisk
Логотип Asterisk
Тип IP-PBX
Автор Марк Спенсер
Разработчики Digium, сообщество и Russell Bryant[вд][3]
Написана на Си[4]
Операционные системы кроссплатформенность и UNIX[5]
Первый выпуск 1999[1][2]
Последняя версия 21.0.0
Репозиторий github.com/asterisk/aste…
Лицензия GNU GPL
Сайт asterisk.org (англ.)
Логотип Викисклада Медиафайлы на Викискладе

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

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

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

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

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

Для того, чтобы уйти от проблем, создаваемых двойным лицензированием, был создан форк проекта, называющийся CallWeaver (в настоящее время «мёртв»).

История

[править | править код]

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

Версии

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

Начиная с версии 1.6, Asterisk более не поддерживает Zaptel, оставлена только поддержка DAHDI.
Отличие от предыдущих версий: Поддержка SRTP, поддержка IPv6 в SIP-драйвере, интеграция работы с календарём, новая система журналирования звонков «Channel Event Logging» (CEL), поддержка «Advice of Charge» — сервиса для информирования о стоимости звонка; интеграция Google Talk и Google Voice; поддержка изменения высоты звука[англ.].
Несмотря на смену нумерации, десятая версия не несёт кардинальных изменений. Появилась поддержка высококачественного звука, до 192 кГц; с помощью приложения ConfBridge появилась поддержка видеоконференций; Asterisk теперь может являться сервером текстовых сообщений по протоколам SIP и XMPP, поддержка работы шлюзом для передачи факсимильных сообщений по протоколу T.38; поддержка кодеков SILK и CELT[англ.].
Добавлена поддержка WebRTC, которая позволяет совершать звонки прямо из браузера, без задействования каких-либо плагинов в браузере[14]; новый драйвер chan_motif поддерживает протоколы Google Talk и Jingle, в том числе и видео; расширена поддержка IPv6.
Ряд кардинальных изменений, таких, как новый драйвер канала SIP (основан на библиотеке PJSIP), новые механизмы Asterisk REST Interface, добавлена поддержка IPv6 в драйвер канала IAX2 и др.
LTS-релиз платформы. Передача событий безопасности через AMI. Расширение интерфейсов AMI и ARI, поддержка новых возможностей библиотеки PJSIP.
Поддержка Asterisk 13 продлится до октября 2021 года[16].

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

[править | править код]

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

Кроме применения описанного оборудования, для полноценной работы АТС Asterisk используется и другое оборудование:

Протоколы

[править | править код]

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

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

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

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

[править | править код]

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

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

Для работы с Asterisk существуют дистрибутивы с графическим интерфейсом[22].

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

См. также

[править | править код]

Ссылки

[править | править код]

Примечания

[править | править код]
  1. https://wiki.asterisk.org/wiki/display/AST/A+Brief+History+of+the+Asterisk+Project
  2. https://github.com/asterisk/asterisk/commits/master?after=1376aa3f2999a760e983d5761cf608bfe15a38b8+30570
  3. https://www.aosabook.org/en/intro1.html
  4. The asterisk Open Source Project on Open Hub: Languages Page — 2006.
  5. https://wiki.asterisk.org/wiki/display/AST/Beginning+Asterisk
  6. История создания содержится во вступлении в книге Asterisk™: The Future of Telephony, Second Edition by Jim Van Meggelen, Leif Madsen, and Jared Smith ISBN 978-0-596-51048-0 PDF
  7. Asterisk 1.0 released. TMCnet (23 сентября 2004). Дата обращения: 26 марта 2009. Архивировано из оригинала 2 июня 2012 года.
  8. Keating, Tom Asterisk 1.2 released. TMCnet (16 ноября 2005). Дата обращения: 26 марта 2009. Архивировано из оригинала 2 июня 2012 года.
  9. Asterisk 1.4.0 released. Asterisk.org (20 декабря 2006). Дата обращения: 26 марта 2009. Архивировано из оригинала 2 июня 2012 года.
  10. Asterisk 1.6.0 released. Asterisk.org (2 октября 2008). Дата обращения: 26 марта 2009. Архивировано из оригинала 2 июня 2012 года.
  11. Asterisk 1.8.0 Now Available! Asterisk.org (21 октября 2010). Дата обращения: 24 октября 2010. Архивировано 2 июня 2012 года.
  12. Asterisk 10.0.0 Is Released! Asterisk.org (15 декабря 2011). Дата обращения: 26 декабря 2011. Архивировано 2 июня 2012 года.
  13. Asterisk 11.0.0 Now Available! Дата обращения: 1 ноября 2012. Архивировано 31 октября 2012 года.
  14. Разработка Asterisk 11: Поддержка WebRTC Архивировано 14 октября 2012 года.
  15. Asterisk 13.0.0 Now Available! — Inside the Asterisk. Дата обращения: 31 октября 2014. Архивировано из оригинала 31 октября 2014 года.
  16. 1 2 Asterisk Versions. wiki.asterisk.org. Дата обращения: 9 июня 2018. Архивировано 12 июня 2018 года.
  17. 14 анонсирован в Хантсвилле, Алабама (недоступная ссылка)
  18. "Open Source Asterisk 15 Released - Inside the Asterisk". Inside the Asterisk (англ.). 2017-10-03. Архивировано 12 июня 2018. Дата обращения: 7 июня 2018.
  19. «Zaptel project being renamed to DAHDI». Дата обращения: 11 октября 2008. Архивировано из оригинала 11 октября 2008 года.
  20. mISDN. Дата обращения: 4 мая 2022. Архивировано 29 декабря 2018 года.
  21. Chanskype. Дата обращения: 4 мая 2022. Архивировано 8 марта 2022 года.
  22. Asterisk GUI: Graphical user interfaces. Дата обращения: 3 марта 2021. Архивировано 27 февраля 2021 года.