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

УАТС Asterisk с открытыми исходными кодами, автором которой является Марк Спенсер, была представлена на условиях лицензии GPL еще в 1999 г. «Asterisk» означает «звездочка», а также символ «*» (его можно найти на любом стандартном телефоне, в компьютерной же области он имеет значение символа подстановки «все»). Выбор названия не случаен: продукт умеет сегодня — не в последнюю очередь благодаря стараниям десятков привлеченных разработчиков со всего мира — практически все. Между тем Марк Спенсер вместе со своей компанией Digium до сих пор обеспечивает по большей части контроль за дальнейшим его развитием.

Решение поддерживает важнейшие открытые стандарты передачи голоса по IP, к примеру SIP, при этом в его базовый набор функций входят дополнительные телефонные приложения: голосовая почта, конференц-связь и управление очередями входящих вызовов. Благодаря открытой и гибкой архитектуре оно легко комбинируется с другими системами, а модульная архитектура обеспечивает широту применения: в Кейптауне, в частности, на Asterisk базируется система управления экстренными вызовами, в г. Пфорцхейме продукт используется для организации службы технической поддержки по вопросам обработки данных, а компания D-Link применяет Asterisk в качестве основы для своей IP-АТС Horstbox. Довольно часто Asterisk служит для дополнения телекоммуникационных систем недорогими функциями голосовой почты.

Версии решения разработаны практически для всех операционных систем. На рынке предлагаются дистрибутивы GNU/Linux, к примеру SuSE Linux от Novell, Debian, Ubuntu, Fedora или Red Hat Enterprise Linux, включая его свободную производную Centos, а также Free BSD, Net BSD и Open BSD. Доступны варианты для Windows и MacOS X, а также для маршрутизаторов DSL с некоторыми разновидностями встроенного программного обеспечения с открытыми кодами на базе Linux: Openwrt (http://www.openwrt.org) и DD-Wrt (http://www.dd-wrt.de).

Несмотря на это разнообразие ключевой платформой, на которой применяется Asterisk, являются дистрибутивы GNU/Linux. Для Linux необходимо сначала загрузить последнюю версию Asterisk, (на данный момент 1.2.9.1) в виде исходного кода по адресу: http://www.asterisk.org, где обеспечивается широчайшая поддержка коммуникационного оборудования. Кроме того, большинство дистрибутивов Linux предлагают провести базовую инсталляцию Asterisk непосредственно из менеджера управления пакетами — даже если она не соответствует последней версии.

Центральный информационный ресурc об Asterisk (http://www.voip-info.org/wiki/view/Asterisk) поможет советами, почерпнутыми из актуальных источников и соответствующих документов. Всем интересующимся мы рекомендуем книгу «Asterisk: The Future of Telephony», она доступна в виде издания O'Reilly или файла PDF, который можно загрузить по адресу: http://www.asteriscdocs.org.

ПРОГРАММНЫЙ КОММУТАТОР ДЛЯ ГОЛОСОВЫХ КАНАЛОВ

Что же предлагает базовая инсталляция Asterisk? Как и в случае любой телекоммуникационной системы, главная задача этого продукта заключается в коммутации голосовых каналов. Прежде всего, без какого-либо дополнительного аппаратного обеспечения можно пользоваться каналами передачи голоса по IP. В стандартной конфигурации Asterisk поддерживает следующие протоколы VoIP (см. также Рисунок 1): протокол инициирования сеанса (Session Initiation Protocol, SIP), все реже встречающийся Н.323, облегченный протокол управления клиентом (Skinny Client Control Protocol, SCCP), разработанный компанией Cisco, собственный протокол Inter Asterisk Exchange (IAX2) и протокол управления медиа-шлюзами (Media Gateway Control Protocol, MGCP — Megaco).

Рисунок 1. Обзор основных компонентов Asterisk, а также возможности подключения УАТС извне.

Оконечные устройства, поддерживающие один из названных протоколов, подключаются непосредственно к УАТС Asterisk. В простейшем случае достаточно бесплатного программного телефона — X-Lite (http://www.counterpath.com), Phoner (http://www.phoner.de), Sjphone (http://www.sjlabs.com/sjp.html) или Idefisk (телефон на базе IAX2, http://www.asteriskguru.com/idefisk/free/). Все они выпускаются в версиях для самых распространенных настольных операционных систем Windows, MacOS X и Linux и должны комбинироваться по меньшей мере с одной телефонной гарнитурой. Однако для серьезных приложений рекомендуется телефонный аппарат с поддержкой протокола SIP. Для тестирования мы выбрали Snom 360 (http://www.snom.de).

В принципе, коммуникацию с внешним миром обеспечивают «каналообразующие» протоколы SIP и IAX2. Первый лучше подходит для подключения к провайдерам Internet-телефонии, к примеру Sipgate. Второй, напротив, благодаря своей поддержке брандмауэров (в отличие от SIP/RTP он требует всего лишь открытия порта UDP 4569) и эффективному объединению нескольких голосовых каналов в одном соединении предпочтителен для объединения в сеть нескольких АТС Asterisk. К сожалению, Asterisk до сих пор не поддерживает шифруемых вариантов протоколов SIPS и SRTP (Secure Real-time Transport Protocol), так что для безопасного соединения с филиалами и удаленными рабочими местами в процессе передачи голоса по IP по-прежнему нужна виртуальная частная сеть.

В Германии и многих других европейских государствах популярность VoIP неуклонно растет, но наиболее важную роль все еще играет ISDN. Как и следовало ожидать от решения, разработка которого осуществлялась главным образом по ту сторону Атлантики, Asterisk в стандартной комплектации не поддерживает ISDN. Без дополнительных мер можно подключать лишь съемные аналоговые карты компании Digium. Однако полноценную телекоммуникационную систему на базе Asterisk создать можно, поскольку драйверы каналов ISDN имеются в свободном доступе.

Для подключения ISDN в режиме терминального оборудования (Terminal Equipment, TE — Asterisk при подключении S0) подходят карты с драйвером CAPI для Linux — к примеру, карты от AVM и Eicon в комбинации с драйверами каналов Chan-CAPI (http://www.sourceforge.net/projects/chan-capi), а также карты PCI и адаптеры USB с набором микросхем HFC («кельнский чипсет»). Последние весьма удобны для работы с Asterisk благодаря их конфигурируемости в режимах терминального оборудования и терминирования сети (Network Termination, NT), а также интегрированному подавлению эха. Использование режимов TE и NT по выбору позволяет размещать Asterisk перед или за имеющейся системой ISDN, а значит, ее можно дополнить специфическими функциями Asterisk без необходимости полной замены.

Драйвер для недорогих карт HFC с одним портом (он имеется, к примеру, на сайте http://www.conrad.de) предлагает и Клаус-Петер Юнгханнс в своем продукте Bristuff (http://www.junghanns.net/de/download.html). Для профессионального использования компании Junghanns-Net и Sirrix (http://www.sirrix.de) поставляют различные многопортовые карты ISDN с опциональной подачей питания для оконечных устройств ISDN и выборочным подключением систем и нескольких устройств. В лаборатории LANline продукт Quadbri от Junghanns-Net был интегрирован в тестовую установку Asterisk без каких бы то ни было проблем.

Те, кто опасается проводить инсталляцию драйверов ISDN под Linux или не обладает достаточным количеством слотов PCI, может перенести базовое или первичное мультиплексное подключение ISDN на внешние медиа-шлюзы, взаимодействие которых к Asterisk осуществляется по протоколу SIP. Попытка подключения беспроводного маршрутизатора Lancom 1821 с поддержкой передачи голоса по IP, а также Lancom 1722 VoIP в той же конфигурации оказалась успешной.

Для подключения аналоговых оконечных устройств, к примеру телефонов DECT, лучше всего подходят адаптеры VoIP (АТА) наподобие Linksys SPA 2002 (аналоговый). В лаборатории LANline мы смогли использовать не по назначению даже популярный Fritz-Box 7050 WLAN от AVM (аналоговый/ISDN).

ПЛАТФОРМА ДЛЯ ТЕЛЕФОННЫХ ПРИЛОЖЕНИЙ

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

Функция Meetme реализует открытые и закрытые — «защищенные паролем» — телефонные конференции, доступ к которым обеспечивается по всем имеющимся телекоммуникационным каналам. Для сценариев применения, ориентированных на центры обработки вызовов в области поддержки или сбыта, предлагается интегрированное приложение обработки очередей, с помощью которого поступивший вызов направляется свободному оператору. Кроме того, Asterisk готова решать и более простые задачи: осуществлять опциональную запись разговора в формате .wav, воспроизводить музыку в формате MP3 при ожидании ответа и предлагать меню выбора в тоновом режиме («Нажмите, пожалуйста, «1», чтобы...»).

Когда базовая инсталляция продукта уже проведена — к примеру, из менеджера пакетов дистрибутива Linux путем ввода нескольких команд, и подключены все необходимые драйверы ISDN (что более трудоемко), тогда-то и начинается настоящая работа: при помощи конфигурационных файлов требуется настроить оконечные устройства SIP, соединительные линии SIP и ISDN, а также централизованный номерной план в соответствии с собственными потребностями. Особенное внимание приходится уделять программированию логики номерного плана: она не просто управляет тем, какие устройства скрываются за конкретными номерами, но и определяет, когда переводить вызовы на голосовую почту и как именно будут вести себя прочие телефонные приложения. Таким образом, гибкий номерной план может стать довольно обширным, и его реализация едва ли по силам дилетанту.

Рисунок 2. FreePBX превращает Asterisk в удобную УАТС.

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

Чтобы сделать из Asterisk современную АТС, для программирования и обслуживания которой не требуется профессиональной подготовки, необходимо, чтобы функции телекоммуникационной системы предоставлялись в дружественном интерфейсе управления. Наряду с многочисленными коммерческими продуктами, к примеру PBX Manager (http://www.pbx-manager.de), особого внимания заслуживает решение с открытыми исходными кодами FreePBX (http://www.freepbx.org). На его базе возник портал управления Asterisk (Asterisk Management Portal, AMP), где неприглядное ядро Asterisk упаковано в дружественный, основанный на Web интерфейс управления, облегчающий работу не только новичку (см. Рисунок 2 и 3).

Модули для администрирования достаточно наглядны, они отвечают за настройку голосовой почты для филиалов, переадресацию вызова с учетом временного фактора и функцию поиска абонента (перевод вызова на несколько внутренних/внешних номеров), а также поддержку голосовых меню и конференций, причем параметры конфигурации сохраняются в базе данных MySQL. По щелчку мыши FreePBX генерирует базовую логику управления списком номеров Asterisk в соответствии с произведенными настройками. На случай, когда модули не поддерживают требуемых функций, FreePBX предлагает достаточные возможности программирования для расширения функциональности номерного плана без необходимости отказа от удобства управления стандартными функциями на базе браузера.

Хотя FreePBX делает работу с установленной системой Asterisk более удобной, успех процесса инсталляции зависит от выбранного дистрибутива Linux и может быть довольно сложным, поэтому его едва ли можно порекомендовать администраторам, привыкшим работать с Windows и не обладающим специальными знаниями о Linux. Устранить этот недостаток призван продукт Trixbox (http://www.trixbox.org), который своими корнями уходит в проект с открытыми исходными кодами Asterisk@Home.

Рисунок 3. При помощи интерфейса записи Asterisk (составная часть FreePBX) голосовыми сообщениями можно управлять и через браузер.

Trixbox устанавливает с загрузочного диска полную АТС Asterisk с дистрибутивом Linux Centos (последний совместим с Red Hat Enterprise Linux) на специально предназначенный для этой цели персональный компьютер (содержимое жесткого диска при этом стирается!). Решение включает в себя FreePBX, генератор речи на английском языке Festival Speech English, Hudlite (пакет удобных функций рабочего места для Windows), Samba для доступа к файловой системе через компьютер под управлением Windows и прочие модули. Кроме того, после инсталляции Sugarcrm (http://www.Sugarforge.org) пользователь получает полную систему CRM с открытыми исходными кодами. Это означает, что телефонные соединения можно инициировать из приложений на основе браузера одним щелчком мыши. За все время установки — с момента запуска компакт-диска до того, как пользователь может приступить к первой конфигурации FreePBX — необходимо указать три параметра: раскладку клавиатуры, временную зону и пароль для доступа к корню системы Linux.

К сожалению, Trixbox версии 1.0 несмотря на многообещающие перспективы еще требует основательного улучшения, особенно в области локализации, поскольку объявления на родном языке приходится инсталлировать вручную, хотя интерфейс Web уже предлагается на нескольких языках. Кроме того, не хватает сценария для дополнительной инсталляции карт ISDN с набором микросхем HFC. Впрочем, при сегодняшнем стремительном развитии приложений с открытыми исходными кодами в области Asterisk устранение этих недостатков — вопрос ближайшего будущего.

Петер Мойзер — независимый консультант по вопросам информационных технологий и сотрудник лаборатории LANline. С ним можно связаться по адресу: pmeuser@itlab.de.


? AWi Verlag