Asterisk и IP-телефония

Проблемы при установке Asterisk

Материал перенесён из старой базы знаний ATC-IP и оформлен в едином стиле нового сайта.

Reanimator
Windows
Linux
Разное
0. Новости проекта
1. Asterisk
2. Сеть
3. Удаленный доступ
4. Безопасность
5. Загрузчики
6. Логи
7. Обновления
8. Базы данных
9. Разное
Проблемы при установке Asterisk
Ошибки компиляции asterisk
no acceptable C compiler
Текст ошибки
configure: error: in `/usr/src/asterisk-11.14.0':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
Описание ошибки
Отсутствует компилятор gcc
Решение
Необходимо установить пакет GCC. Для этого в CentOS выполните команду:
yum -y install gcc
error: C++ preprocessor "/lib/cpp" fails sanity check
Текст ошибки
configure: error: in `/usr/src/asterisk-11.14.0':
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
Описание ошибки
Отсутствует компилятор gcc-c++
Решение
Необходимо установить пакет GCC-C++. Для этого в CentOS выполните команду:
yum -y install gcc-c++
configure: error: *** termcap support not found
Текст ошибки
configure: error: *** termcap support not found (on modern systems, this typically means the ncurses development package is missing)
Описание ошибки
Отсутствует библиотека ncurses, точнее не сама библиотека (она может быть), а ее компоненты для разработчиков (development), для сборки программ.
Решение
В случае CentOS нужен пакет ncurses-devel:
yum -y install ncurses-devel
configure: *** XML documentation will not be available because the 'libxml2' development package is missing
Текст ошибки
configure: *** XML documentation will not be available because the 'libxml2' development package is missing.
configure: *** Please run the 'configure' script with the '--disable-xmldoc' parameter option
configure: *** or install the 'libxml2' development package.
Описание ошибки
Отсутствует библиотека libxml2, точнее не сама библиотека (она может быть), а ее компоненты для разработчиков (development), для сборки программ.
Решение
В случае CentOS нужен пакет libxml2-devel, для его установки выполните команду:
yum -y install libxml2-devel
configure: WARNING: *** Asterisk now uses SQLite3 for the internal Asterisk database.
Текст ошибки
configure: WARNING: *** Asterisk now uses SQLite3 for the internal Asterisk database.
configure: WARNING: *** Please install the SQLite3 development package.
Описание ошибки
Отсутствует библиотека sqlite, точнее не сама библиотека (она может быть), а ее компоненты для разработчиков (development), для сборки программ.
Решение
В случае CentOS нужен пакет sqlite-devel:
yum -y install sqlite-devel
Doxygen is not installed
Текст ошибки
Doxygen is not installed. Please install and re-run the configuration script.
Описание ошибки
При установке make progdocs выдается эта ошибка. Это означает, что не удается установить документацию к asterisk, поскольку отсутствует пакет doxygen.
Решение
Установите пакет doxygen. В CentOS выполните команду:
yum -y install doxygen
Ошибки при компиляции asterisk 12 / asterisk 13
configure: error: *** uuid support not found
Текст ошибки
configure: error: *** uuid support not found (this typically means the uuid development package is missing)
Описание ошибки
Отсутствует библиотека (а не пакет!) uuid, причем нужна development редакция: libuuid-devel
Решение
В CentOS нужно поставить libuuid-devel:
yum -y install libuuid-devel
В Debian нужно поставить uuid-dev:
apt-get install uuid-dev
configure: error: *** JSON support not found
Текст ошибки
configure: error: *** JSON support not found (this typically means the libjansson development package is missing)
Описание ошибки
В этом случае Вам необходим пакет jansson, причем нужна development редакция: jansson-devel
Решение
Нужно поставить jansson-devel, но в стандартных репозиториях его нет, поэтому необходимо сначала
подключить дополнительный репозиторий EPEL
После этого в CentOS нужно поставить пакет jansson-devel, выполнив команду:
yum -y install jansson-devel
В Debian нужно поставить пакет libjansson-dev, выполнив команду:
apt-get install libjansson-dev
Ошибки при запуске asterisk
Permission denied
Описание ошибки
Asterisk не стартует (сервис запускается, но тут же останавливается, "service asterisk status" показывает "stopped". При этом в логах asterisk (/var/log/asterisk/messages) выводятся сообщения типа:
WARNING[1604] media_index.c: Failed to stat /var/lib/asterisk/sounds/en/vm-then-pound.wav: Permission denied
WARNING[1803] media_index.c: Failed to stat /var/lib/asterisk/sounds/en/vm-newpassword.wav: Permission denied
WARNING[1873] media_index.c: Failed to stat /var/lib/asterisk/sounds/en/to-report-system-network-down.wav: Permission denied
Несмотря на то, что (по умолчанию) asterisk запускается под пользователем root, имеющим полные права, отсутствует доступ к различным файлам. При этом asterisk может запускаться из командной строки (не как служба):
asterisk -vvvc
При попытке подключения к asterisk выдается ошибка:
Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?)
Решение
Необходимо отключить SELinux. Для этого откройте в любом редакторе файл: /etc/selinux/config и впишите/измените в нем такую строку:
SELINUX=disabled
После чего перезагрузите компьютер с asterisk.
ILLEGAL INSTRUCTION
Описание ошибки
asterisk не стартует ни в качестве службы, ни из консоли.
Текст ошибки:
При запуске в консоли asterisk выдает сообщение Illegal instruction.
Текст ошибки
Illegal instruction
Решение
В данном случае собранный asterisk не поддерживает команды процессора на Вашем компьютере. Необходимо пересобрать asterisk, при этом необходимо отключить флаг BUILD_NATIVE в настройках make menuselect астериска. Для этого выполните:
make menuselect
выберите раздел "Compiler flags"
и отключите флаг "BUILD_NATIVE"
Позвонить +7 (343) 382-33-16