Джим Меггелен - Asterisk™: будущее телефонии Второе издание
Все лучшие программы начинаются с решения проблем их автора.
- Эрик С. Раймонд «Собор и базар»
В своей книге «Собор и базар» Эрик С. Раймонд объясняет, что «при достаточном количестве глаз все дефекты всплывают на поверхность». Причина, по которой разработка ПО с открытым исходным кодом обеспечивает такое устойчивое качество, проста: недостаткам просто невозможно укрыться.
Проблема, которую решает Asterisk
В эпоху разработки собственных баз данных и веб-сайтов люди не только устали постоянно слышать, что их система телефонной связи «не может обеспечить этого», они просто открыто не верят в это. Изощренные потребности пользователей в сочетании с ограничениями технологии привели к рождению особого типа творчества: специалисты связи, как участники соревнования в передаче «Супервойны на свалке», пытаются создать функциональные устройства из груды плохо сочетающихся компонентов.
Методология разработки узкоспециализированной системы телефонной связи обусловливает наличие в ней множества функций и то, что их количество будет во многом определять цену. Производители обещают, что их продукты предоставят сотни функций, и никого волнует, что вам нужны лишь пять из них. Но хуже всего, что в этой системе может не быть одной функции, без которой вам действительно никак
Следующий раздел во многом является интерпретацией статьи О'Рейлли. Чтобы проникнуть в суть этих идей, настоятельно рекомендуем прочитать оригинальную статью.
не обойтись, и это существенно уменьшит ценность такой системы, потому что она не сможет полностью удовлетворить ваши нужды. Тот факт, что пользователю могут быть необходимы лишь 5 из 500 функций, не учитывается, и желание пользователя иметь 5 недоступных функций, отвечающих требованиям его деятельности, отвергается как необоснованное[136]. Пока гибкость не станет нормой, телекоммуникация останется в прошлом веке, несмотря на все технологии VoIP в мире.
Asterisk решает именно эту проблему, и решает ее так, как могут немногие системы телефонной связи. Это чрезвычайно разрушительная технология, в большей мере потому, что она основывается на принципах, находящих свое подтверждение снова и снова: «мир с закрытым исходным кодом не может выиграть эволюционную гонку у сообществ, придерживающихся стратегии открытого исходного кода, которые имеют возможность вложить в решение проблемы на порядки больше времени работы квалифицированных специалистов»[137].
Открытая архитектура
Одним из камней преткновения традиционных систем связи было откровенное нежелание сотрудничать друг с другом. Телекоммуникационные гиганты существуют более ста лет. Принцип закрытых узкоспециализированных систем настолько проник в их культуру, что даже попытки соответствовать стандартам подорваны их желанием обогнать конкурентов, добавив хотя бы одну такую функцию, которую больше никто не поддерживает. Чтобы увидеть пример подобного мышления, достаточно взглянуть на VoIP-продукты, предлагаемые сегодня телекоммуникационной отраслью. Несмотря на заявленное соблюдение стандартов, идея о том, чтобы действительно предоставить возможность подключения телефона Cisco к коммутатору Nortel или интеграции системы голосовой почты Avaya через протокол IP с офисной АТС Siemens, даже не обсуждается.
В компьютерной отрасли все иначе. Двадцать лет назад при покупке IBM-сервера для взаимодействия с ним необходимы были IBM-сеть и IBM-терминалы. Сейчас IBM-сервер, скорее всего, сможет соединяться с терминалами Dell по сети Cisco (и работать под управлением ОС Linux, кроме всего прочего). Можно привести массу подобных примеров. Если бы любая из этих компаний заявила, что мы можем использовать их продукты только с тем, на что они нам укажут, ей пришлось бы уйти с рынка.
Телекоммуникационная отрасль переживает такие же изменения, но не торопится принять их. Asterisk, с другой стороны, очень спешит не только принять изменения, но активно использовать их. IP-телефоны Cisco, Nortel, Avaya и Polycom (и это далеко не полный список) были успешно подключены к системам Asterisk. Сегодня в мире нет другой офисной АТС, которая могла бы похвастать этим. Ни одной. Мощь Asterisk - в открытости.
Соответствие стандартам
За последние несколько лет стало очевидным: стандарты меняются настолько стремительно, что не отставать от них поможет только умение быстро реагировать на возникающие в технологии новые направления. Asterisk, в силу того что является системой с открытым исходным кодом, создаваемой сообществом разработчиков, идеально подходит для такого типа быстрой разработки, который обеспечит соответствие столь быстро изменяющимся стандартам.
Asterisk не ориентируется на анализ рентабельности или исследования рынка. Она развивается в ответ на все, что, по мнению сообщества, является интересным или необходимым.
Мгновенный ответ на новые технологии
После посещения первого мероприятия, посвященного тестированию совместимости SIP (SIP Interoperability Test, SIPIT), Марк Спенсер за несколько дней создал для Asterisk элементарный, но рабочий блок, обеспечивающий возможность взаимодействия с библиотекой SIP Stack. Это было еще до того, как SIP стал предпочтительным протоколом в мире VoIP, но Марк разглядел его ценность и потенциал и обеспечил готовность Asterisk к его использованию.
Такое умение предвидеть и гибкость типичны в сообществе разработчиков продуктов с открытым исходным кодом (и очень нетипичны для больших корпораций).
Полное энтузиазма сообщество
Каждый день в рассылку Asterisk-users (пользователи Asterisk) приходит множество электронных писем. У этой рассылки более 10 000 подписчиков. Такая поддержка сообщества является просто неслыханной для мира узкоспециализированных телекоммуникаций, тогда как в мире открытого исходного кода это норма. Ожидалось, что первое мероприятие AstriCon привлечет внимание 100 человек, пришло около 500 (желающих было намного больше, но они просто не смогли присутствовать). Такая поддержка сообщества, несомненно, гарантирует успех продукта с открытым исходным кодом.
Что уже возможно
Итак, что можно сделать, используя Asterisk? Давайте рассмотрим кое-что из того, что уже предлагается.
Шлюз для традиционной офисной АТС
Asterisk может быть фантастическим мостом от старой офисной АТС в будущее. Ее можно разместить перед АТС как шлюз (и выводить пользователей за границы офисной АТС при необходимости) или за АТС как периферийный сервер приложений. Можно даже сделать и то и другое одновременно, как показано на рис. 15.1.
Рис. 15.1. Asterisk в качестве шлюза офисной АТС
Вот некоторые функции из тех, что можно реализовать: Сохранить старую офисную АТС, но перейти на IP
Компании, потратившие в последние несколько лет огромные суммы на приобретение узкоспециализированного оборудования офисных АТС, хотят вырваться из тюрьмы ограничений, но не могут смириться с мыслью о том, что придется избавиться от своего оборудования, работающего неэффективно. Нет проблем. Asterisk может решить любые задачи, от замены системы голосовой почты до предоставления возможности введения пользователей, поддерживающих IP, сверх номинальной емкости системы.
Найди меня, следуй за мной
Предоставьте офисной АТС список номеров, по которым можно с вами связаться, - и она будет звонить по ним при поступлении вызова на ваш DID (Direct Inward Dialing, то есть телефонный номер). Рис. 15.2 иллюстрирует эту технологию.
Звонки по VoIP
Рис. 15.2. Найди меня, следуй за мной
Если можно установить соединение по телефонной линии между офисной АТС Asterisk и старой офисной АТС, Asterisk может обеспечить доступ к сервисам VoIP, тогда как старая офисная АТС продолжает соединяться с внешним миром, как обычно. При использовании в качестве шлюза Asterisk просто надо эмулировать функции PSTN - и старая офисная АТС даже не будет знать, что что-то изменилось. На рис. 15.3 показано, как можно использовать Asterisk для обеспечения поддержки VoIP в устаревшей офисной АТС.
Рис. 15.3. Поддержка VoIP в устаревшей офисной АТС
Доступный IVR
Многие путают интерактивный автоответчик (Interactive Voice Response, IVR) с обычным автоответчиком (Automated Attendant, AA). Поскольку изначально IVR использовался как автоответчик, это неудивительно. Тем не менее понятие IVR в телефонии намного шире, чем просто автоответчик. AA является, так сказать, средством для перенаправления вызывающего абонента на добавочный номер и встроен в большинство узкоспециализированных систем голосовой почты. Но функционал IVR может быть намного большим.
Системы IVR обычно не просто дороги по цене, их конфигурирование очень трудоемко. Для специальной системы IVR обычно требуется возможность соединения с внешней базой данных или приложением. Asterisk - пожалуй, идеальный IVR, поскольку в ней заложена возможность соединения с базами данных и приложениями на самом глубоком уровне.