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

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

Мадсен Лейф

Смит Джаред

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

 

 

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

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

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

Таблица 2.1. Рекомендации по выбору технических характеристик системы

Назначение Количество каналов Рекомендуемые минимальные параметры
Любительская система Не более 5 400 МГц х86, 256 M6 оперативной памяти
SOHO-система (малый офис и дом - менее трех линий и пяти телефонных аппаратов) От 5 до 10 1 ГГц х86, 512 M6 оперативной памяти
Малая бизнес-система До 25 3 ГГц х86, 1 Гб оперативной памяти
Средняя или большая система Более 25 Два ЦП, возможно также несколько серверов в распределенной архитектуре

 

 

Результаты нагрузочного тестирования

Джошуа Колп (Joshua Colp) смог получить результаты, приведенные в табл. 2.2, используя процессор AMD Athlon64 X2 4200+ с 1 Гб оперативной памяти и жестким диском SATA емкостью 80 Гб и проводя тестирования по стандартному сценарию в приложении SIPp: простое установление соединения, воспроизведение аудиофайла (приложение Playback()) и некоторый небольшой период ожидания (Wait()). Обратите внимание на существенное снижение использования ресурсов ЦП при чтении данных из оперативной памяти по сравнению с чтением с жесткого диска. Это можно истолковать так, что ЦП ожидает данные, подлежащие обработке, перед передачей их в запрашивающий канал. Однако это всего лишь простой тест, и он никоим образом не отражает, какое количество вызовов сможет обрабатывать ваша система. Определить количество одновременных вызовов, которое может быть обработано при использовании конкретного диалплана и сочетания приложений, можно, только проведя нагрузочное тестирование системы.

Таблица 2.2. Пример результатов тестирования для стандартного сценария SIPp, использующего простые приложения Wait() и Playback(); SIPp отражает обратный медиа-поток Asterisk

Количество 330 330 550
одновременных
вызовов
Использование 149 14,8 57,6
ЦП, %
Средняя нагрузка 49 25 60
Запоминающее Жесткий диск ОЗУ ОЗУ
устройство

Для больших установок Asterisk функциональность обычно распределяют между несколькими серверами. Один или более центральных модулей будут заниматься обработкой вызовов; их дополнят один или более вспомогательных серверов, обслуживающих периферийные устройства (такие, как система баз данных, система голосовой почты, система конференц-связи, система управления, веб-интерфейс, межсетевой экран и т. д.). Asterisk, как и многие Linux-системы, может расширяться с ростом требований к ней: малая система, которая прекрасно справлялась со всеми задачами по обработке вызовов и обслуживанию периферийных устройств, может быть распределена между несколькими серверами, когда требования возрастут и превысят ее текущие возможности. Гибкость - основная причина, по которой Asterisk исключительно рентабельна для быстро растущего бизнеса; для нее не существует эффективного максимального или минимального размера, который следует учитывать при составлении сметы на покупку. Хотя масштабируемость свойственна большинству телефонных систем, до сих пор нам не приходилось слышать о системе, которая была бы настолько же гибкой, как Asterisk. Однако стоит отметить, что задача по проектированию распределенных систем Asterisk не по зубам новичку в Asterisk.

Тем, кто намерен настраивать распределенную систему Asterisk, рекомендуется изучить протокол DUNDi, архитектуру реального времени Asterisk (Asterisk Realtime Architecture, ARA), func_odbc и другие имеющиеся в распоряжении инструменты для работы с базами данных. Это поможет научиться извлекать из логики диалплана необходимые вашей системе данные, которые будут использоваться системой Asterisk. Это делает возможным существование универсального множества логик диалплана, которое может использоваться во множестве блоков. Тогда для масштабирования системы необходимо просто ввести в нее дополнительные блоки. Однако вопросы масштабирования выходят далеко за рамки данной книги, оставим это как упражнение для читателя. Некоторые инструменты, которые могут использоваться для масштабирования, рассмотрены в главе 12.

 

Выбор серверного оборудования

 

Задача по выбору сервера проста и сложна одновременно. Проста потому, что на самом деле подойдет любая платформа на базе х86, а сложна потому, что гарантированное обеспечение необходимой производительности системы будет зависеть от того, насколько тщательно спроектирована платформа. При выборе оборудования следует внимательно рассмотреть конструкцию системы в целом и то, какие функциональные возможности требуется поддерживать. Это поможет определить требования к ЦП, системной плате и блоку питания. Те, кто просто настраивает свою первую систему Asterisk с целью научиться это делать, могут спокойно проигнорировать информацию, приведенную в данном разделе. Однако при построении полноценной системы, пригодной к практическому применению, рассматриваемые здесь вопросы требуют проработки.

 

Вопросы производительности

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

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

Максимальное число одновременных соединений, которое система должна будет поддерживать

Каждое соединение будет увеличивать нагрузку на систему. Доля трафика в процентном выражении, который потребует интенсивной работы процессора для ЦОС кодеками, использующими алгоритмы сжатия (такими, как G.729 и GSM)

Работа по цифровой обработке сигнала (Digital Signal Processing, DSP), которую Asterisk осуществляет на программном уровне, может иметь огромное влияние на то, какое количество одновременных вызовов она будет поддерживать. Система, которая успешно обрабатывает 50 одновременных вызовов G.711, может потерпеть фиаско при запросе на одновременную обработку 10 каналов со сжатием, кодированных G.729. Мы подробнее поговорим о G.729, GSM, G.711 и многих других кодеках в главе 8. Будет ли обеспечиваться конференц-связь и какая интенсивность общения предполагается

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

 

Эхоподавление

Эхоподавление может потребоваться при любом вызове, в котором задействован интерфейс коммутируемой телефонной сети общего пользования (Public Switched Telephone Network, PSTN). Поскольку эхоподавление является математической функцией, чем больше системе приходится его выполнять, тем выше будет нагрузка на ЦП. Не пугайтесь. Эхоподавление - это еще одна тема для главы 8. Логика разработки сценариев диалплана

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

Как именно эти факторы влияют на производительность, сказать наверняка сложно. Эффект от каждого из них описан в общем, но точного количественного выражения еще нет. Отчасти это объясняется тем, что воздействие каждого компонента системы зависит от множества величин, таких как тактовая частота ЦП, набор микросхем системной платы и общее качество, общий информационный трафик системы, оптимизации ядра Linux, сетевой трафик, количество и тип интерфейсов PSTN и трафик PSTN, не говоря уже о сервисах, не относящихся к Asterisk, которые выполняются системой параллельно. Рассмотрим влияние некоторых ключевых факторов: Кодеки и перекодировка

Попросту говоря, кодек (сокращение от кодер/декодер, или алгоритм уплотнения/разуплотнения данных) - это набор математических правил, который определяет, как будет выполняться оцифровка аналогового сигнала. Кодеки различаются, главным образом, предлагаемыми ими уровнями сжатия и качеством воспроизведения звука. Вообще говоря, чем большая степень сжатия требуется, тем больше ЦОС должно быть выполнено при кодировании или декодировании сигнала. Следовательно, кодеки без сжатия являются менее тяжелыми для ЦП (но требуют более широкой полосы пропускания сети). Выбор кодека должен быть компромиссом между пропускной способностью и загруженностью процессора. Центральный процессор (и модуль обработки операций с плавающей точкой)

ЦП состоит из нескольких компонентов, один из них - модуль обработки операций с плавающей точкой (Floating Point Unit, FPU). От производительности ЦП в сочетании с эффективностью блока FPU во многом зависит, какое количество одновременных соединений сможет эффективно поддерживать система. В следующем разделе («Выбор процессора») даются некоторые общие рекомендации по выбору ЦП соответственно нуждам конкретной системы. Другие процессы, параллельно выполняющиеся в системе

Linux подобна операционной системе UNIX, то есть является многозадачной системой, которая может выполнять несколько разных процессов одновременно. Проблема возникает, когда один из этих процессов (такой, как Asterisk) требует от системы очень высокой быстроты реагирования. По умолчанию Linux распределяет все ресурсы между приложениями, запрашивающими их, поровну. Если установлена система, включающая множество разных серверных приложений, каждое из них получит свою равную долю времени ЦП. Поскольку системе Asterisk необходим частый высокоприоритетный доступ к ЦП, для обеспечения ее сосуществования с другими приложениями система требует специальной оптимизации. Главным образом, подразумевается назначение приоритетов различным приложениям в системе и внимательное отношение к тому, какие сервисы устанавливаются.

Оптимизации ядра

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

Время ожидания запроса на прерывание

Время ожидания запроса на прерывание (Interrupt request, IRQ) - это, по сути, задержка между моментом, когда периферийная плата (такая, как интерфейсная плата для телефонии) запрашивает ЦП остановить выполняемый процесс, и моментом, когда ЦП фактически отреагирует и будет готов обрабатывать задачу. Периферийные устройства Asterisk (особенно платы Zaptel) чрезвычайно требовательны ко времени ожидания IRQ. Причиной этому является не столько несовершенство плат, сколько принцип работы программного механизма временного уплотнения (TDM). Если мы буферизируем данные мультиплексора с временным уплотнением (TDM) и посылаем их на шину большим пакетом, это может быть более эффективным для системы, но обусловит задержку между моментом поступления аудиоданных на плату и доставкой их в ЦП. Это делает обработку данных TDM в масштабе реального времени практически невозможной. При проектировании Zaptel было принято, что отправка данных каждую 1 мс будет наилучшим компромиссным решением. Но в результате этого возникает побочный эффект - любая плата в системе, использующая интерфейс Zaptel, будет посылать в систему запрос на обработку прерывания каждую миллисекунду. Это было характерно для старых системных плат, но на данный момент уже почти перестало быть причиной для беспокойства.

В Linux всегда существовала проблема недостаточно быстрого обслуживания IRQ; это доставляло немало неприятностей разработчикам приложений для работы с аудиоданными, поэтому было создано несколько патчей для устранения этого недостатка. До сих пор нет единого мнения по поводу того, как включать эти патчи в ядро Linux.

Версия ядра

Asterisk официально поддерживается Linux версии 2.6.

Дистрибутив Linux

Дистрибутивов Linux много, и они разнообразны. В следующей главе мы обсудим проблему выбора дистрибутива Linux и то, как получить и установить и Linux, и Asterisk.

 

Выбор процессора

Поскольку требования, предъявляемые Asterisk к производительности, главным образом, обусловлены большим объемом производимых математических вычислений, естественным будет выбор процессора с мощным FPU. Для осуществляемой Asterisk обработки сигналов от ЦП может потребоваться проведение громадного числа сложных математических вычислений. Эффективность, с которой выполняются эти задачи, будет определяться мощностью FPU процессора. Назвать лучший процессор для Asterisk в этой книге означало бы бросить вызов закону Мура. Даже за то время, которое пройдет между написанием и публикацией книги, скорости процессоров существенно возрастут, так же как и поддержка Asterisk для различных архитектур. Несомненно, это хорошо, но по этой причине советы по данной теме являются абсолютно неблагодарным занятием. Естественно, чем мощнее FPU, тем больше одновременных задач по ЦОС сможет выполнять Asterisk. Это основной принцип. При выборе процессора исходная тактовая частота - только часть уравнения. То, насколько хорошо он справляется с операциями с плавающей точкой, будет основным определяющим фактором, поскольку операции по ЦОС в Asterisk будут предъявлять высокие требования именно к этому процессу.

ЦП производства компаний Intel и AMD имеют мощные FPU. От чипов текущего поколения любого из данных производителей можно ожидать хорошей производительности.

Сам собой напрашивается вывод, что необходимо выбирать самый мощный процессор из тех, которые позволяет ваш бюджет. Однако не торопитесь покупать самый дорогой из доступных процессоров. Помните о требованиях своей системы. В конце концов, болид «Формулы-1» Ferrari совершенно неуместен в мегаполисе с его многокилометровыми пробками в часы пик. Более медленные ЦП часто слабее нагреваются, и, таким образом, используя их, можно построить систему Asterisk для небольшого офиса с меньшим энергопотреблением, без вентиляторов, которая, возможно, смогла бы работать в условиях повышенной запыленности.

Чтобы ввести некий критерий, исходя из которого можно принимать решения о платформе, мы решили определить три типа систем Asterisk: малая, средняя и большая.

 

Малый тип систем

Требования Asterisk к производительности для малых систем (до 10 телефонов) ничем не отличаются от всех остальных, но, как правило, возможности современных процессоров позволяют справиться с нагрузкой, типичной для таких систем.

Если малая система создается на базе случайно подвернувшихся под руку старых компонентов, следует ожидать, что уровень производительности будет ниже, чем у более мощных машин, и что для нее снижение рабочих характеристик будет наблюдаться при значительно меньших нагрузках. Любительские системы могут прекрасно работать на маломощном оборудовании, но добиться этого сможет только эксперт в вопросах настройки производительности Linux. Если система Asterisk настраивается в целях обучения, построить полнофункциональную платформу можно, используя относительно маломощный процессор. Авторы данной книги выполняли настройку нескольких лабораторных систем Asterisk с использованием процессоров Celeron с частотами от 433 до 700 МГц, но рабочая нагрузка таких систем минимальна (не более двух одновременных вызовов).

 

AstLinux и Asterisk на OpenWRT

Те, кто действительно прекрасно себя чувствует, работая с Linux на встроенных платформах, несомненно, захотят присоединиться к рассылке AstLinux и опробовать творение Кристиана Кайл- хофнера (Kristian Kielhofner) AstLinux, или приобрести Linksys WRT54GL и установить версию Asterisk, созданную для этой платформы Брайаном Капучем (Brian Capouch). В этих проектах Asterisk представлен в базовой форме, что позволяет развертывать невероятно мощные приложения офисных АТС на очень недорогом оборудовании.

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

 

Средний тип систем

Сложнее всего решать вопросы производительности именно в системах среднего типа (от 10 до 50 телефонов). Как правило, такие системы развертываются только на одном или двух серверах и, таким образом, каждая машина должна будет обрабатывать по несколько специальных задач. По мере роста нагрузки платформа все больше приближается к своим предельным значениям технических характеристик. Пользователи могут начать испытывать проблемы с качеством связи, не понимая, что это происходит не потому, что система неисправна, а просто из-за того, что достигнуты пределы ее возможностей. По мере роста нагрузки на систему проблемы будут увеличиваться, а удовлетворенность пользователей, соответственно, падать. Исключительно важно, чтобы проблемы с производительностью были выявлены и решены до того, как они будут замечены пользователями. Отслеживание производительности в таких системах и быстрое реагирование на любые возникающие тенденции - основные условия, которые гарантируют, что платформа обеспечит качественную телефонную связь.

 

Большой тип систем

Большие системы (более 120 каналов) обычно развертываются на нескольких системах и сайтах, и, таким образом, вопросы производительности можно решать путем добавления компьютеров. Очень большие системы Asterisk созданы именно так.

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

 

Выбор системной платы

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

Однако мы все-таки дадим некоторое преставление о том, какие системные платы обеспечат хорошую работу Asterisk и платы с какими характеристиками можно считать подходящими. Главное - они должны обеспечивать стабильность и высокую производительность. Вот некоторые рекомендации:

Различные системные шины должны обеспечивать минимально возможную задержку при обработке данных. Если планируется PSTN- соединение с использованием аналогового или PRI-интерфейсов (обсуждаются в этой главе ниже), наличие в системе плат Zaptel обеспечит формирование 1000 запросов на прерывание в секунду. Наличие других устройств на шине, мешающих этому процессу, приведет к снижению качества связи. Наборы микросхем производства Intel (для процессоров Intel) и nVidia nForce (для процессоров AMD) считаются лучшими в этой области. При оценке любой системной платы проверьте ее набор микросхем, чтобы убедиться, что для него не зафиксированы случаи возникновения проблем со временем ожидания запроса на прерывание.

При использовании в системе плат Zaptel необходимо убедиться, что BIOS обеспечивает максимальный контроль над распределением прерываний. Как правило, системные платы высокого класса обеспечивают намного большую гибкость при настройке BIOS; дешевые платы обычно предлагают очень ограниченные возможности управления. Однако это спорный вопрос, поскольку системные платы с включенным встроенным APIC передают управление прерываниями операционной системе.

Серверные системные платы обычно реализуют иной PCI-стандарт, нежели системные платы для рабочих станций. Различий много, но наиболее очевидное и широко известное - то, что эти две версии имеют разные напряжения. Приобретая платы, необходимо знать, какие PCI-разъемы нужны: с напряжением 3,3 или 5 В. На рис. 2.1 наглядно показано, чем отличаются разъемы 3,3 и 5 В. На большинстве серверных системных плат есть оба типа разъемов, но платы для рабочих станций обычно имеют только разъем 5 В.

Есть свидетельство тому, что объединение двух совершенно независимых однопроцессорных систем может обеспечить намного больше преимуществ, чем использование двух процессоров в одном компьютере. В этом случае не только удваивается мощность процессора, но также достигается намного лучший уровень избыточного резервирования по цене, равной стоимости компьютера с одним системным блоком и двумя процессорами. Однако нельзя забывать, что спроектировать решение Asterisk с двумя серверами намного сложнее, чем с одним компьютером.

• Рассмотрите вариант использования нескольких процессоров или процессоров с несколькими ядрами. Это улучшит возможность системы обрабатывать несколько задач, а для Asterisk предоставит особые преимущества при выполнении операций с плавающей точкой.

• Если требуется модем, лучше установить внешнее устройство, подключаемое через последовательный порт. Если должен использоваться внутренний модем, необходимо убедиться, что это не так называемый Win-модем1, это должно быть абсолютно автономное устройство (заметьте, что такое устройство очень сложно или практически невозможно найти).

• Следует учесть, что при использовании встроенных сетевых устройств в случае их выхода из строя придется заменить всю системную плату. С другой стороны, если устанавливается внешняя сетевая интерфейсная плата (Network Interface Card, NIC), вероятность поломки возрастает из-за присутствия большого количества механических соединений. Также может быть целесообразным использование разных сетевых плат для телефонов и пользователей (внутренней сети) и провайдеров VoIP и внешних сайтов (внешней сети). Сетевые адаптеры стоят недорого; рекомендуем всегда иметь под рукой по крайней мере пару.

1 Также такие модемы иногда называют soft-модемами. - Примеч. науч.ред.

Стабильность и качество системы Asterisk будет зависеть от компонентов, выбранных для ее архитектуры. Asterisk - хищник, его надо очень хорошо «кормить». Но, как практически во всем, высокая цена не всегда является синонимом качества. Вы должны будете стать знатоком компьютерных комплектующих.

Рис. 2.1. Внешний вид PCI-разъемов

Обсудив все это, мы должны вернуться к исходной точке: Asterisk может и будет замечательно устанавливаться практически на любую систему, работающую под управлением Linux. Лабораторные системы, использовавшиеся при написании этой книги, например, включали все, от Linksys WRT до «трактора» dual-Xeon1. У нас не возникало никаких проблем с производительностью или стабильностью при установлении до пяти одновременных соединений. В целях обучения Asterisk можно устанавливать на любую имеющуюся в распоряжении систему. Однако, когда вы будете готовы создавать системы для эксплуатации, необходимо понимать последствия принимаемых решений об использовании того или иного оборудования.

 

Требования к блоку питания

Блоку питания (и вопросу электропитания) ПК обычно уделяется недостаточно внимания. Для телекоммуникационных систем эти компоненты могут играть важную роль в формировании хорошего впечатления у пользователя.

 

Блоки питания для компьютеров

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

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

Не пожалейте денег и приобретите высококлассный блок питания (геймеры отличаются особенно трепетным отношением к таким вещам, поэтому их выбор на рынке очень богат).

 

Блоки питания с резервированием

В средах операторского класса или бесперебойной работы принято развертывать серверы, использующие блок питания с резервированием. Фактически это два совершенно независимых блока питания, каждый из которых может полностью обеспечить требования по питанию системы.Опыт показывает, что для правильного резервирования такие блоки питания должны быть подключены к совершенно независимым источникам бесперебойного питания (Uninterruptible Power Supplies, UPSes), которые, в свою очередь, питаются от разных электрических сетей. В ответственных организациях (таких, например, как больницы) резервируются даже основные подводы электропитания зданий и для генерирования электричества во время длительных перебоев с электроэнергией (подобных, например, случившемуся на северо-востоке США 15 августа 2003 года) используются дизельные генераторы.

 

Окружение

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

 

Обеспечение требуемого качества электроэнергии и источники бесперебойного питания

При выборе источников питания для своей системы необходимо учесть не только потребляемую мощность, но также то, как эта энергия будет обеспечиваться.

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

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

Правильно заземленная, отвечающая стандартам электрическая сеть и высококачественный блок питания гарантируют четкий опорный сигнал «логическая земля» (то есть 0 В) для системы и минимальный электрический шум на системной плате. Для данного типа оборудования существуют лучшие практики, принятые как отраслевой стандарт, которыми нельзя пренебрегать. Относительно простой способ обеспечить это - использовать UPS с поддержанием требуемого качества электроэнергии.

 

UPS с поддержанием требуемого качества электроэнергии

UPS широко используются как аккумуляторы для снабжения системы питанием в случае аварии, хотя возможность высококачественных UPS обеспечивать электроэнергию в соответствии с техническими требованиями иногда не принимается во внимание.

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

К сожалению, не все UPS одинаковы; многие более дешевые модели не обеспечивают качественной стабилизации напряжения. Что хуже всего, производители этих устройств часто обещают все виды защиты от скачков, бросков, повышения напряжения и импульсных помех. Хотя такие устройства могут защитить систему от воспламенения во время грозы, они не приведут напряжение в норму на входе в систему и, таким образом, не сделают ничего для обеспечения стабильности. Убедитесь, что у вас UPS с поддержанием требуемого качества электроэнергии. Если это нигде прямо не указано, значит, он таковым не является.

 

Заземление

Напряжение определяется как разность потенциалов между двумя точками. Обычно считается, что напряжение «земли» (а это, по сути, не что иное как токопровод к земле) равно 0 В. Но если не определить эти 0 В относительно чего-то, мы рискуем делать предположения, не соответствующие действительности. Часто между двумя точками заземления существует некоторая разность потенциалов. Этого напряжения может быть достаточно для возникновения логических ошибок или даже повреждения системы, в которой имеется несколько контуров заземления.

Один из авторов данной книги вспоминает, как сжег звуковую карту, пытаясь подключить ее к стереосистеме друга. Даже несмотря на то что компьютер и стереосистема находились в одной комнате, между заземлителями двух электрических розеток, в которые подключались устройства, было замерена разность потенциалов в 6 В! Провод между стереосистемой и ПК (посредством звуковой карты) обеспечил свободную передачу этого напряжения, что сожгло звуковую карту, которая не была рассчитана на такой большой ток в сигнальном проводе. Подключение ПК и стереосистемы в одну розетку решило проблему.

Согласно правилам устройства электроустановок заземление - это, главным образом, средство обеспечения безопасности человека. В компьютере понятие «земля» используется для обозначения логического опорного сигнала 0 В. Электрическая система, обеспечивающая должную безопасность, не всегда будет обеспечивать соответствующее логическое опорное напряжение. Надо отметить, что задачи безопасности иногда идут вразрез с задачами по обеспечению качества напряжения. Естественно, если необходимо сделать выбор, безопасность должна быть на первом месте.

Поскольку разница между двоичным нулем и двоичной единицей представлена в компьютерах разностью напряжений, которая иногда меньше, чем 3 В, в условиях нестабильного напряжения, обусловленных плохим заземлением или электрическим шумом, вполне вероятно периодическое возникновение всевозможных проблем в системе. Некоторые исследователи вопросов напряжения и заземления утверждают, что 80% необъяснимых сбоев компьютеров происходит из-за неудовлетворительного качества электропитания. А большинство из нас ругают Майкрософт.

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

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

 

Электрические сети

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

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

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

 

Аппаратная комната

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

 

Влажность

Попросту говоря, влажность - это вода, присутствующая в воздухе. Вода губительна для электроники по двум главным причинам: 1) она является катализатором коррозии, и 2) вода обладает достаточной проводимостью и может быть причиной коротких замыканий. Электронное оборудование нельзя устанавливать в зонах с повышенной влажностью без обеспечения способов удаления влаги.

 

Температура

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

 

Пыль

В компьютерном фольклоре жива старая поговорка, что пыль внутри компьютера - к удаче. Давайте рассмотрим, к чему приводит пыль в реальности:

• Значительные накопления пыли могут затруднять циркуляцию воздуха в системе, приводя к повышению уровня температуры.

• В пыли могут содержаться частицы металлов, которые в достаточных количествах будут способствовать деградации сигнала или приводить к коротким замыканиям на печатных платах.

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

 

Безопасность

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

 

Оборудование для телефонии

Если предполагается соединение Asterisk с любым традиционным телекоммуникационным оборудованием, потребуются соответствующие аппаратные средства. Ответ на вопрос о том, какое оборудование понадобится, будет зависеть от того, чего конкретно необходимо достичь.

 

Подключение к PSTN

Asterisk позволяет эффективно связывать коммутируемые телекоммуникационные сети с сетями передачи данных с коммутацией пакетов. Открытая архитектура (и открытый исходный код) Asterisk позволяет соединять любое соответствующее стандартам интерфейсное оборудование. Выбор интерфейсных плат для телефонии с открытым исходным кодом в настоящее время ограничен, но, поскольку интерес к Asterisk растет, эта ситуация быстро изменится. На данный момент одним из наиболее популярных и рентабельных способов подключения к PSTN является использование интерфейсных плат, разработанных в рамках проекта Zapata Telephony Project (http:// www.zapatatelephony.org ).

 

Аналоговые интерфейсные платы

Интерфейс PSTN, скорее всего (если не требуется обеспечение многоканальной линии или нет денег на то, чтобы каждый месяц менять телекоммуникационное оборудование), будет состоять из одной или более аналоговых схем, для каждой из которых потребуется порт Foreign eXchange Office (FXO).

Digium, компания, спонсирующая разработку Asterisk, выпускает аналоговые интерфейсные платы для Asterisk. На веб-сайте компании можно найти обширный модельный ряд аналоговых карт, включая проверенную временем TDM400P, новейшую TDM800P и плату с высокой плотностью размещения проводников TDM2400P. Например, TDM800P - восьмипортовая базовая плата с возможностью установки максимум двух четырехпортовых модулей FXO или FXS. Можно приобрести TDM800P с уже установленными данными модулями, а также с модулем для эхоподавления. Более подробную информацию об этих платах можно найти на сайте компании Digium ( http://www.digium.com ). Производством совместимых с Asterisk аналоговых плат также занимаются следующие компании:

• Rhino ( http://www.channelbanks.com ).

• Sangoma ( http://www.sangoma.com ).

• Voicetronix ( http://www.voicetronix.com ).

• Pika Technologies ( http://www.pikatechnologies.com ).

Все это компании с хорошей репутацией, выпускающие превосходные продукты.

 

Цифровые интерфейсные платы

Если требуется более 10 телефонных линий или обеспечение возможности подключения к цифровым линиям, используются платы T1 или E1. Однако не стоит забывать, что ежемесячные расходы на обслуживание цифровых PSTN-линий варьируются в широких пределах. В некоторых регионах окупаемость будет обеспечена всего пятью линиями; в других эта технология может вообще не быть экономически эффективной. Чем выше конкуренция в регионе, тем больше шансов найти более выгодное предложение. Взвесьте все возможные варианты. В ходе проекта Zapata Telephony Proj ect сначала была создана плата T1, Tormenta, то есть прототип наиболее совместимых с Asterisk плат T1. Первые платы Tormenta сейчас считаются устаревшими, но они до сих пор работают с Asterisk.

Digium выпускает несколько разных интерфейсных плат для цифровых линий. Эти платы практически идентичны; основное отличие в предоставляемых интерфейсах, T1 или E1, и количестве обеспечиваемых каналов. Компания Digium дольше всех выпускает платы Zaptel для Linux, поскольку принимала активное участие в разработке Zaptel под Linux и с годами стала движущей силой разработки Zaptel.

Sangoma, которая выпускает платы WAN с открытым исходным кодом в течение многих лет, добавила поддержку Asterisk для своих плат T1/ E1 несколько лет назад. Сейчас Rhino выпускает платы T1 для Asterisk. Также существует много других компаний, предлагающих цифровые интерфейсные платы для Asterisk.

 

Банки каналов

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

На рис. 2.2 показан банк каналов в составе типовой офисной телефонной системы. Несмотря на дороговизну, многие считают, что использование банка каналов - это единственно правильный способ объединения аналоговых линий и устройств с Asterisk. Так это или нет, зависит от многих факторов, но, если вы можете себе это позволить, лучше не экономьте на банке каналов. Часто уже бывшие в употреблении банки каналов можно найти на аукционе eBay. Ищите модули компаний Adtran и Carrier Access Corp. (Rhino делает замечательные банки каналов, и они очень привлекательны по цене, но на eBay их трудно найти.) Не следует забывать, что для подключения банка каналов к Asterisk понадобится плата T1.Рис. 2.2. Один из способов подключения банка каналов

 

Другие типы интерфейсов PSTN

Существует множество шлюзов VoIP, которые можно конфигурировать для обеспечения доступа к линиям PSTN. Вообще говоря, больше всего они пригодятся в небольших системах (одна или две линии). Процесс конфигурирования также может вызывать сложности, потому что управление взаимодействием между различными сетями и устройствами требует твердого понимания и телефонии, и основ VoIP. По этой причине упомянутые устройства не будут обсуждаться в данной книге подробно, однако они заслуживают внимания. Популярностью пользуются модули, выпущенные компаниями Sipura, Grandstream, Digium и многими другими.

Другой способ подключения к PSTN - посредством линий ISDN Basic Rate Interface (BRI). BRI - это цифровой телекоммуникационный стандарт, определяющий двухканальную линию с пропускной способностью до 144 Кбит/с. Он очень редко используется в Серверной Америке, но крайне популярен в Европе. Из-за большого многообразия способов реализации данной технологии и отсутствия оборудования для тестирования в данной книге мы не будем останавливаться на BRI слишком подробно. Но, пожалуйста, обратите внимание, что BRI очень популярен в Европе и поэтому Digium выпустила плату B410P.

 

Соединение исключительно с телефонной сетью на базе коммутации пакетов

Если нет необходимости подключения к PSTN, для Asterisk не требуется никакого другого оборудования, кроме сервера с сетевой интерфейсной платой.

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

 

Эхоподавление

Одной из проблем, возникающих при использовании аналоговых интерфейсов в системе VoIP - эхо. Эхо - это возвращение сказанного говорящему через небольшой промежуток времени. Эхо возникает на противоположном конце линии связи, но слышит его говорящий на этом конце. Малоизвестный факт, что эхо было бы огромной проблемой в PSTN, если бы поставщики услуг связи не применяли сложные (и дорогие) стратегии для его устранения. Мы поговорим об эхе немного позже, но, что касается аппаратных средств, советуем подумать о добавлении эхоподавляющего оборудования на все платы, приобретаемые для использования в качестве интерфейса PSTN. Asterisk может кое-что делать с эхом на программном уровне, но этого отнюдь не достаточно для решения проблемы. Эхоподавление на программном уровне очень сильно загружает процессор; аппаратные эхокомпенсаторы, встроенные в PSTN-плату, снимают эту ношу с ЦП.

Аппаратное эхоподавление может увеличить стоимость оборудования на несколько сотен долларов, но, если требуется получить качественную систему, лучше вложить немного больше средств сейчас, чем иметь неприятности потом. Эхо - очень неприятная проблема, и пользователи просто возненавидят систему, в которой такая проблема присутствует. На момент написания данной книги на рынке появилось несколько программных эхокомпенсаторов. У нас не было возможности протестировать ни один из них, но известно, что в них используются те же алгоритмы, что и в аппаратных эхокомпенсаторах. Те, кто недавно приобрел аналоговую плату Digium, могут позвонить в отдел продаж Digium и получить код ключа, с помощью которого вы сможете воспользоваться их самым последним программным эхокомпенсатором в своей системе. Есть и иные варианты ПО для других типов плат, но необходимо выяснить, нужна ли лицензия на их использование. Помните, что применение эхокомпенсаторов приводит к потерям производительности. Они существенно нагружают процессор, и это следует учитывать при проектировании системы, использующей данные технологии.

 

Типы телефонов

Эта книга называется «Asterisk: будущее телефонии», и с нашей стороны было бы небрежностью не упомянуть об устройствах, с которыми в конечном счете будет взаимосвязана данная технология: телефоны! Всем известно, что такое телефон, но останется ли он таким же через пять лет? Революционные преобразования, которым способствует Asterisk, включают и эволюцию телефона: от простого устройства аудиосвязи до мультимедийного терминала связи, предоставляющего всевозможные функции, которые пока что сложно даже представить. В качестве введения в эту увлекательную область кратко рассмотрим различные виды устройств, называемые в настоящее время «телефонами» (все они без труда могут быть интегрированы с Asterisk). Также немного пофантазируем о том, во что могут развиться эти устройства в будущем (в устройства, которые также будут запросто интегрироваться с Asterisk).

 

Физические телефоны

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

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

 

Аналоговые телефоны

Аналоговые телефоны существуют с момента появления телефонии. Еще примерно 20 лет назад все телефоны были аналоговыми. В разных странах производятся немного разные аналоговые телефоны, но принцип их работы везде одинаковый.

Непрерывное соединение называют каналом (или линией) связи, для их установления в телефонной сети использовались электромеханические коммутаторы - отсюда и название: сеть с коммутацией каналов (или линий).

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

Аналоговые телефоны - это лишь самая общедоступная разновидность телефона. В следующие несколько лет ожидаются разительные перемены.

 

Специализированные цифровые телефоны

С развитием цифровых систем коммутации в 1980-х и 1990-х годах телекоммуникационные компании разработали цифровые офисную АТС (Private Branch eXchanges, PBXes) и малую АТС (Key Telephone Systems, KTSes). Разработанные для них специализированные телефоны были полностью зависимы от систем, к которым подключались, и не могли использоваться в других системах. Совместимыми не были даже телефоны одного производителя (например, аппарат Nortel Norstar не работает с офисной АТС Nortel Meridian 1). Из-за такой узкой специализированности и несовместимости цифровые телефоны не имеют будущего. В начинающуюся ныне эпоху стандартизованной связи они быстро окажутся на свалке истории.

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

Шансы, что когда-нибудь будет создан специализированный цифровой телефон, полностью совместимый с Asterisk, малы, но компании, такие как Citel (http://www.citel.com), разработали шлюзы, преобразующие специализированные сигналы в сигналы, соответствующие протоколу Session Initiation Protocol (SIP).

 

ISDN-телефоны

До появления VoIP ближе всего к стандартизованному цифровому телефону был терминал ISDN BRI. Разработанный в начале 1980-х годов, ISDN должен был совершить переворот в телекоммуникациях и сделать именно то, что обещает наконец довести до конца VoIP сегодня.

Существует два типа ISDN: Primary Rate Interface (PRI) и Basic Rate Interface (BRI). PRI обычно используется для обеспечения соединений между офисными АТС и PSTN и широко распространен во всем мире. BRI не используется в Северной Америке, зато популярен в Европе. Хотя ISDN широко используется телефонными компаниями, многие считают этот стандарт неудачным, поскольку он, в целом, не оправдал ожиданий. Высокая стоимость реализации, необходимость периодически делать повторные капиталовложения и отсутствие сотрудничества между основными игроками на рынке - все это создает больше проблем, чем решает данная система.

BRI предназначался для обслуживания терминалов и меньших узлов связи (контур связи BRI обеспечивает два цифровых канала). Было разработано множество BRI-устройств, однако BRI был преимущественно отвергнут в пользу более быстрых и дешевых технологий, таких как ADSL, кабельные модемы и VoIP.

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

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

 

IP-телефоны

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

Революция, инициируемая IP-телефонами, отнюдь не заключается в появлении нового типа сети, к которой можно будет подключить свой телефон; речь идет исключительно об обеспечении мощной возможности общаться именно так, как вам хочется.

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

 

Программные телефоны

Программный телефон - это приложение, которое обеспечивает функциональность телефона устройству, не являющемуся телефоном, такому как ПК или персональный цифровой секретарь. Итак, на что это похоже? На первый взгляд, казалось бы, простой вопрос, но он на самом деле влечет за собой множество других. Вероятно, у программного телефона должен быть какой-то номеронабиратель и интерфейс, напоминающий пользователям телефон. Но так ли это будет? Можно ожидать, что значение термина «программный телефон» будет быстро меняться по мере того, как наше представление о телефоне будет претерпевать коренные изменения. В качестве примера этой эволюции рассмотрим следующее: можно ли считать популярные программы для мгновенной передачи сообщений, такие как Instant Messenger, программными телефонами? IM предоставляет возможность начинать и принимать стандартизованные VoIP-соединения. Разве это не дает право называть его программным телефоном? Чтобы ответить на этот вопрос, надо уметь заглядывать в будущее, чему мы еще не научились. Достаточно сказать следующее: хотя на данный момент ожидается, что программные телефоны будут выглядеть как традиционные телефоны, в самом ближайшем будущем эта концепция, скорее всего, изменится.

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

Теперь, после того как мы все так запутали, лучшее, что можно сделать, - это дать определение тому, что подразумевается под термином «программный телефон» в данной книге, понимая при этом, что он может существенно измениться в ближайшие несколько лет. Для наших целей мы определяем программный телефон как любое устройство, выполняемое на персональном компьютере, имеющее вид и создающее впечатление телефона и обеспечивающее его основную функцию - возможность устанавливать одновременную двустороннюю аудиосвязь (что ранее называлось «телефонными звонками») через адресацию E.164.

 

Телефонные адаптеры

Телефонный адаптер (обычно называемый 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 с графической оболочкой - являющейся веб-сервером, базой данных или чем-нибудь еще - вообще без всяких проблем. То, сколько времени и сил придется потратить на освоение лучших практик и подсказок по проектированию, представленных в данной главе, зависит исключительно от того, насколько активно предполагается загружать сервер Asterisk и какие качество и надежность должна обеспечивать система. Если вы всего лишь экспериментируете с Asterisk, не надо волноваться слишком сильно; просто знайте, что любые возникающие проблемы, возможно, не являются недостатком системы Asterisk.

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