Asterisk™: будущее телефонии Второе издание - Меггелен Джим Ван
Какие нужны пакеты
Большинство конфигураций 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 [...]
Таблица 3.1. Список пакетов, необходимых для компиляции libpri, zaptel и asterisk
Имя пакета Команда установки Примечание Используется программами GCC 3.x yum install -y gcc Необходим для компиляции zaptel, libpri и asterisk libpri, zaptel, asterisk ncurses-devel yum install -y ncurses-devel Необходим для menuselect menuselect libtermcap-devel yum install -y libtermcap-devel Необходим для asterisk asterisk Kernel yum install -y kernel-devel Необходим для компиляции zaptel zaptel Development Headers Kernel Development Headers (SMP) yum install -y kernel-smp-devel Необходим для компиляции zaptel zaptel GCC C++ 3.x yum install -y gcc-c++ Необходим для asterisk asterisk OpenSSL (необязательный) yum install -y openssl-devel Зависимость OSP, шифрование IAX2, res_crypto (поддержка RSA- ключа) asterisk Имя пакета Команда установки Примечание Используется программами newt-devel yum install -y Зависимость zttool zaptel (необязательный) newt-devel zlib-devel yum install -y Зависимость asterisk (необязательный) zlib-devel DUNDi unixODBC; yum install -y Зависимость func_ asterisk unixODBC-devel unixODBC-devel odbc, cdr_odbc, (необязательный) res_config_odbc, res odbc, ODBC_STORAGE libtool yum install -y Зависимость asterisk (необязательный; libtool связанных с ODBC модулей рекомендуемый) GNU make yum install -y Необходим для компиляции asterisk (версия 3.80 или более поздняя)* make zaptel и asteriskОбычной ошибкой тех, кто впервые устанавливает какой-либо дистрибутив Linux, является использование программы GNU make версии 3.79 или еще более ранней. Следует учесть, что правильно сборка Asterisk может быть выполнена только при наличии версии GNU make не ниже 3.80.
Получение исходного кода
Лучше всего взять исходный код для Asterisk и его пакетов прямо на веб-сайте http://www.asterisk.org или FTP-сервере.
*
Получение исходного кода Asterisk
Проще всего получить самую последнюю выпущенную версию с помощью программы wget.