Глава 1

Революция в телефонии

Сначала они игнорируют тебя, затем они смеются над тобой,

потом они сражаются с тобой, потом ты побеждаешь.

—Махатма Ганди

Когда мы впервые собрались в 2004 году, чтобы написать книгу об Asterisk, мы уверенно предсказали, что Asterisk кардинально изменит телекоммуникационную отрасль. Сегодня революция, которую мы предсказали, почти завершена. Asterisk — самая успешная частная телефонная система (PBX — УАТС) в мире и является принятой (хотя, возможно, не всегда любимой) технологией в телекоммуникационной отрасли.

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

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

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

Естественно, эта невероятная гибкость поставляется с ценой: Asterisk — это не простая система для настройки. Это не потому, что она нелогична, сбивает с толку или загадочна; напротив, она очень разумна и практична. Глаза людей загораются, когда они впервые видят диалплан Asterisk и начинают размышлять о возможностях. Но когда есть буквально тысячи способов достижения результата, этот процесс, естественно, требует дополнительных усилий. Возможно, это можно сравнить с постройкой дома: компоненты относительно легко понять, но человек, рассматривающий такую задачу, должен либо: а) привлекать компетентную помощь или б) развивать необходимые навыки посредством обучения, практики и хорошей литературы по предмету.

Asterisk and VoIP: Преодоление разрыва между традиционной и сетевой телефонией

Voice over IP (VoIP) (голос поверх IP) часто воспринимается как нечто большее, чем метод получения бесплатных междугородных звонков. Реальная ценность (и, если честно, проблема) VoIP заключается в том, что она позволяет голосу стать ни чем иным, как другим приложением в сети передачи данных.

Иногда кажется, что мы забыли, что цель телефона — позволить людям общаться. На самом деле это простая цель, и нам должно быть возможно сделать это гораздо более гибкими и творческими способами, чем в настоящее время. Такие технологии, как Asterisk, снижают барьеры для входа.

The Zapata Telephony Project

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

Проект телефонии Zapata был задуман Джимом Диксоном, инженером по телекоммуникационному консалтингу, который был вдохновлен невероятными достижениями в скорости процессора, которые компьютерная индустрия стала воспринимать как нечто само собой разумеющееся. По мнению Диксона, гораздо более экономичные системы телефонии могли бы быть созданы, если бы существовала карта, на которой не было ничего больше, чем базовые электронные компоненты, необходимые для взаимодействия с телефонной линией. Вместо того, чтобы иметь дорогостоящие компоненты на карте, обработка цифрового сигнала (DSP)1 будет обрабатываться в CPU программным обеспечением. Хотя это наложило бы огромную нагрузку на процессор, Диксон был уверен, что низкая стоимость процессоров по сравнению с их производительностью сделала их гораздо более привлекательными, чем дорогие DSP, и, что более важно, что соотношение цена/производительность будет продолжать уменьшаться, поскольку процессоры продолжают увеличиваться в мощности.

Как и многие провидцы, Диксон считал, что многие другие увидят эту возможность и что ему просто нужно ждать, пока кто-то другой создаст то, что для него было очевидным улучшением. Через несколько лет он заметил, что не только никто не создал эти карты, но вряд ли кто-нибудь когда-либо собирался.

В этот момент было ясно, что, если он хочет революции, ему придется начать её самому. Так появился проект телефонизации Zapata:

Поскольку эта концепция была настолько революционной и, несомненно, внесла много волнений в отрасли, я обратился к мотивам революции в Мексике и назвал технологию и организацию по имени известного мексиканского революционера Эмилиано Запата. Я решил назвать карточку «tormenta», что по-испански означает «шторм» и, обычно, подразумевает большой шторм, например, ураган или что-то подобное.2

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

На протяжении многих лет интерфейс Zapata Telephony в Asterisk был модифицирован и улучшен. Интерфейс телефонии аппаратного устройства Digium Asterisk (Digium Asterisk Hardware Device Interface — DAHDI) , который используется сегодня, является потомком вклада Джима Диксона.

Масштабные изменения требуют гибкости технологии

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

Если бы Интернет, таким же образом, был затруднен регулированием и коммерческими интересами, сомнительно, что он получил бы широкое признание, которым он в настоящее время пользуется. Открытость Интернета означала, что любой может позволить себе участвовать. Так все и сделали. Десятки тысяч умов, которые сотрудничали в создании Интернета, создали то, чего никогда не смогла бы создать ни одна корпорация.3

Как и во многих других проектах с открытым исходным кодом, таких как Linux и прочее важное программное обеспечение, работающее в Интернете, развитие Asterisk подпитывалось мечтами людей, которые знали, что должно быть что-то большее, чем то, что производят традиционные отрасли. Эти люди знали, что если можно взять лучшие части различных АТС и разделить их на взаимосвязанные компоненты, похожие на ящик кирпичей LEGO, можно было бы начать понимать вещи, которые не выдержали бы традиционного корпоративного процесса анализа рисков. Хотя никто не может всерьез утверждать, что имеет полное представление о том, как это должно выглядеть, нет недостатка в мнениях и идеях.4

Многие люди, знакомые с Asterisk, считают его незаконченным. Возможно, этих людей можно уподобить посетителям арт-студии, которые хотят получить подписанный, пронумерованный отпечаток. Они часто остаются разочарованными, потому что обнаруживают, что Asterisk — это пустой холст, тюбики с краской и неиспользованные кисти.5

Успех Asterisk можно напрямую отнести на счет воспитания большим количеством художников, чем любая другая АТС. Большинство производителей посвящают не более нескольких разработчиков одному продукту; Asterisk имеет множество. Большинство фирменных УАТС имеют всемирную группу поддержки, состоящую из нескольких десятков реальных экспертов; Asterisk имеет сотни.

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

Астериск является катализатором.

Asterisk: хакерская АТС

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

Разумеется, термин хакер был искажен средствами массовой информации в смысле «злонамеренный взломщик». Это печально, потому что этот термин фактически существовал задолго до того, как СМИ испортили его значение. Хакеры создали сетевой движок, который является Интернетом. Хакеры создали Apple Macintosh и операционную систему Unix. Хакеры также строят вашу следующую телекоммуникационную систему. Не бойтесь, это хорошие ребята, и они смогут построить систему, которая намного безопаснее, чем все, что существует сегодня. Хакеры могут быстро реагировать на изменяющиеся тенденции в области безопасности и точно настраивать телефонную систему в ответ как на корпоративную политику, так и передовую отраслевую практику. Вместо того, чтобы поддерживать сомнительную и низкую безопасность закрытых систем, хакеры могут быстро реагировать.

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

Asterisk: АТС профессионалов

Никогда в истории телекоммуникаций не было системы, которая бы соответствовала потребностям бизнеса, любой ценовой категории. Asterisk — это технология, обеспечивающая решение, и, как и в случае с Linux, становится все реже встречаться предприятие, в котором не работает какая-либо версия Asterisk, в некотором качестве в сети, решая проблемы, которые способна решить только Asterisk.

Это принятие, скорее всего, произойдет гораздо быстрее, чем в Linux, хотя бы по нескольким причинам:

  • Linux уже проложил путь, который привел к принятию продуктов с открытым исходным кодом. Asterisk следует за этим путем.
  • Телекоммуникационная индустрия искалечена, и руководство этой гигантской индустрии не получает лидерства. У Asterisk есть убедительное, реалистичное и захватывающее видение.
  • Конечным пользователям поставляются несовместимые системы с ограниченной функциональностью и ужасной поддержкой. Asterisk решает первые две проблемы; предприниматели и сообщество обеспечат второе.

Сообщество Asterisk

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

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

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

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

Для членов экспертного сообщества, которые (правильно) считают, что Asterisk похож на язык веб-разработки, этот подход не имеет никакого смысла. Для них ясно, что вам нужно погрузиться в Asterisk, чтобы оценить его тонкости. Будете ли вы просить пошаговое руководство по программированию и рассчитывать извлечь из него все, что может предложить язык?

Ясно, что нет единого подхода, который подходит всем. Asterisk — совсем другое животное, и для него требуется совершенно другой разум. Однако, изучая сообщество, имейте в виду, что в него входят люди со множеством разных навыков и взглядов. Некоторые из этих людей не проявляют большого терпения к новым пользователям, но это часто связано с их страстью к теме, а не потому, что они не приветствуют ваше участие.

Списки рассылки Asterisk

Как и в любом сообществе, есть места, где встречаются члены сообщества Asterisk для обсуждения вопросов, представляющих взаимный интерес. Cписки рассылки вы найдете по адресу http://lists.digium.com, эти три темы в настоящее время наиболее важны:

Asterisk-Biz

В этой рассылке содержится любая коммерческая информация об Asterisk. Если вы продаете что-то связанное с Asterisk — продайте это здесь. Если вы хотите купить услугу или продукт Asterisk — пишите сюда.

Asterisk-Dev

Здесь обитают разработчики Asterisk. Цель рассылки — обсуждение разработки программного обеспечения Asterisk, и его участники энергично отстаивают эту цель. Ожидайте шквал негодования, если вы разместите что-нибудь в этой рассылке, не относящееся конкретно к программированию или разработке базы кода Asterisk. Общие требования к кодингу (например, запросы по взаимодействию с AGI или AMI) должны быть направлены в список Asterisk-Users.

Список Asterisk-Dev не является поддержкой второго уровня! Если вы просматриваете архивы списков рассылки, вы увидите, что это строгое правило. Список рассылки Asterisk-Dev посвящен обсуждению основного развития Asterisk, и вопросы о взаимодействии внешних программ с помощью AGI или AMI должны быть опубликованы в списке Asterisk-Users.

Asterisk-Users

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

Wikipedia Asterisk

Digium поддерживает wiki для Asterisk на wiki.asterisk.org. Этот сайт постоянно обновляется командой Digium, а скрипты экспортируют документацию на основе XML из источника Asterisk в саму wiki, что делает вас уверенным в том, что данные, которые вы читаете, являются достоверными.

Более старая вики существует на www.voip-info.org, которая в наши дни представляет собой некоторое историческое любопытство и источник большого просветления и путаницы. Хотя здесь содержится огромное количество информации, большая часть ее устарела.

IRC-каналы

Сообщество Asterisk поддерживает каналы интернет-ретрансляции (IRC) на irc.freenode.net:6667. Два наиболее активных канала: #asterisk и #asterisk-dev.7 Чтобы сократить вмешательство спамботов, оба этих канала требуют регистрации для присоединения. Чтобы зарегистрироваться, запустите /msg nickserv, когда вы подключитесь к службе через ваш любимый IRC-клиент.

Группа пользователей Asterisk

За последнее десятилетие, во многих городах мира, одинокие пользователи Asterisk стали понимать, что в их городах есть другие единомышленники. Группы пользователей Asterisk (AUG) начали всплывать повсюду. Хотя эти группы не имеют никакой официальной принадлежности друг к другу, они обычно ссылаются на сайты друг друга и приветствуют членов из любой точки мира. Введите «Asterisk User Group» в Google, чтобы отследить их в своем регионе.

Проект документации Asterisk

Проект документации Asterisk был начат Лейфом Мэдзеном и Джаредом Смитом, но несколько человек в сообществе внесли свой вклад.

В рамках усилий проекта Asterisk Docs эта книга была выпущена под лицензией Creative Commons.

Деловой пример

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

В своей книге «Пересечение пропасти» (HarperBusiness, 2002) Джеффри Мур утверждает: «Идея о том, что ценность системы будет раскрываться постепенно, а не будет известна во время установки, подразумевает, в свою очередь, гибкость и адаптивность продукта, а также обслуживание клиентов, эти факторы должны быть важными компонентами контрольного списка для оценки перед покупкой системы». Это частично означает, что истинная ценность технологии часто неизвестна до тех пор, пока она не будет развернута.

Итак, насколько убедительно иметь систему, которая в своей основе придерживается концепции открытости и ценности непрерывных инноваций.

Вывод

С чего начать? Что ж, когда дело доходит до Asterisk, говорить можно столько, что одной книги не хватит. Эта книга может только описать основы, но из этого вы сможете прийти к пониманию концепции Asterisk — и исходя из этого, кто знает, что вы будете строить?

1Термин DSP также означает цифровой сигнальный процессор, который является устройством (обычно чипом), сспособным интерпретировать и модифицировать сигналы различного рода. В голосовой сети DSP в первую очередь отвечают за кодирование, декодирование и транскодирование аудиоинформации. Это может потребовать много вычислительных усилий.

2Jim Dixon, “The History of Zapata Telephony and How It Relates to the Asterisk PBX”.

3Мы понимаем, что технология Интернета формируется из государственных и академических институтов, но речь идет не о технологии Интернета, а о культурном феномене, который взорвался в начале 90-х годов.

4Между версиями Asterisk 1.2 и Asterisk 1.4 было добавлено более 4000 обновлений кода в репозитории SVN. Между версиями Asterisk 1.4 и 1.8 было сделано более 10 000 обновлений.

5Следует отметить, что эти люди не должны разочаровываться. Несколько проектов возникли, чтобы снизить барьеры для входа в Asterisk. Безусловно, самым популярным и известным является интерфейс FreePBX (и множество проектов на его основе). Эти интерфейсы — веб-сайт VoIP-Info может дать вам представление о том, что цель их — не облегчить изучение Asterisk, поскольку они отделяют вас от конфигурации платформы или диалплана, но многие из них предоставят вам рабочую АТС гораздо быстрее, чем более практический подход, который мы используем в этой книге.

6Телеком-индустрия предсказывает революцию с момента аварии; время покажет, насколько хорошо он реагирует на революцию с открытым исходным кодом

7Канал #asterisk-dev предназначен для обсуждения изменений базовой базы Asterisk и также не является поддержкой второго уровня. Обсуждения, связанные с программированием внешних приложений, которые взаимодействуют с Asterisk через AGI или AMI, предназначены для использования в #asterisk.

Остались вопросы?

Я - Виталий Шелест, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

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


ближайшие курсы

10 доводов в пользу Asterisk

Распространяется бесплатно.

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

Безопасен в использовании.

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

Надежен в эксплуатации.

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

Гибкий в настройке.

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

Имеет огромный функционал.

Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.

Интегрируется с любыми системами.

То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.

Позволяет телефонизировать офис за считанные часы.

В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.

Отличная масштабируемость.

Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.

Повышает управляемость бизнеса.

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

Снижает расходы на связь.

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