Asterisk™: будущее телефонии Второе издание - Меггелен Джим Ван
Сложность
Открытые системы требуют новых подходов к проектированию решения. Дешевизна оборудования и ПО еще не означает, что таким же дешевым будет и решение. Asterisk не является стандартным ПО, готовым к использованию; его надо спроектировать и собрать, а затем и обслуживать. Поскольку базовое ПО бесплатно и цены на оборудование будут формироваться на основании конъюнктуры рынка, справедливости ради следует отметить, что для высокоспециализированной системы стоимость настройки будет составлять значительную часть цены решения. Во многих случаях из-за высокой сложности и гибкости конфигурации эта составляющая больше, чем она была бы для традиционной офисной АТС.
Обычно основное правило такое: если это может быть сделано в диал- плане, проектирование системы займет примерно столько же времени, как и проектирование любой традиционной офисной АТС с аналогичными функциями. Для всего, что сверх этого, оценить время, необходимое для построения системы, можно только исходя из опыта. Здесь еще многому надо учиться.
Возможности
Телефония с открытым исходным кодом создает неограниченные возможности. Вот некоторые из наиболее привлекательных.
Частные телекоммуникационные сети, выполненные на заказ
Кто-то скажет, что главное - цена, но мы верим, что реальное основание для будущего успеха Asterisk в том, что она позволяет создавать систему телефонной связи так же, как мы создавали бы веб-сайт: с возможностью полной настройки каждого аспекта системы. Пользователи мечтали об этом годами. Только Asterisk может обеспечить это.
Доступность
Каждый может сделать свой вклад в будущее связи. Теперь любой владелец старенького ПК стоимостью 200 долларов в состоянии создать систему связи с настолько развитой логикой, что она может конкурировать с самыми дорогими узкоспециализированными системами. Даже если оборудование не готово к производственной эксплуатации, нет такой причины, по которой ПО не было бы таковым. Это одна из причин, по которой закрытые системы ожидают трудные времена конкуренции. То огромное число людей, которые имеют доступ к необходимому оборудованию, не идет ни в какое сравнение с количеством членов закрытого клуба.
Решения, размещаемые на ресурсах поставщиков услуг, сложность которых сравнима со сложностью корпоративных веб-сайтов
Проектирование офисной АТС всегда было некоторой формой искусства, но до Asterisk искусство состояло в поиске путей обойти ограничения технологии. При наличии технологии с неограниченными возможностями те же творческие подходы теперь помогут полностью реализовать все нужды клиентов. Системы телефонной связи с открытым исходным кодом, такие как Asterisk, сделают это возможным. Разработчики телефонных систем будут плясать от радости, потому что теперь их огромный творческий потенциал реально послужит клиентам, а не будет растрачиваться на обход дефектов.
Реальная интеграция технологий связи
В конечном счете все надежды на технологии с открытым исходным кодом пойдут прахом, если они не смогут удовлетворить потребность людей в решении проблем. Закрытые отрасли забыли о клиенте и пытаются приспособить пользователя к продукту.
Телефония с открытым исходным кодом ставит телефонную связь в один ряд с другими информационными технологиями. Наконец можно приступить к собственно реализации задачи по интеграции электронной почты, голоса, видео и всего, что только можно представить, по гибким транспортным сетям (как проводным, так и беспроводным) в ответ на нужды пользователя, а не по прихоти монополий. Добро пожаловать в будущее телекоммуникаций!
A
Каналы VoIP
Каналы VoIP в Asterisk представляют средство соединения с протоколами, которые они поддерживают. Для использования протокола необходим конфигурационный файл, где содержатся общие параметры, описывающие, как система обрабатывает протокол, а также специальные параметры для каждого канала (или устройства), которые будут упоминаться в диалплане. В данном приложении подробно рассматриваются конфигурационные файлы протоколов IAX и SIP.
IAX
Конфигурационный файл IAX (iax.conf) содержит всю конфигурационную информацию, необходимую Asterisk для создания и управления каналами, работающими по протоколу IAX. Разделы файла отделены заголовками, сформированными словом, заключенным в квадратные скобки ([]). Имя в скобках будет именем канала за одним исключением: раздел [general] не является каналом, это область, где определяются глобальные параметры протокола.
В данном разделе рассматриваются различные общие и специальные настройки канала, определяемые в файле iax.conf. Мы опишем каждый параметр, а затем приведем пример его использования. Некоторые опции могут иметь несколько действительных аргументов. Список этих аргументов, разделенных символом вертикальной черты (|), приводится рядом с опцией. Например, запись bandwidth=low|medium|high означает, что параметр bandwidth принимает в качестве аргумента одно из значений: low, medium или high.
Комментарии можно вставлять в любом месте файла iax.conf. Текст комментария начинается с точки с запятой (;). Все, что располагается справа от точки с запятой, будет проигнорировано обработчиком Asterisk. Комментарии могут использоваться достаточно активно.
Общие настройки IAX
Первой незакомментированной строкой в файле iax.conf должен быть заголовок [general]. Параметры в этом разделе будут применяться ко всем соединениям, использующим данный протокол, если не определено другое в описании конкретного канала. Поскольку некоторые из этих настроек могут определяться для канала индивидуально, меткой (глобальный) мы обозначили настройки, которые всегда глобальны, а меткой (канал) - те, которые могут задаваться для каждого канала в отдельности. Если параметр задается в разделе [general], его не надо определять для каждого канала; его значение становится значением по умолчанию. Помните, что определение параметра в разделе [general] не запрещает задавать ему другое значение для конкретного канала; это просто делает данное значение значением по умолчанию. Также нельзя забывать, что отсутствие задания этих параметров может в некоторых случаях приводить к использованию системных значений по умолчанию.
Вот параметры, которые могут быть сконфигурированы: accountcode (канал)
Код учетной записи может определяться для каждого пользователя. Если задан, этот код учетной записи будет присваиваться записи вызова, если не задан код учетной записи конкретного пользователя. Заданное имя accountcode будет использоваться как имя файла в формате CSV в папке /var/log/asterisk/cdr-csv/, где хранятся записи параметров вызовов (Call Detail Records, CDRs) для соединений типа user/peer/friend:
accountcode=iax-имяпользователя adsi (канал)
Поддержка ADSI (Analog Display Services Interface - интерфейс сервисов для аналогового дисплея) может быть активирована только при наличии совместимого с ADSI телекоммуникационного оборудования на стороне клиента (CPE-оборудования): adsi=yes|no allow и disallow (канал)
Могут быть разрешены или запрещены определенные кодеки, что позволяет разработчику системы задавать перечень используемых кодеков. allow и disallow также могут быть определены для канала отдельно. Помните, что выражения allow в разделе [general] будут распространяться на все каналы, для которых не переопределено disallow=all. Согласование кодеков ведется в порядке их задания.
Лучшей практикой считается определять disallow=all, а затем в выражениях allow явно задавать каждый кодек, который вы желаете использовать. Если ничего не задано, предполагается allow=all:
disallow=all allow=ulaw allow=gsm allow=ilbc
amaflags (канал)
Система автоматической регистрации сообщений (Automatic Message Accounting, AMA) описана в наборе документов компании Telcordia, зарегистрированных как FR-AMA-1. Эти документы определяют стандартные механизмы формирования и передачи CDR. Можно задать один из четырех флагов AMA, который будет применяться ко всем IAX-соединениям: