В предыдущей главе мы обсудили подготовку системы к установке 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, предполагается, что установлен хотя бы один из этих форматов.
Необходимые пакеты Linux
Для компиляции Asterisk в системе должен иметься компилятор GCC (версия 3.x или более поздняя) и все необходимые зависимости. Также для Asterisk требуется bison, программный генератор грамматического разбора, который заменяет yacc, и ncurses для обеспечения функциональности командной строки. Криптографическая библиотека в Asterisk требует наличия OpenSSL и его пакетов для разработки.
Для Zaptel необходима библиотека libnewt и ее пакеты для разработки, чтобы обеспечить компиляцию программы zttool (см. в данной главе раздел «Использование ztcfg и zttool»). Если используются PRI-интер- фейсы, Zaptel также требует установки пакета libpri (опять же, даже если линии PRI не используются, мы рекомендуем установить libpri вместе с zaptel).
Если пакеты Software Development устанавливаются на CentOS, все эти инструменты будут в наличии. Если вы стремитесь к порядку и желаете установить набор программ, только минимально необходимый для компиляции Asterisk и связанных с ней пакетов, обратитесь к табл. 3.1.
В следующей таблице использование ключа -у для приложения yum означает ответ «да» на все вопросы и обеспечит установку приложения и всех зависимостей без вывода этих вопросов на экран. Если это нежелательно, ключ -у должен быть опущен.
Если требуется установить сразу все вышеупомянутые пакеты, в командной строке можно указать несколько пакетов, например:
# yum install -у gcc ncurses-devel libtermcap-devel [...]
Имя пакета | Команда установки | Примечание | Используется программами |
yum install -y gcc | Необходим для компиляции zaptel, libpri и asterisk | libpri, zaptel, asterisk | |
yum install -y ncurses-devel | Необходим для menuselect | menuselect | |
yum install -y libtermcap-devel | Необходим для asterisk | asterisk | |
yum install -y kernel-devel | Необходим для компиляции zaptel | zaptel | |