Джим Меггелен - Asterisk™: будущее телефонии Второе издание
По мере изменения стандартов и ухода от традиционного телефона в направлении к культуре мультимедийной связи грань между программными и физическими телефонами будет стираться. Например, в качестве телефона можно будет приобрести терминал связи, а для получения необходимой функциональности установить на него приложение программного телефона.
Теперь, после того как мы все так запутали, лучшее, что можно сделать, - это дать определение тому, что подразумевается под термином «программный телефон» в данной книге, понимая при этом, что он может существенно измениться в ближайшие несколько лет. Для наших целей мы определяем программный телефон как любое устройство, выполняемое на персональном компьютере, имеющее вид и создающее впечатление телефона и обеспечивающее его основную функцию - возможность устанавливать одновременную двустороннюю аудиосвязь (что ранее называлось «телефонными звонками»)[42] через адресацию E.164[43].
Телефонные адаптеры
Телефонный адаптер (обычно называемый ATA, или аналоговым терминальным адаптером) можно описать как устройство для конечного потребителя, которое обеспечивает объединение линий связи, использующих разные протоколы. Чаще всего эти устройства используются для преобразования цифрового сигнала (IP или специализированного) в аналоговый, с которым могут работать стандартные телефоны или факсы.
Такие адаптеры можно было бы называть шлюзами, потому что это - их функция. Однако популярный термин «телефонный шлюз», вероятно, лучше всего описал бы многопортовый телефонный адаптер, как правило, выполняющий более сложные функции маршрутизации. Телефонные адаптеры будут употребляться до тех пор, пока существует необходимость соединять несовместимые стандарты и старые устройства с новыми сетями. Со временем необходимость в этих устройствах отпадет, как это случилось с модемами, которые постепенно исчезают ввиду ненужности.
Терминалы связи
«Терминал связи» - это старый термин, исчезнувший на пару десятков лет и воспроизведенный здесь, пожалуй, лишь по той причине, что его надо обсудить, прежде чем он в конечном счете исчезнет вновь или станет повсеместно распространенным.
Сначала немного истории. Когда были выпущены первые цифровые системы офисных АТС, производители этих машин поняли, что не могут называть их конечные точки телефонами - специализированная природа обусловливала невозможность их соединения с PSTN. Поэтому их назвали терминалами или станциями. Конечно, пользователи этого не приняли. Эти системы выглядели как телефон и работали как телефон, то есть были телефонами. По-прежнему изредка можно встретить термин «терминал» в применении к аппаратам офисной АТС, но преимущественно их называют телефонами.
Обновленный термин «терминал связи» не имеет ничего общего с чем- либо специализированным, скорее всего, наоборот. Придумывая все новые и новые пути общения, мы получаем доступ ко множеству различных устройств, которые обеспечат нам возможность связи. Рассмотрим следующие сценарии:
• Если я использую персональный цифровой секретарь для соединения с голосовой почтой и получения голосовых сообщений (преобразованных в текст), становится ли он телефоном?
• Если я подключаю видеокамеру к ПК, соединяюсь с веб-сайтом компании и посылаю запрос на начало чата с сотрудником службы работы с клиентами, мой ПК стал телефоном?
• Если я используют IP-телефон на кухне для поиска рецептов в Интернете, это можно считать телефонным звонком?
Идея проста: мы, наверное, никогда не перестанем «звонить» друг другу, но всегда ли мы будем использовать «телефоны» для этого?
Некоторые вопросы Linux
Спросите кого угодно из Free Software Foundation - и он скажет следующее: то, что мы знаем как Linux, на самом деле - GNU/Linux. Если отбросить все этимологические аргументы, в этом есть доля истины. Тогда как ядро операционной системы действительно называется Linux, подавляющее большинство утилит, установленных и регулярно используемых в системе Linux, на самом деле являются утилитами GNU. Linux, наверное, всего на 5% Linux и на 75% - GNU, а на оставшиеся 20% - пожалуй, все остальное.
Почему это важно? Гибкость Linux - одновременно и благословение, и проклятие. Благословение - потому, что с Linux можно действительно создать абсолютно индивидуальную операционную систему с нуля. Но очень немногим удалось осуществить это, поэтому в значительной степени Linux - проклятие из-за ответственности, которая ложится на наши плечи при определении, какую из утилит GNU установить и как конфигурировать систему.
Если это кажется вам неосуществимым, не пугайтесь. В следующей главе обсуждается выбор, установка и конфигурация программной среды для системы Asterisk.
Заключение
В данной главе были рассмотрены все проблемы, которые могут повлиять на стабильность и качество установки Asterisk. Прежде чем вы совсем испугаетесь, хочется отметить, что многие люди установили Asterisk поверх рабочей станции Linux с графической оболочкой - являющейся веб-сервером, базой данных или чем-нибудь еще - вообще без всяких проблем[44]. То, сколько времени и сил придется потратить на освоение лучших практик и подсказок по проектированию, представленных в данной главе, зависит исключительно от того, насколько активно предполагается загружать сервер Asterisk и какие качество и надежность должна обеспечивать система. Если вы всего лишь экспериментируете с Asterisk, не надо волноваться слишком сильно; просто знайте, что любые возникающие проблемы, возможно, не являются недостатком системы Asterisk.
В данной главе мы попытались продемонстрировать лучшие практики, которые помогут обеспечить системе Asterisk надежную, стабильную платформу. Asterisk готова работать в намного более неблагоприятных условиях, но стабильность офисной АТС напрямую зависит от количества усилий и внимания, которые были потрачены на решение рассмотренных здесь вопросов при ее проектировании. Решение должно приниматься исходя из того, насколько ответственной будет создаваемая система Asterisk.
Глава 3. Установка Asterisk
Я жажду решать большие и выдающиеся задачи, но представлять скромные задачи так, как будто они большие и выдающиеся, является обязанностью моего шефа. Мир продвигается вперед не только мощными рывками его героев, но и скромными усилиями всех честных тружеников.
- Хелен КеллерВ предыдущей главе мы обсудили подготовку системы к установке Asterisk. Пора браться за дело!
Asterisk можно устанавливать на многих дистрибутивах Linux[45] и различных архитектурах ПК, но в данной книге было решено сосредоточиться на одном продукте, чтобы избежать путаницы и неясностей. Мы сделали рекомендации максимально универсальными, но все равно можно заметить тяготение к структуре папок и системе утилит CentOS. CentOS (вероятно, самый популярный дистрибутив, используемый с Asterisk) был выбран потому, что его набор команд, структура папок и пр. хорошо знакомы большему числу читателей (мы обнаружили, что многие администраторы Linux знают CentOS, даже если предпочитают другой дистрибутив). Это не означает, что CentOS является единственным или даже лучшим выбором. В рассылках часто задают вопрос: «Какой дистрибутив Linux лучше всего использовать с Asterisk?» Все многообразие ответов обычно сводится к следующему: «Тот, который вам больше нравится»[46].
Какие нужны пакеты
Большинство конфигураций Asterisk включают три основных пакета: основная программа Asterisk (asterisk), драйверы телефонии (zaptel) и PRI-библиотеки (libpri). Если планируется исключительно VoIP-сеть, единственным обязательным пакетом является asterisk, но мы рекомендуем устанавливать все три пакета; какие модули активировать - можно выбрать позже. Драйверы zaptel необходимы, если используется аналоговое или цифровое оборудование или если источником временных интервалов служит драйвер ztdummy (обсуждается в данной главе позже). Библиотека libpri обязательна, только если используются PRI- интерфейсы ISDN. Можно не загружать эту библиотеку в оперативную память и сохранить небольшой объем свободного места, но мы рекомендуем установить ее вместе с пакетом zaptel для полноты. В первом издании данной книги рекомендовалось устанавливать дополнительный пакет asterisk-sounds. Это был отдельный архив, который надо было скачать, извлечь из архива и затем установить. Теперь для Asterisk версии 1.4.0 существует два набора пакетов звуковых файлов: Core Sound и Extra Sound. Поскольку Asterisk поддерживает несколько разных аудиоформатов, эти пакеты доступны в различных звуковых форматах, таких как G.729 и GSM. Основанием для существования такого разнообразия форматов является обеспечение Asterisk возможности использовать тот звуковой формат, для которого требуется меньшее количество преобразований в ЦП. Например, если имеется большое количество соединений, поступающих по каналам VoIP, которые используют GSM, выгоднее иметь звуковые файлы в формате GSM. В окне выбора компонентов сборки (обсуждается в данной главе позже) можно выбрать один или более из предлагаемых типов звуковых файлов. Рекомендуем установить по крайней мере по одному типу из каждого пакета (Core Sound и Extra Sound). Поскольку в данной книге могут упоминаться некоторые файлы Extra Sound, предполагается, что установлен хотя бы один из этих форматов.