355 500 произведений, 25 200 авторов.

Электронная библиотека книг » Джим Меггелен » Asterisk™: будущее телефонии Второе издание » Текст книги (страница 2)
Asterisk™: будущее телефонии Второе издание
  • Текст добавлен: 7 октября 2016, 17:17

Текст книги "Asterisk™: будущее телефонии Второе издание"


Автор книги: Джим Меггелен


Соавторы: Джаред Смит,Лейф Мадсен

Жанр:

   

ОС и Сети


сообщить о нарушении

Текущая страница: 2 (всего у книги 41 страниц)

Лейф Мадсен

Дорога к этой книге была долгой, на ее создание ушло около трех лет. Когда я начал использовать Asterisk, вероятно, как и вы, я ничего не знал о ней, знал очень немного о традиционной телефонии и даже еще меньше о Voice over IP. Я с головой окунулся в этот новый и волнующий мир и вбирал все, что мог. В течение двух месяцев практики, когда я не мог быстро определиться, чем буду заниматься, я впитывал максимум знаний, задавая вопросы, пробуя и открывая возможности системы. К сожалению, не было практически никакой документации по Asterisk. Мне удалось лишь отыскать примеры диалплана Джона Тодда (John Todd) и получить ответы на вопросы от Брайана К. Веста (Brian K. West) в IRC. Конечно, так не могло долго продолжаться. Не будучи хорошим кодировщиком, я искал другие способы пригодиться сообществу. А что кодировщики не любят больше всего? Документацию! Так я начал работу над The Asterisk Documentation Assignment (TADA), базовым конспектом с небольшим объемом информации для начала книги.

Вскоре после опубликования этого труда на своем веб-сайте я получил письмо от очень смышленого парня по имени Джаред Смит. Он тоже жаждал создать для сообщества «бумажную» книгу, и мы с замиранием сердца запустили проект Asterisk Documentation Project. Джаред создал простой веб-сайт по адресуhttp://www.asteriskdocs.org, CVS– сервер (Concurrent Versions System – система контроля версий) и выложил самую первую версию книги в формате DocBook для Asterisk. С этого момента мы начали сбор информации, и вскоре в этот процесс включились члены сообщества.

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

Сформировав ядро команды по созданию документации, мы приступили к выполнению плана по написанию книг по Asterisk, которые в конечном итоге образуют полную библиотеку и богатый источник информации. Фактически данная книга – начало реализации этой мечты. Прежде всего я должен поблагодарить своих родителей, Рика (Rick) и Кэрол (Carol), за то, что они всегда поддерживают мои начинания, позволяя реализовывать мои мечты, и всегда ставят мои нужды превыше собственных. Без их видения, понимания и проницательности было бы невозможно достичь того, чего я достиг. Я очень люблю вас обоих! Хотел бы выразить благодарность Феликсу Карапаике (Felix Carapaica) и Биллу Фаркасу (Bill Farkas) из Шериданского института технологий за их преданность продвижению знаний. Они дополнили мои предыдущие знания и чрезвычайно расширили мои представления о маршрутизации и о телекоммуникациях.

Хотелось бы отметить очень многих, но особенно важную роль сыграли и продолжают играть, оказав наибольшее влияние на формирование моего понимания Asterisk, Джошуа Колп, Тилгман Лешер, Рассел Брайант, Стив Мерфи (Steve Murphy), Олли Йоханссон (Olle Johansson), Стивен Сокол (Steven Sokol), Брайан К. Вест, Джон Тодд и Вильям Саф– филл (William Suffill) (спасибо за мой самый первый VoIP-телефон, которым я пользуюсь до сих пор!). И всем тем, кого я обещал упомянуть в книге... спасибо!

И конечно, спасибо Джареду Смиту и Джиму Ван Меггелену за видение и понимание всей важности документации. Все это было бы невозможным без вас.

Джаред Смит

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

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

Вот тут началось настоящее веселье.

С помощью и при одобрении директора по информационным технологиям мы вынашивали планы перевести всю нашу инфраструктуру телефонной связи на Asterisk, включая офис компании и все удаленные центры телефонного обслуживания. В ходе работы мы натыкались на массу неведомых до тех пор проблем, и я начал подумывать о создании хорошего хранилища знаний по Asterisk. При этом нам удалось сделать несколько настоящих открытий, таких как объединение каналов IAX! В конечном счете мы получили около сорока серверов Asterisk, рассредоточенных географически в разных местах, взаимодействующих друг с другом, образуя единую систему телефонной связи VoIP класса предприятия. Эта система в настоящее время обрабатывает примерно 1 млн минут звонков ежемесячно, обслуживает несколько сотен сотрудников, соединяется с 27 голосовыми линиями T1 и экономит для компании около $20 000 (США) каждый месяц на затратах на телефонную связь. Короче говоря, наш проект Asterisk имел ошеломительный успех! Работая над реализацией этого проекта, где-то в IRC-каналах я познакомился с Лейфом. Мы поговорили о том, как могли бы помочь новым пользователям Asterisk и облегчить переход к этой системе, и решили настойчиво работать над планами по созданию более полной документации Asterisk. Я действительно хотел выпустить хорошую документацию в «бумажном» варианте, по сути, книгу, по которой новичок мог бы научиться основам Asterisk. Примерно в то же время чрезвычайно возросло количество новых пользователей в рассылках Asterisk и IRC– каналах, и мы почувствовали, что написание книги по Asterisk могло бы сильно улучшить соотношение количества полезной информации и «шелухи» в группе новостей. Так был рожден проект Asterisk Documentation Project! Все остальное, как говорится, уже история.

С тех пор я занимаюсь написанием документации Asterisk. Никогда не думал, что это настолько трудно, но в то же время полезно. (Мы с Лейфом и Джимом шутим, что, наверное, проще было бы написать исчерпывающий том под названием «Религия, контроль над оружием и суши», чем достаточно детально охватить все, что предлагает Asterisk!) То, что вы видите здесь, – прямой результат многих затягивавшихся до глубокой ночи посиделок и долгих выходных, проведенных на благо сообщества разработчиков Asterisk. Тем не менее это самое малое, что мы могли сделать, учитывая то, что Asterisk дала нам. Надеемся, эта книга вдохновит других членов сообщества разработчиков Asterisk на участие в доработке документации, внесении изменений и новых функций на благо всем.

Теперь время выразить благодарность.

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

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

Спасибо Дейву Карру (Dave Carr) и Майклу Ландбергу (Michael Lund– berg) за то, что позволили мне изучать Asterisk в рабочее время. Работать с вами было настоящим удовольствием. Пусть удача улыбается вам и дарует успех во всех ваших начинаниях.

Спасибо Лейфу и Джиму за то, что выдерживали мои глупые шутки, мое упорство в желании делать все «правильно» и мой сумасшедший график. Спасибо за подстегивание и развитие моих писательских навыков. Мне действительно понравилось работать с вами. Надеюсь на сотрудничество в будущих проектах!

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

Спасибо всем остальным замечательным ребятам из Digium за помощь и поддержку. Мы особенно благодарны за вашу готовность помочь нам лучше понять код Asterisk и за предоставленное бесплатно оборудование, благодаря чему мы смогли более детально задокументировать комплект для разработчиков Asterisk (Asterisk Developer's Kit). Спасибо Стивену Соколу, Стивену Критчфилду (Steven Critchfield), Олли И. Йоханссону и всем остальным, кто принимал участие в Asterisk Documentation Project и в создании данной книги! Мы не смогли бы ничего сделать без вашей помощи и советов.

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

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

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

Телекоммуникации – это, наверное, единственная из высокотехнологичных отраслей, которой не коснулась революция, связанная с появлением открытого исходного кода[3]3
  До настоящего времени. До настоящего времени.


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

Например, Business Communications Manager от компании Nortel каким-то чудом объединяет в себе кнопочный номеронабиратель 15-лет– ней давности и ПК на базе процессора Celeron с частотой 1,2 ГГц[4]4
  Не без удовольствия отметим, что Nortel наконец избавилась от Windows NT 4.0 и установленного Linux. С технической точки зрения идея хорошая, но довольно неожиданная, учитывая, что Nortel и Microsoft недавно объявили о партнерстве в разработке телекоммуникационных приложений уровня предприятия.


[Закрыть]
. Все это может стать вашим всего за $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 – ЦОС)[5]5
  Джим Диксон «The History of Zapata Telephony and How It Relates to the Asterisk PBX» (http://www.asteriskdocs.org/modules/tinycontent/index. php?id=10).
  Если необходимо ввести имя Елизавета, придется придумать что-нибудь наподобие Елизавт, или Елизаве, или, скажем, Лизавет. Есть, конечно, приемлемый вариант – Лиза, но суть проблемы ясна.


[Закрыть]
происходила бы в ЦП под управлением программного обеспечения. При этом нагрузка на ЦП сильно возросла бы, но Диксон был уверен, что низкая стоимость ЦП по сравнению с их производительностью делает их применение намного более привлекательным, чем использование ЦОС, и, что еще более важно, соотношение цена/производительность продолжало бы улучшаться с повышением мощности ЦП. Как все мечтатели, Диксон верил, что эта идея откроется многим и ему просто надо подождать, пока кто-нибудь другой не реализует то, что он видел как очевидное усовершенствование. Но через несколько лет такие платы не только не были созданы, но, казалось, никто и не собирался ими заниматься. Тогда ему стало ясно, что если он хочет совершить революцию, то должен начинать ее самостоятельно. И родился проект телефонной связи Zapata.

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

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

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

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

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

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


[Закрыть]
.

Многие люди, впервые сталкиваясь с Asterisk, считают ее незаконченным проектом. Наверное, их можно сравнить с посетителями изостудии, ожидающими увидеть здесь подписанные и пронумерованные репродукции. Часто они разочаровываются, узнав, что Asterisk – это ожидающие их чистый холст, тюбики с краской и новые кисти[7]7
  Но не стоит огорчаться. Появилось несколько проектов, которые помогут упростить внедрение Asterisk. На данный момент наиболее популярным и известным из них является trixbox (http://www.trixbox.org). Имея старый ПК (или виртуальную машину VMware), с помощью графического интерфейса trixbox можно настроить офисную АТС, просто ответив на несколько вопросов в процессе автоматической установки. Это не поможет научиться работать с Asterisk, потому что здесь пользователь не участвует в конфигурации платформы или диалплана, но так вы получите рабочую АТС намного быстрее, чем если бы делали это преимущественно вручную, как описывается в данной книге.


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

Глубина и широта экспертных знаний, вложенных в этот продукт, не имеет аналогов в телефонной отрасли. Asterisk имеет преданных поклонников среди «стариков» из Telco, бывших свидетелями расцвета телефонных аппаратов с дисковыми номеронабирателями, сотрудников крупных телекоммуникационных компаний, которые помнят времена, когда голосовая почта была самой модной новейшей технологией, и специалистов по передаче данных, помогавших создавать Интернет. Все эти люди верят в одно – телекоммуникационная промышленность нуждается в надлежащих революционных изменениях[8]8
  Революцию в телекоммуникациях предсказывали еще до краха старых технологий; время покажет, насколько эффективно было революционное введение открытого кода.
  По последним подсчетам более 30%.


[Закрыть]
.

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

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

Телекоммуникационные компании, которые решили игнорировать Asterisk, поступают рискованно. Предоставляемая Asterisk гибкость обеспечивает возможности, о которых лучшие коммерческие системы могут только мечтать, потому что Asterisk – это АТС, созданная хакерами. Если вас попросят не применять слово «хакер», не обращайте внимания. Этот термин не является собственностью средств массовой информации. Они присвоили его и исказили значение, называя так «злонамеренных взломщиков». Пришло время восстановить справедливость. Хакеры разработали механизм передачи данных по сети, то есть Интернет. Хакеры создали Apple Macintosh и операционную систему UNIX. Хакеры работают и над телефонной системой будущего. Не надо пугаться, все они отличные парни и смогут построить систему, намного более безопасную, чем все существующие сегодня. Они не станут создавать ненадежные и легко поддающиеся взлому средства безопасности для закрытых систем, хакеры смогут быстро реагировать на изменение тенденций в обеспечении безопасности и настраивать телефонную систему соответственно политике корпорации и наилучшей практике отрасли. Как и другие системы с открытым исходным кодом, Asterisk сможет развиться в намного более безопасную платформу, чем любая коммерческая система, не вопреки своим хакерским корням, а, скорее, благодаря им.


    Ваша оценка произведения:

Популярные книги за неделю