Asterisk™: будущее телефонии Второе издание - Джим Меггелен 3 стр.


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

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

Мы являемся свидетелями невероятных революционных событий. Они ожидались уже давно, и теперь, когда процесс начался, ничто не в силах остановить его. Изменения охватили технологическую область, которая сильно отстала от всех остальных отраслей промышленности, объединенных общим названием hi-tech (от англ. high technology - высокая технология). Речь идет о телекоммуникациях, революцию в которых осуществил продукт с открытым исходным кодом для офисной телефонной станции с выходом в общую сеть (Private Branch eXchange, PBX) под названием Asterisk™.

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

Например, Business Communications Manager от компании Nortel каким-то чудом объединяет в себе кнопочный номеронабиратель 15-лет- ней давности и ПК на базе процессора Celeron с частотой 1,2 ГГц. Все это может стать вашим всего за $5000-15 000, не включая стоимость телефонных аппаратов. Если хочется получить какие-то действительно интересные функции, придется доплатить за универсальные приложения с ограниченной функциональностью и закрытым исходным кодом. Настройка? Забудьте о ней - она не входит в функционал системы. Технологии будущего и совместимость со стандартами? Подождите пару лет - над этим работают.

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

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

VoIP: наведение мостов между традиционной и сетевой телефонией

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

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

Сложность состоит в том, что отрасль, которая практически не изменилась за последние сто лет, не проявляет особого интереса к этому и сейчас.

Проект телефонной связи Zapata

Проект телефонной связи Zapata (Zapata Telephony Project) был основан Джимом Диксоном, инженером-консультантом по связи. Его вдохновило невероятное увеличение частот ЦП (центрального процессора), которое в компьютерной отрасли сейчас уже воспринимается как должное. Диксон считал, что при наличии плат, включающих только базовые электронные компоненты, необходимые для взаимодействия с телефонной сетью, можно было бы создать намного более экономичные системы телефонной связи. Дорогие компоненты не нужны, потому что вся цифровая обработка сигнала (Digital Signal Processing, DSP - ЦОС)происходила бы в ЦП под управлением программного обеспечения. При этом нагрузка на ЦП сильно возросла бы, но Диксон был уверен, что низкая стоимость ЦП по сравнению с их производительностью делает их применение намного более привлекательным, чем использование ЦОС, и, что еще более важно, соотношение цена/производительность продолжало бы улучшаться с повышением мощности ЦП. Как все мечтатели, Диксон верил, что эта идея откроется многим и ему просто надо подождать, пока кто-нибудь другой не реализует то, что он видел как очевидное усовершенствование. Но через несколько лет такие платы не только не были созданы, но, казалось, никто и не собирался ими заниматься. Тогда ему стало ясно, что если он хочет совершить революцию, то должен начинать ее самостоятельно. И родился проект телефонной связи Zapata.

Поскольку эта идея была настолько революционной и, несомненно, вызвала бы большой резонанс в отрасли, я обратился к мотивам революции в Мексике и назвал технологию и организацию по имени известного мексиканского революционера Эмилиано Запата (Emiliano Zapata). Для платы я выбрал имя tormenta, что по-испански означает "буря", и обычно подразумевается сильная буря, например ураган или нечто подобное. Возможно, нам следовало бы называть себя астеритянами. Мы, конечно, в долгу перед Джимом Диксоном и за то, что он все это придумал, и за то, что довел дело до конца, но прежде всего - за предоставление результатов своего труда сообществу разработчиков продуктов с открытым исходным кодом. Благодаря Джиму появилось ядро коммутируемой телефонной сети общего пользования (Public Switched Telephone Network, PSTN) Asterisk.

Для широкомасштабных изменений необходима гибкая технология

Самая успешная в мире малая АТС имеет конструктивное ограничение, об устранении которого пользователи умоляют вот уже в течение 15 лет: при определении того, сколько раз прозвонит телефон, прежде чем вызов будет перенаправлен на голосовую почту, предоставляется возможность выбрать 2, 3, 4, 6 или 10 звонков. Знаете ли вы, сколько человек просили о внесении возможности выбора пяти звонков? Казалось бы, требуется внести простое изменение, но, сколько бы ни просили пользователи, производители не могут понять, что это действительно является проблемой. "Она так работает, - отвечают они, - и пользователям надо просто смириться с этим".

Другой подобный пример: имя в телефонной книге может быть длиной не более семи символов. В конце 1980-х, когда эта система разрабатывалась, оперативная память была очень дорогой и хранение семи символов для десятков телефонных аппаратов означало гигантские расходы на оборудование. А какое этому оправдание может быть сегодня? Его нет. Планируется ли изменить ситуацию? Вряд ли, вопрос даже не признан проблемой официально. Это всего два примера, а отрасль изобилует ими.

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

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

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

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

Asterisk - это катализатор.

Asterisk: офисная АТС, создаваемая хакерами

Телекоммуникационные компании, которые решили игнорировать 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 собираются для обсуждения вопросов, вызывающих всеобщий интерес. Список рассылок можно найти по адресу 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

Назад Дальше