Asterisk™: будущее телефонии Второе издание
Шрифт:
make config
По команде make config в папки /etc/rc.d/init.d или /etc/init.d, если таковые будут обнаружены, устанавливаются сценарии запуска в стиле дистрибутива Red Hat. Если эти папки существуют, сценарии устанавливаются с правами доступа к файлам 755. Если сценарий определяет, что папка /etc/rc.d/init.d/ существует, выполняется также команда chkconfig --add asterisk, по которой Asterisk будет добавлена в список автозагрузки. Однако в дистрибутивах, использующих только папку /etc/init.d/, этого сделано не будет. Выполнение команды make config никак не повлияет на уже запущенный процесс Asterisk, но запустит его, если он еще не выполняется.
В настоящее время этот сценарий полезен только в системе на базе Red Hat, хотя в папке ./contrib./init.d/ папки исходного кода Asterisk можно
Использование предварительно скомпилированных двоичных файлов
Задокументированный процесс установки Asterisk предполагает, что пользователь самостоятельно компилирует исходный код. Однако некоторые дистрибутивы Linux (такие, как Debian) включают предварительно скомпилированные двоичные файлы Asterisk. При наличии таких двоичных файлов пользователи могли бы устанавливать Asterisk с помощью диспетчеров пакетов, которые предоставляются такими дистрибутивами (например, apt-get для Debian и portage для Gentoo [49] ). Но можно заметить, что многие из этих предварительно скомпилированных двоичных файлов довольно устаревшие и не соответствуют новейшим разработкам Asterisk.
49
Gentoo на самом деле не использует предварительно скомпилированные двоичные файлы, а извлекает исходный код из хранилища и выполняет сборку и установку ПО с помощью собственной системы управления пакетами. Но получаемая в результате версия ПО по-прежнему зависит от того, какой производитель ее скомпоновал. А ведь все можно сделать самостоятельно!
Наконец, действительно существуют основные предварительно скомпилированные двоичные файлы Asterisk, которые можно загрузить и установить на любом выбранном дистрибутиве Linux. Однако применение таких двоичных файлов на самом деле не сэкономит много времени. Кроме того, мы пришли к выводу, что компиляция Asterisk при каждой установке не является слишком обременительной задачей. Мы верим, что лучший способ установки Asterisk - компиляция из исходного кода, поэтому в данной книге не уделяется много внимания предварительно скомпилированным двоичным файлам. Кроме того, разве вы не хотите быть 133 [50] ? В следующей главе будет рассмотрено, как с нуля конфигурировать Asterisk и несколько типов каналов.
50
l33 - это забавное название «элиты» на компьютерном сленге leetspeak (написание слов с заменой букв цифрами и символами). Есть занятная, прекрасно и серьезно написанная статья о leetspeak от Майкрософт, которую можно найти по адресуhttp://www.microsoft.com/athome/security/children/leetspeak.mspx.
Установка дополнительных голосовых сообщений
Дополнительные голосовые сообщения устанавливаются с помощью приложения menuselect в папку исходного кода Asterisk. Существует три набора аудиопакетов: Core Sound (Основные звуки), Extra Sound (Дополнительные звуки) и Music On Hold File (Музыка при ожидании). В каждый набор пакетов включены аудиофайлы в разных форматах (и пакеты Core Sound доступны на разных языках). Используя приложение menuselect, можно выбирать комбинации аудиопакетов для среды. Доступны следующие форматы:
• WAV.
• plaw.
• alaw.
• GSM.
• G.729.
• G.722 (широкополосный, 16-разрядный).
На момент написания данной книги пакеты Core Sound доступны на следующих языках:
• Английский.
• Испанский.
• Французский.
Для любых звуков, определенных в окне выбора компонентов сборки, при установке система загрузит соответствующие файлы с FTP-сервера Digium. Размер этих файлов варьируется в диапазоне от 2 до 27 Мб, об
этом следует помнить при установке в автономном режиме или загрузке по медленным и дорогим линиямДругие полезные дополнения
Пакет asterisk-addons содержит код, обеспечивающий возможность хранения записей параметров вызовов (Call Detail Records, CDRs) в базе данных MySQL. Также в нем имеется код, с помощью которого Asterisk может воспроизводить звуковые файлы в формате MP3 (что мы рекомендуем делать только в очень мощной системе с небольшим количеством телефонов). Кому-то также может быть интересен интерпретатор, который позволяет загружать Perl-сце- нарии в память на время активности процесса Asterisk (что может быть очень полезно при поступлении большого количества AGI- обращений к интерпретатору Perl). В asterisk-addons помещаются программы, недостаточно тщательно разработанные для интеграции с Asterisk или те, вопросы лицензирования которых не позволяют реализовать их непосредственно в исходном коде Asterisk. По адресуhttp://ftp.digium.com/pub/asterisk/g729/ располагаются код и программа регистрации специализированного кодека G. 729A. Если установлены аудиопакеты g729, Asterisk сможет связываться с устройствами, поддерживающими кодек G.729A, но не способна преобразовывать сигналы в другие кодеки, пока не получит лицензию на использование G.729A.
Распространенные проблемы компиляции Asterisk
Существует множество проблем компиляции, с которыми часто сталкиваются пользователи. Далее рассматриваются некоторые самые распространенные из них и способы их решения.
Сначала давайте рассмотрим некоторые ошибки, которые могут возникнуть при выполнении сценария configure.
configure: error: no acceptable C compiler found in $PATH
Если при попытке выполнения сценария configure возникает такая ошибка, требуется установить компилятор gcc и его зависимости:
configure: error: no acceptable C compiler found in $PATH
(configure: ошибка: не найден необходимый компилятор C в $PATH)
Для gcc необходимы следующие пакеты:
• gcc
• cpp
• glibc-headers
• glibc-devel
• glibc-kernheaders
Эти пакеты могут быть установлены вручную путем копирования файлов с диска используемого дистрибутива или посредством диспетчера пакетов yum с помощью команды yum install gcc.
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
Эта ошибка возникает, если в системе не обнаружен препроцессор С++. Требуется установить пакет gcc-c++ и его зависимости:
configure: error: C++ preprocessor "/lib/cpp" fails sanity check (configure: ошибка: препроцессор С++ "/lib/cpp" не проходит проверку на готовность к работе)
Препроцессор gcc-c++ требует наличия следующих пакетов; устанавливаются они путем выполнения команды yum install gcc-c++:
• gcc-c++
• libstdc++-devel
configure: error: *** termcap support not found
Следующая ошибка может возникнуть при запуске сценария configure, если не установлен пакет libtermcap-devel:
configure: error: *** termcap support not found (configure: ошибка: поддержка *** termcap не выявлена) Для компиляции Asterisk необходим следующий файл; его можно установить, выполнив команду yum install libtermcap-devel:
• libtermcap-devel
Zaptel
Ошибки могут возникать и при компиляции Zaptel. Здесь представлены некоторые наиболее распространенные проблемы и способы их решения. Если ниже вы не находите ошибки, с которой столкнулись, посмотрите предыдущий раздел, может быть, вы найдете ее там.
make: cc: Command not found
Следующее сообщение об ошибке будет получено при попытке сборки Zaptel без компилятора gcc:
make: cc: Command not found make: *** [gendigits.o] Error 127
(make: сс: Команда не найдена
make: *** [gendigits.o] Ошибка 127)
Убедитесь, что gcc и его зависимости установлены. Больше информации можно найти в подразделе «configure: error: no acceptable C compiler found in $PATH» предыдущего раздела.
FATAL: Module wctdm/fxs/fxo not found