Литмир - Электронная Библиотека
Содержание  
A
A

• WAV.

• plaw.

• alaw.

• GSM.

• G.729.

• G.722 (широкополосный, 16-разрядный).

На момент написания данной книги пакеты Core Sound доступны на следующих языках:

• Английский.

• Испанский.

• Французский.

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

Для любых звуков, определенных в окне выбора компонентов сборки, при установке система загрузит соответствующие файлы с 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

Для плат TDM400P необходима PCI-шина версии 2.2. При попытке загрузить драйверы телефонии Zapata с более старой версией могут возникать следующие ошибки:

• При попытке загрузить драйвер wctdm может появиться такое сообщение об ошибке:

FATAL: Module wctdm not found

(ФАТАЛЬНАЯ ОШИБКА: Модуль wctdm не найден)

• При попытке загрузить драйвер wctdm или wcfxo может появиться такое сообщение об ошибке:

ZT_CHANCONFIG failed on channel 1: No such device or address (6) FATAL: Module wctdm not found

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

(Не удалось выполнить ZT_CHANCONFIG для канала 1: Такое устройство или адрес не обнаружены (6) ФАТАЛЬНАЯ ОШИБКА: Модуль wctdm не найден) Единственный способ исправить эти ошибки - использовать более новую системную плату, которая поддерживает PCI версии 2.2:

• Также эти ошибки могут возникнуть, если блок питания не подключен в разъем Molex на плате TDM400P.

Неразрешимая символическая ссылка при загрузке ztdummy

Драйвер ztdummy требует наличия доступного контроллера UHCI USB в ядрах Linux 2.4 (USB-котроллер не является обязательным требованием для ядер Linux 2.6, потому что они способны генерировать опорный синхросигнал частотой 1 кГц). Существуют контроллеры вторичного типа, известные как OHCI-контроллеры[51], которые несовместимы с драйвером ztdummy. Если контроллер UHCI USB недоступен в ядрах Linux 2.4, возникнет следующая ошибка:

/lib/modules/2.4.22/misc/ztdummy.o: /lib/modules/2.4.22/misc/ztdummy.o: unresolved symbol unlink_td

/lib/modules/2.4.22/misc/ztdummy.o: /lib/modules/2.4.22/misc/ztdummy.o: unresolved symbol alloc_td

/lib/modules/2.4.22/misc/ztdummy.o: /lib/modules/2.4.22/misc/ztdummy.o: unresolved symbol delete_desc

/lib/modules/2.4.22/misc/ztdummy.o: /lib/modules/2.4.22/mlsc/ztdummy.o: unresolved symbol uhci_devices

/lib/modules/2.4.22/misc/ztdummy.o: /lib/modules/2.4.22/misc/ztdummy.o: unresolved symbol uhci_interrupt

/lib/modules/2.4.22/misc/ztdummy.o: /lib/modules/2.4.22/misc/ztdummy.o: unresolved symbol fill_td

/lib/modules/2.4.22/misc/ztdummy.o: /lib/modules/2.4.22/misc/ztdummy.o: unresolved symbol insert_td_horizontal

/lib/modules/2.4.22/misc/ztdummy.o: insmod /lib/modules/2.4.22/misc/ ztdummy.o failed

/lib/modules/2.4.22/misc/ztdummy.o: insmod ztdummy failed Убедиться в наличии соответствующего USB-контроллера и связанных с ним драйверов можно с помощью команды lsmod:

# lsmod

Module Size Used by

usb_uhci 26412 0

usbcore 79040 1 [hid usb-uhci]

Как можно увидеть в приведенном выше примере, мы проверяем, загружены ли модули usbcore и usb_uhci. Если эти модули не загружены, необходимо убедиться, что USB в BIOS активирован и что эти модули есть в наличии.

Если драйверы USB не загружены, все равно с помощью команды dmesg есть возможность проверить тип имеющегося USB-контроллера:

# dmesg | grep -i usb

Наличие контроллера UHCI USB подтвердят следующие строки:

вернуться

51

Open Host Controller Interface - открытый интерфейс хост-контроллера. - Примеч. науч. ред.

21
{"b":"282856","o":1}