Asterisk™: будущее телефонии Второе издание

Меггелен Джим Ван

Мадсен Лейф

Смит Джаред

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

O'REILLY®

Asterisk™: будущее телефонии

Второе издание

Джим Ван Меггелен, Лейф Мадсен и Джаред Смит

Предисловие

Когда-то давным-давно жил-был мальчик ...и был у него компьютер ...и телефон.

Так все просто начиналось, а к скольким неприятностям это привело! Не так давно дистанционная передача данных и голоса, а также программное обеспечение были коммерческими продуктами и сервисами. Некоторые из них контролировались клубом избранных компаний, создающих технологии, другие - компаниями, использующими продукты для предоставления сервисов. К концу 1990-х годов распространение Интернета сделало дистанционную передачу данных общедоступной. Цены упали. Возникли новые прогрессивные технологии, сервисы и компании. В то же время появилась полностью открытая программная платформа Linux (или GNU/Linux), ставшая результатом трудов пионеров-создателей свободного программного обеспечения Ричарда Столлмана (Richard Stallman), Линуса Торвалдса (Linus Torvalds) и многих других. Тем не менее голосовая связь хоть и была повсеместно распространенной, но по-прежнему оставалась коммерческой. Почему? Может быть, потому, что голосу в старой телефонной сети общего пользования не хватало очарования и блеска многообещающей новой глобальной сети связи. Или, возможно, потому, что телефон просто не мог так же эффективно обеспечить развлечение для взрослых. Какой бы ни была причина, одно оставалось очевидным: телефонная связь с открытым исходным кодом была распространена практически так же широко, как и защищенное от несанкционированного копирования ПО с открытым исходным кодом.

Востребованность (а в некоторых случаях просто дешевизна) - действительно двигатель прогресса. В 1999 году, когда я основал компанию

Linux Support Services

(Служба поддержи

Linux)

с целью предложить бесплатную и коммерческую техническую поддержку для

Linux,

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

Это только программа!

Итак, в 1999 году я создал бесплатную платформу для телефонной связи, которую выложил в Сети, и продолжил зарабатывать на жизнь, оказывая техническую поддержку Linux. Однако к 2001 году по мере спада экономики стало очевидным, что компания Linux Support Services была бы более прибыльной, если бы мы занимались исключительно Asterisk, а не общей технической поддержкой Linux. В тот год мы познакомились с Джимом Диксоном (Jim Dixon) по прозвищу Dude, создателем проекта телефонной связи Zapata. Его восхитительный труд был фантастическим дополнением к Asterisk и предоставил нам бизнес-модель для начала более целенаправленной работы над Asterisk. После создания вместе с Dude нашей первой интерфейсной PCI-платы для телефонной связи стало очевидным, что Linux Support Services не лучшее название для телефонной компании. Мы решили назваться Digium (но это совсем другая история, и об этом трудно рассказать). С началом распространения технологии VoIP (Voice over IP - передача голоса по IP-протоколу), с революционным переходом от старых коммутируемых сетей к новым сетям на базе IP-протокола все изменилось.

Введение

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

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

Выпущенная при поддержке O'Reilly Media, книга «Asterisk: будущее телефонии» была создана под впечатлением от работы, начатой Asterisk Documentation Project. Мы прошли длинный путь, и эта книга является реализацией желания создать документацию, которая представляла бы самые фундаментальные элементы Asterisk: то, что необходимо знать каждому, кто начинает работать с Asterisk. Эта книга - первый том будущей, мы уверены в этом, огромной библиотеки знаний по Asterisk. Эта книга написана для и при участии сообщества разработчиков Asterisk.

Целевая аудитория

Данная книга рассчитана на новичков в Asterisk, но мы предполагаем, что вы хорошо знакомы с основами администрирования Linux, построением сетей и другими ИТ-дисциплинами. Если нет, рекомендуем изучить богатую и замечательную библиотеку книг O'Reilly, посвященных этим вопросам. Также предполагается, что вы практически не знакомы с телекоммуникациями: как с традиционной коммутируемой телефонной связью, так и с новым миром передачи голоса по IP-протоколу.

Структура книги

Данная книга организована следующим образом:

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

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

Глава 2. Подготовка системы к установке Asterisk

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

Программное обеспечение

Основное внимание данная книга уделяет документированию Asterisk версии 1.4; однако многие соглашения и информация в данной книге являются универсальными и не относятся к какой-либо конкретной версии. Для выполнения и тестирования Asterisk мы использовали операционную систему Linux, тяготея к синтаксису Red Hat. Мы решили, что, хотя основанные на Red Hat дистрибутивы, возможно, не являются самыми популярными, тем не менее их компоновка и утилиты хорошо знакомы многим опытным администраторам Linux.

В данной книге действуют следующие соглашения о шрифтовом оформлении:

Курсив

Применяется для выделения новых терминов и URL.

Моноширинный шрифт

Предназначен для команд, опций, параметров и аргументов, подставляемых в команды.

Принятые соглашения

Использование примеров кода

Данная книга призвана помочь вам в вашей работе. Вообще говоря, код из нее вы можете свободно использовать в своих программах и документации. Не надо обращаться к нам за разрешением на использование небольших частей кода, например, при написании программы, в которой применяется несколько блоков кода из этой книги. А вот продажа или распространение CD-ROM с примерами из книг O'Reilly требует специального разрешения. Можно свободно ссылаться на книгу и цитировать примеры кода, но для включения больших частей кода из нее в документацию вашего продукта требуется наше согласие. Будем признательны, но не настаиваем на указании авторства. Обычно ссылка на источник включает название, автора, издателя и ISBN. Например:

«Asterisk: The Future of Telephony,

Second Edition by Jim Van Meggelen, Leif Madsen, and Jared Smith. Copyright 2007 O'Reilly Media, Inc., 978-0-596-51048-0».

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

[email protected]

.

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

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

Asterisk™

.

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

[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 в том, что с его помощью голос становится всего лишь обычным приложением в сети передачи данных.

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

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