«правильно» и мой сумасшедший график. Спасибо за подстегивание и развитие моих писательских навыков. Мне действительно понравилось работать с вами. Надеюсь на сотрудничество в будущих проектах!
Спасибо Марку Спенсеру за непрекращающуюся поддержку, самоотверженность и дружбу. Вы были бесценным ресурсом для нашего начинания, и я искренне верю, что вы положили начало революции в мире телефонной связи. Вы всегда желанный гость в моем доме и за моим столом!
Спасибо всем остальным замечательным ребятам из Digium за помощь и поддержку. Мы особенно благодарны за вашу готовность помочь нам лучше понять код Asterisk и за предоставленное бесплатно оборудование, благодаря чему мы смогли более детально задокументировать комплект для разработчиков Asterisk (Asterisk Developer's Kit). Спасибо Стивену Соколу, Стивену Критчфилду (Steven Critchfield), Олли И. Йоханссону и всем остальным, кто принимал участие в Asterisk Documentation Project и в создании данной книги! Мы не смогли бы ничего сделать без вашей помощи и советов.
Глава 1 Революция в телефонии
Для достижения цели не требуется иметь поддержку большинства, достаточно нескольких неистовых и неутомимых борцов, способных разжечь пламя в умах людей. Самюэль Адамс
Мы являемся свидетелями невероятных революционных событий. Они ожидались уже давно, и теперь, когда процесс начался, ничто не в силах остановить его. Изменения охватили технологическую область, которая сильно отстала от всех остальных отраслей промышленности, объединенных общим названием hi- tech (от англ. high technology - высокая технология). Речь идет о телекоммуникациях, революцию в которых осуществил продукт с открытым исходным кодом для офисной телефонной станции с выходом в общую сеть (Private Branch eXchange, PBX) под названием
Телекоммуникации - это, наверное, единственная из высокотехнологичных отраслей, которой не коснулась революция, связанная с появлением открытого исходного кода[3]. Основные производители в этой области по-прежнему создают необоснованно дорогие, несовместимые друг с другом системы, которые используют архаичное и запутанное программное обеспечение и впечатляющее своей инженерной мыслью, но безнадежно устаревшее оборудование.
Например, Business Communications Manager от компании Nortel каким-то чудом объединяет в себе кнопочный номеронабиратель 15-лет- ней давности и ПК на базе процессора Celeron с частотой 1,2 ГГц[4]. Все это может стать вашим всего за $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]происходила бы в ЦП под управлением программного обеспечения. При этом нагрузка на ЦП сильно возросла бы, но Диксон был уверен, что низкая стоимость ЦП по сравнению с их производительностью делает их применение намного более привлекательным, чем использование ЦОС, и, что еще более важно, соотношение цена/производительность продолжало бы улучшаться с повышением мощности ЦП. Как все мечтатели, Диксон верил, что эта идея откроется многим и ему просто надо подождать, пока кто-нибудь другой не реализует то, что он видел как очевидное усовершенствование. Но через несколько лет такие платы не только не были созданы, но, казалось, никто и не собирался ими заниматься. Тогда ему стало ясно, что если он хочет совершить революцию, то должен начинать ее самостоятельно. И родился проект телефонной связи Zapata.
Поскольку эта идея была настолько революционной и, несомненно, вызвала бы большой резонанс в отрасли, я обратился к мотивам революции в Мексике и назвал технологию и организацию по имени известного мексиканского революционера Эмилиано Запата (Emiliano Zapata). Для платы я выбрал имя tormenta, что по-испански означает «буря», и обычно подразумевается сильная буря, например ураган или нечто подобное1. Возможно, нам следовало бы называть себя астеритянами. Мы, конечно, в долгу перед Джимом Диксоном и за то, что он все это придумал, и за то, что довел дело до конца, но прежде всего - за предоставление результатов своего труда сообществу разработчиков продуктов с открытым исходным кодом. Благодаря Джиму появилось ядро коммутируемой телефонной сети общего пользования