KnigaRead.com/
KnigaRead.com » Компьютеры и Интернет » Программное обеспечение » Джим Меггелен - Asterisk™: будущее телефонии Второе издание

Джим Меггелен - Asterisk™: будущее телефонии Второе издание

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Джим Меггелен, "Asterisk™: будущее телефонии Второе издание" бесплатно, без регистрации.
Перейти на страницу:

Установка дополнительных голосовых сообщений

Дополнительные голосовые сообщения устанавливаются с помощью приложения 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

Для плат 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

(Не удалось выполнить 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 подтвердят следующие строки:

uhci_hcd 0000:00:04.2: new USB bus registered, assigned bus number 1 hub 1-0:1.0: USB hub found

uhci_hcd 0000:00:04.3: new USB bus registered, assigned bus number 2 hub 2-0:1.0: USB hub found

(uhci hcd 0000:00:04.2: зарегистрирована новая USB-шина, присвоенный номер шины - 1 hub 1-0: обнаружен концентратор USB

uhci hcd 0000:00:04.3: зарегистрирована новая USB-шина, присвоенный номер шины - 2 hub 2-0:1.0: обнаружен концентратор USB)

Ошибки depmod во время компиляции


Если во время компиляции возникают ошибки depmod, вероятнее всего, отсутствует символическая ссылка на исходные файлы ядра Linux. Если исходные файлы используемого ядра Linux не установлены, необходимо скачать их в Интернете c сайта http://kernel.org, установить и создать символическую ссылку на /usr/src/linux-2.4. Ниже представлен пример ошибки depmod: depmod: *** Unresolved symbols in /lib/modules/2.4.22/kernel/drivers/block/ loop.o

(depmod: *** Неразрешимые символы в /lib/modules/2.4.22/kernel/ drivers/block/loop.o)

Быстрая загрузка Asterisk и Zaptel

Если команда make config выполняется в папках исходного кода Asterisk или Zaptel, сценарии запуска, используемые для управления Asterisk или Zaptel, будут скопированы в папку /etc/rc.d/init.d/. Используя сценарии, можно упростить загрузку Asterisk и Zaptel. Эти сценарии также выполнят команду chkconfig, что обеспечит автоматический запуск Asterisk и Zaptel при загрузке системы. Ниже представлен пример их использования:

# service zaptel start

# service asterisk start

Каждый сценарий запуска имеет несколько опций, с помощью которых можно управлять офисной АТС или драйверами. В табл. 3.2 и 3.3 приведены команды, выполняемые сценарием (но их можно было бы вводить самостоятельно в интерфейсе командной строки (Command- Line Interface, CLI)).

Таблица 3.2. Опции сценария запуска Asterisk


service asterisk <опция> Эквивалент для ввода вручную start asterisk stop killproc asterisk restart stop; start reload asterisk -rx "reload" status ps aux | grep [a]sterisk

Таблица 3.3. Опции сценария запуска Zaptel

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*