Все большую популярность набирает современная телефонная связь по протоколу ip в офисах сферы малого и среднего бизнеса. Установка asterisk и панели управления freepbx на сервер под управлением CentOS 7 тема моего очередного повествования. Мы последовательно выполним все шаги по конфигурированию и сборке исходных текстов устанавливаемых продуктов.
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Содержание:
Данная статья является частью единого цикла статьей про сервер Centos.
Введение
Asterisk - бесплатное решение для организации voip телефонии. Он обладает всеми возможностями обычных АТС, но предоставляет более богатый функционал по управлению звонками. За относительную простоту настройки, по сравнению с цифровыми АТС, бесплатность и широкие возможности он и снискал такую популярность.
Freepbx - бесплатный веб интерфейс для управления астериском. Он существенно упрощает работу с конфигурациями, позволяет выполнять некоторые функции людям, вообще далеким от астериска. Например, с его помощью практически любого можно научить управлять учетными записями пользователей.
Лично я больше люблю настраивать asterisk вручную, нежели с помощью готовой панели. Да, конфигов астериск очень много, они объемные, работать с ними не удобно. Тем не менее, чистый астериск предоставляет практически неограниченную возможность по конфигурированию. С готовой панелью вы будете ограничены ее возможностями. Но если они вас полностью удовлетворяют, то лучше использовать ее.
Дальнейшая установка FreePBX будет проходить по следующей схеме:
- Подготовка системы.
- Установка MariaDB.
- Настройка Web сервера.
- Установка NodeJS.
- Установка Asterisk.
- Установка и настройка Freepbx.
Для отладки и тестирования работы voip я рекомендую сервис Zadarma. Плюс его в том, что после регистрации вы получите настройки пира для внутренней сети оператора. И внутри этой сети вы можете бесплатно звонить. Например, я одного пира регистрирую на sip клиенте смартфона и с него звоню на второй аккаунт, пир от которого настроен в астериске. Таким образом эмулирую внешний звонок. Удобно отлаживать различные конфигурации звонков, не требуя платного подключения.
Подготовка системы
Я рекомендую ознакомиться с моим материалом на тему первоначальной настройки centos 7. Многие вопросы там рассмотрены подробнее, здесь же я не буду на них задерживаться, просто выполню необходимые команды.
Прежде чем мы начнем устанавливать asterisk, нам надо выполнить целый ряд подготовительных действий. Первым делом отключаем selinux. Для этого открываем файл:
# mcedit /etc/sysconfig/selinux
и устанавливаем значение SELINUX=disabled. После этого применяем настройку без перезагрузки сервера:
# setenforce 0
Рекомендация по отключению selinux дается в официальной инструкции по установке freepbx, так как это может привести к нарушению процесса инсталляции.
Дальше обновляем систему и ставим пакеты Development Tools:
# yum update # yum groupinstall core base "Development Tools"
Установка Mariadb
В своей работе FreePBX использует базу данных Mysql. В качестве mysql сервера будем использовать mariadb. Подключаем репозиторий со свежей версией MariaDB. Для этого создаем файл /etc/yum.repos.d/MariaDB.repo следующего содержания.
# MariaDB 10.3 CentOS repository list - created 2019-04-01 09:11 UTC # http://downloads.mariadb.org/mariadb/repositories/ [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.3/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
Устанавливаем MariaDB.
# yum install MariaDB-server MariaDB-client MariaDB-shared
Запускаем mariadb и добавляем в автозагрузку.
# systemctl start mariadb # systemctl enable mariadb
Настройка Web сервера
Для работы панели FreePBX нужен web сервер с php. Я буду использовать версию php 7.1. Более подробно про настройку web срвера на Centos вы можете прочитать отдельно. Сейчас же коротко пройдем по шагам весь процесс.
Подключаем репозиторий epel, если еще не сделали это ранее.
# yum install epel-release
Подключаем remi репозиторий для centos 7.
# rpm -Uhv http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Ставим пакет yum-utils.
# yum install yum-utils
Активируем репу remi-php71, для этого выполняем команду.
# yum-config-manager --enable remi-php71
Устанавливаем необходимые пакеты для работы сервера voip.
# yum install wget php php-pear php-cgi php-common php-curl php-mbstring php-gd php-mysql php-gettext php-bcmath php-zip php-xml php-imap php-json php-process php-snmp
Далее установим httpd. Он, по идее, должен установиться в качестве зависимости на предыдущем шаге, но на всякий случай проверьте.
# yum install httpd
Теперь нам нужно изменить некоторые параметры httpd - запустить его от пользователя asterisk и включить опцию AllowOverride. Это можно сделать руками в файле /etc/httpd/conf/httpd.conf, либо автоматически с помощью sed.
# sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/httpd/conf/httpd.conf # sed -i 's/AllowOverride None/AllowOverride All/' /etc/httpd/conf/httpd.conf
Мы просто выставили следующие параметры:
- User asterisk
- Group asterisk
- AllowOverride All
Httpd запускать пока не надо, так как пользователя asterisk мы еще не создали. Сделаем это после установки asterisk.
Изменим параметр php, который отвечает за максимальный размер загружаемого файла. Дефолтное значение слишком низкое для freepbx. Для этого в /etc/php.ini устанавливаем параметр.
upload_max_filesize = 120M
Сделать это можно либо руками, либо автоматически с помощью sed.
# sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php.ini
С веб сервером закончили. Продолжаем подготовку к установке FreePBX на CentOS.
Установка NodeJS
Для работы Freepbx требуется сервер NodeJS. Установим его на Centos 7. Подключаем репозиторий NodeJS с помощью скрипта автоматизации от разработчика.
# curl -sL https://rpm.nodesource.com/setup_10.x | bash -
Обновляем кэш yum.
# yum clean all && sudo yum makecache fast
Устанавливаем NodeJS и некоторые зависимости.
# yum install gcc-c++ make nodejs
Проверяем на всякий случай версию:
# node -v
Если видите номер версии, значит установка прошла успешно. Продолжаем подготовку к установке Freepbx.
Установка Asterisk
Скачиваем архив последней версии Asterisk с официального сайта.
# cd ~ && wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
Распаковываем исходники.
# tar zxvf asterisk-*.tar.gz
Переходим в директорию с исходниками.
# cd asterisk*
Выполняем скрипт для установки пакетов с зависимостями для asterisk.
# contrib/scripts/install_prereq install
Запускаем скрипт для скачивания исходников для работы с mp3.
# contrib/scripts/get_mp3_source.sh
Настраиваем конфигурацию:
# ./configure --with-pjproject-bundled --with-jansson-bundled --with-crypto --with-ssl=ssl --with-srtp
Запускаем меню для выбора параметров:
make menuselect
В целом, можно оставить дефолтную настройку, если вы не очень разбираетесь, что тут выбирать. Более подробно можете посмотреть в моей статье про подробную настройку asterisk.
Можно запускать установку asterisk.
# make && make install && make config && make samples && ldconfig
Настроим запуск астериск от системного пользователя asterisk. Для этого редактируем скрипт запуска /usr/sbin/safe_asterisk, установив параметр.
ASTARGS="-U asterisk"
Можете то же самое сделать автоматически.
# sed -i 's/ASTARGS=""/ASTARGS="-U asterisk"/g' /usr/sbin/safe_asterisk
Создадим этого пользователя и назначим нужные права на каталоги.
# useradd -m asterisk # chown asterisk.asterisk /var/run/asterisk # chown -R asterisk.asterisk /etc/asterisk # chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk # chown -R asterisk.asterisk /usr/lib/asterisk
Запускаем Asterisk.
# systemctl start asterisk
Проверьте сразу, что он запустился.
# systemctl status asterisk
Если у вас будут ошибки:
radcli: rc_read_config: rc_read_config: can't open /etc/radiusclient-ng/radiusclient.conf: No such file or directory
То отредактируйте конфигурационные файлы asterisk, заменив в некоторых строках пути на правильные.
# sed -i 's";\[radius\]"\[radius\]"g' /etc/asterisk/cdr.conf # sed -i 's";radiuscfg => /usr/local/etc/radiusclient-ng/radiusclient.conf"radiuscfg => /etc/radcli/radiusclient.conf"g' /etc/asterisk/cdr.conf # sed -i 's";radiuscfg => /usr/local/etc/radiusclient-ng/radiusclient.conf"radiuscfg => /etc/radcli/radiusclient.conf"g' /etc/asterisk/cel.conf
После этого перезапустите asterisk, ошибок быть не должно.
Установка и настройка Freepbx
Скачиваем последнюю версию Freepbx с сайта разработчика.
# cd ~ && wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-15.0-latest.tgz
Распаковываем исходники.
# tar xvfz freepbx-*.tgz
Переходим в каталог freepbx и запускаем скрипт проверки запуска asterisk.
# cd freepbx && ./start_asterisk start
Если не получили ошибок, то запускаем установку непосредственно FreePBX.
# ./install -n
Если получили ошибку php:
PHP Fatal error: Uncaught Error: Call to a member function connected() on null in /root/freepbx/amp_conf/htdocs/admin/libraries/BMO/Framework.class.php:180
Запустите установку еще раз
# ./install -n
Она должна пройти без ошибок, но freepbx не будет работать корректно, так как не сможет подключиться к asterisk. После повторной установки надо открыть конфиг /etc/asterisk/manager.conf и в конце строки
#include manager_additional.conf #include manager_custom.conf
заменить на
;include manager_additional.conf ;include manager_custom.conf
И убедиться, что указан параметр secret с паролем amp111. Если это не так, отредактируйте строку.
secret = amp111
Если этого параметра вообще нет, то добавить в секцию [admin]. После этого надо еще раз запустить установку freepbx, в третий раз. После этого ошибок быть не должно и freepbx будет корректно работать.
Если все прошло без ошибок, то можно проверять работу Freepbx. Но перед этим отключим Firewall, если он у вас работает.
# systemctl stop firewalld && systemctl disable firewalld
Я не хочу в этой статье касаться его настройки. Подробно вопрос настройки firewall я рассмотрел отдельно. Там можно узнать все нюансы. Здесь же я прото скажу, что для начала нам нужно открыть 80-й порт, чтобы мы смогли работать с веб интерфейсом:
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
Для полноценной работы астериск, нужно открыть следующие порты:
iptables -A INPUT -p udp -m udp --dport 5060 -j ACCEPT iptables -A INPUT -p udp -m udp --dport 5061 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 5060 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 5061 -j ACCEPT iptables -A INPUT -p udp -m udp --dport 4569 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 5038 -j ACCEPT iptables -A INPUT -p udp -m udp --dport 5038 -j ACCEPT iptables -A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT
Теперь можно запустить httpd.
# systemctl start httpd
Добавляем его в автозагрузку:
# systemctl enable httpd
На этом установка закончена Freepbx. Можно зайти браузером на страницу с ip адресом сервера. У меня это http://85.143.175.176 Открывается начальная страница freepbx, где нам предлагается создать нового пользователя:
Создаем пользователя и заходим в web интерфейс управления астериском:
Вот и все, дальше можно заниматься настройкой. Раньше следующим разделом шла информация по автозагрузке freepbx, но в данный момент эта информация неактуально. Отдельно автоазгрузку для freepbx настраивать не надо. Она по дефолту автоматически запускается при старте системы.
Заключение
В данной инструкции мы аккуратно собрали все необходимые компоненты для настройки связки asterisk+freepbx на сервере CentOS 7. Скачали последние версии софта, собрали его из исходников и установили. Таким образом мы полностью подготовили сервер к конфигурированию телефонии. Если сервер будет смотреть в интернет, нужно обязательно не забыть аккуратно настроить firewall и хотя бы fail2ban для обеспечения минимальной, хотя в большинстве случаев и вполне достаточной, защиты.
Примером настройки asterisk с нуля может служить указанная статья. Ее можно взять за основу для целостного понимания базового функционала, который можно реализовать с помощью астериск.
Напоминаю, что данная статья является частью единого цикла статьей про сервер Centos.
Видео
В завершение видео со всем процессом установки:
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Здравствуйте Максим. Установил и настроил астериск, но что то надоело лазить по конфигам, решил поставить веб интерфейс, правда у меня fedora 34
Все вроде получилось но не могу запустить FreePBX
пишет
Unable to run Pre-Asterisk hooks, because Asterisk is already running on PID 9727 and has been running for xx minutes, xx seconds
Запустить пытаюсь с помошью Unit, хотя у меня стоит systemd, но вроде все должно работать. И еще пач стоит не только для asterisk так что пользователь и группа надо отдать апачу.
Не подскажеьте куда копать?
Сорри Владимир! Чет меня перемкнуло.
Здравствуйте, что делать? Подскажите
PDOException (42S02)]
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'asterisk.voicemail_admin' doesn't exist
Здравствуйте.
Все установилось отлично.
Спасибо за статью.
Есть проблема с одним модулем Sound Languages
При попытке установить ошибка Failed connect to sounds.sng7.com:443; Operation now in progress
Служба поддержки пишет, что должно работать. Сайт пингуется.
Подскажите пожалуйста в чем может быть проблема?
Проверьте для начала, с сервера доступен ресурс sounds.sng7.com:443? Можно использовать обычный curl:
curl https://sounds.sng7.com
Возможно из-за какой-нибудь блокировки доступа к сайту нету. Сейчас постоянно приходится с подобным сталкиваться.
Вопрос : "На этом установка закончена Freepbx. Можно зайти браузером на страницу с ip адресом сервера. У меня это http://85.143.175.176 Открывается начальная страница freepbx, где нам предлагается создать нового пользователя:"
Это т.е. получить белый ip? И через внешний браузер и NAT зайти? У Вас где то про это написано?
Спасибо.
Не понял вопроса. Если у вас на сервере белый IP, можете сразу на него зайти. Если серый и хотите доступ через интернет, нужно делать проброс портов на FreePBX.
Вопрос решился, secret в web интерфейсе нужно было сменить
Добрый день, после установки в FreePBX висит ошибка "Не подключен к астериск"
/etc/asterisk/manager.conf поправлен как указано в инструкции
Добрый день. На этапе установки астериска и вводе команды # systemctl status asterisk, заметил ошибку "Can't open PID file /var/run/asterisk/asterisk.pid" при установке астериска выбрал в окно "asterisk module and build option selection" выбрал ещё модули которые вы в другой статье говорили включить, а именно
Add-ons: format_mp3, res_config_mysql.
Core Sound Packages: русские звуки RU-WAV.
Music On Hold File Packages: звук WAV.
Extras Sound Packages: английский EN-WAV, русского к сожалению нет.
при вводе команды # systemctl status asterisk получаю это:
asterisk.service - LSB: Asterisk PBX
Loaded: loaded (/etc/rc.d/init.d/asterisk; bad; vendor preset: disabled)
Active: active (running) since Thu 2022-05-19 23:20:52 EEST; 2s ago
Docs: man:systemd-sysv-generator(8)
Process: 21816 ExecStop=/etc/rc.d/init.d/asterisk stop (code=exited, status=0/SUCCESS)
Process: 21842 ExecStart=/etc/rc.d/init.d/asterisk start (code=exited, status=0/SUCCESS)
Main PID: 21871 (asterisk)
CGroup: /system.slice/asterisk.service
├─21869 /bin/sh /usr/sbin/safe_asterisk
└─21871 /usr/sbin/asterisk -f -U asterisk -vvvg -c
May 19 23:20:52 cent.lan systemd[1]: Stopped LSB: Asterisk PBX.
May 19 23:20:52 cent.lan systemd[1]: Starting LSB: Asterisk PBX...
May 19 23:20:52 cent.lan asterisk[21842]: Starting asterisk:
May 19 23:20:52 cent.lan systemd[1]: Can't open PID file /var/run/asterisk/asterisk.pid...ory
May 19 23:20:52 cent.lan systemd[1]: asterisk.service: Supervising process 21871 which ...ts.
May 19 23:20:52 cent.lan systemd[1]: Started LSB: Asterisk PBX.
Помогите исправить ошибку
Это не ошибка. Asterisk запущен и работает.
отсутствует после установки модуль user manager. Не могу добавить пользователя через FreePBX при создании пользователя. Как исправить?
при установки MariaDB выдает что совпадений не не найдено??? куда нужно лесть??
Добрый день.
Спасибо за статью!
Возможно следует добавить про установку SoX (Sound eXchange), на отсутствие которой ругается FreePBX
Там нужно установить пару компонентов: собственно SoX и mpg123
yum install sox
yum install mpg123
Сейчас уже имеет смысл все на Centos 8 настраивать.
Не всегда. У меня есть железка, на которой 8-я Centos не видит сетевую карту, а вот 7-я видит отлично.
Ethernet controller: JMicron Technology Corp. JMC250 PCI Express Gigabit Ethernet Controller (rev 03)
Кстати, довольно интересно было бы почитать статью о том, как устанавливается всякое неподдерживаемое из коробки железо в Centos...
;)
Подскажите, как можно просматривать участников конференции в freepbx и Asterisk? Может быть есть какой-то софт или модуль?
доброго времени! при запуске установки FreePBX
# ./install –n
получаю в ответ:
No arguments expected, got "–n".
install [--dbengine DBENGINE] [--dbname DBNAME] [--dbhost DBHOST] [--cdrdbname CDRDBNAME] [--dbuser DBUSER] [--dbpass DBPASS] [--user USER] [--group GROUP] [--dev-links] [--skip-install] [--webroot WEBROOT] [--astetcdir ASTETCDIR] [--astmoddir ASTMODDIR] [--astvarlibdir ASTVARLIBDIR] [--astagidir ASTAGIDIR] [--astspooldir ASTSPOOLDIR] [--astrundir ASTRUNDIR] [--astlogdir ASTLOGDIR] [--ampbin AMPBIN] [--ampsbin AMPSBIN] [--ampcgibin AMPCGIBIN] [--ampplayback AMPPLAYBACK] [-r|--rootdb] [-f|--force]
подскажите чего не так?
Как ты решил проблему?
Добрый день!
Установил по вашей инструкции. Все хорошо, после установке всё работает но после ребута виртуалке не заходит в веб интерфейс.
The stream or file "/var/log/asterisk/freepbx.log" could not be opened: failed to open stream: Отказано в доступе
Устанавливал 3 раза и каждый раз после перезагрузке такая ошибка. Подскажите в чем мб ошибка?
Даже не знаю, что подсказать. Вот эта ошибка откуда:
" The stream or file «/var/log/asterisk/freepbx.log» could not be opened: failed to open stream: Отказано в доступе"
При заходе в веб интерфейс в браузере какая ошибка на странице?
Прошу прошения это была моя ошибка
[2020-04-22 15:30:18] VERBOSE[5514][C-00000007] pbx.c: Executing [105@from-internal:1] Set("SIP/103-00000005", "__RINGTIMER=15") in new stack
[2020-04-22 15:30:18] WARNING[5514][C-00000007] pbx.c: No application 'Macro' for extension (from-internal, 105, 2)
[2020-04-22 15:30:18] VERBOSE[5514][C-00000007] pbx.c: Spawn extension (from-internal, 105, 2) exited non-zero on 'SIP/103-00000005'
[2020-04-22 15:30:18] WARNING[5514][C-00000007] pbx.c: No application 'Macro' for extension (from-internal, h, 1)
[2020-04-22 15:30:18] VERBOSE[5514][C-00000007] pbx.c: Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/103-00000005'
Подскажите в чем проблема??
Не могу звонить на внутренние телефоны пишет "Deslined"
У вас в диалпалне ошибка.
No application ‘Macro’ for extension (from-internal, 105, 2)
Модуль Macro судя по всему отключен, а в диалплане используется. В последних версиях asterisk этот модуль объявлен deprecated и не работает по-умолчанию.
Я новичок в настройке Asterisk. Не совсем понятно, что мне теперь с этим делать? Я добавил в фал конфиг /etc/asterisk/modules.conf (load = deprecated.so). В файле extensions.conf ни каких настроек диаплана не производил.
В моей статье все подробно расписано - https://serveradmin.ru/nastroyka-servera-telefonii-asterisk-s-nulya/ По ней настроить получится.
Прошу прошения это была моя ошибка. сейчас все работает корректно
Я бы добавил в гайд этот пункт, а то при дефолтной настройке (как у вас указано) внутренние звонки просто не будут работать.
Если что, чтобы установить freepbx, нужно не так:
./install -n
а так:
./install -n --dbuser=root --dbpass=*********
Иначе выдает это:
Error! Invalid Database Permissions. The error was: SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)
По крайней мере, у меня так было.
Это если уже задан пароль root после установки mysql. Если не задавали, то указывать не обязательно.
Понял, да, указывал пароль. Спасибо!
Скажите, а для чего открывались порты 4569 5038 5038? Разве 5060 и 5061 недостаточно?
И еще мини-вопрос, вчера у меня команда установки сервера не срабатывала:
yum install MariaDB-server MariaDB-client MariaDB-shared
пишет:
No match for argument: MariaDB-client
Error: Unable to find a match: MariaDB-client
Сначала так ругался на MariaDB-server, но он мне так и намекнул - "возможно, вы имели в виду mariadb-server" - то есть без заглавных букв.
Почитал, на форумах заграничных пишут о какой-то несовместимости MariaDB с CentOS 8.
В итоге установил только mariadb-server.
Этого будет достаточно для полноценной работы астера и freepbx?
Пока всё это писал, проверил в браузере, откроется ли freepbx.
Увы(((, нет, пишет:
Service Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
Что можно было сделать не так?
Да все, что угодно можно сделать не так :)
Насчет Mariadb ставить можно и без заглавных букв. Она будет установлена из базового репозитория. Это не принципиально в данном случае. Ставьте mariadb и mariadb-server.
Спасибо большое за серию интереснейших статей и за ответ.
Буду продолжать стараться "сделать всё так" :)
Я нашел у вас же статью
https://serveradmin.ru/ustanovka-freepbx-na-centos-8/
Так я это и делал, но всё по инструкции для CentOS 7 !
Может, поэтому у мня и не завелось. Сильные ли отличия в установках на разные версии ЦентОС?
Отличия существенные.
Не совсем понятен этот момент:
"И убедиться, что указан параметр secret с паролем amp111. Если это не так, отредактируйте строку.
secret = amp111"
По умолчанию там стоял длинный хэш-пароль, если его заменить на amp111, то он не будет совпадать с знаением VALUE строки AMPMGRPASS, что и вызовет в правом верхнем углу "Can not connect to asterisk"
Может сталкивались с такой проблемой, после установки FreePbx, в веб интерфейсе, в меню admin, открываю установку дополнительных модулей FreePBX и вижу только стандартный репозиторий, extended и commercial отсутствуют. На 13-й версии таких проблем не было. Не знаете как активировать репозитории?
Сервер стоит за NATом - получаю вот такие запросики - помогите советом как бороться. Белую ІР NATa заменил на ххх.ххх.ххх.ххх Спасибо.
[2019-12-09 23:54:24] SECURITY[41525]: res_security_log.c:116 security_event_stasis_cb: SecurityEvent="InvalidAccountID",EventTV="2019-12-09T23:54:24.275+0200",Severity="Error",Service="PJSIP",EventVersion="1",AccountID="868",SessionID="1959186146-942526862-958636674",LocalAddress="IPV4/UDP/192.168.41.7/5060",RemoteAddress="IPV4/UDP/xxx.xxx.xxx.xxx/57950"
[2019-12-09 23:54:24] SECURITY[41525]: res_security_log.c:116 security_event_stasis_cb: SecurityEvent="ChallengeResponseFailed",EventTV="2019-12-09T23:54:24.275+0200",Severity="Error",Service="PJSIP",EventVersion="1",AccountID="",SessionID="1959186146-942526862-958636674",LocalAddress="IPV4/UDP/192.168.41.7/5060",RemoteAddress="IPV4/UDP/xxx.xxx.xxx.xxx/57950",Challenge="1575928463/66f9abb0be53ff0d8e5207953325da8d",Response="9945442b8e7fa8b317b29349e7bd7df9",ExpectedResponse=""
[2019-12-09 23:54:24] DEBUG[41493]: chan_sip.c:9012 __sip_alloc: Allocating new SIP dialog for 1764a6d31531f3525ab0a42e41475826@[::1]:5160 - OPTIONS (No RTP)
[2019-12-09 23:54:24] DEBUG[41493]: chan_sip.c:8797 change_callid_pvt: SIP call-id changed from '1764a6d31531f3525ab0a42e41475826@[::1]:5160' to '4f9e71d21f4f3cbc0cbd87eb64cb18d1@192.168.41.7:5060'
[2019-12-09 23:54:24] DEBUG[41493]: chan_sip.c:3393 initialize_initreq: Initializing initreq for method OPTIONS - callid 4f9e71d21f4f3cbc0cbd87eb64cb18d1@192.168.41.7:5060
[2019-12-09 23:54:24] DEBUG[41793]: chan_sip.c:4534 __sip_ack: Stopping retransmission on '4f9e71d21f4f3cbc0cbd87eb64cb18d1@192.168.41.7:5060' of Request 102: Match Found
[2019-12-09 23:54:24] NOTICE[20742]: res_pjsip/pjsip_distributor.c:649 log_failed_request: Request 'REGISTER' from '' failed for 'xxx.xxx.xxx.xxx:57950' (callid: 1959186146-942526862-958636674) - No matching endpoint found
Идет постоянно атака - помогите розобраться каким методом строить regex Fail2Ban... либо другими способами. Спасибо.
В fail2ban есть встроенные правила для asterisk. Обычно их достаточно.
Знаю о них но они банят только ІР - а у меня ситуация где ІР натовский а порт рандом. думаю по порту банить на несколько минут - пусть стучится об тейбл) но вот вопрос в том что надо как-то обьяснить fail2ban.
После перезагрузки астериска выдает
reload
No such command 'reload' (type 'core show help reload' for other possible commands)
Где вы эту команду вводите?
в оболочке : asterisk -r
далее reload
Устанавливаю как описано в описании, после установки freepbx все работает, reload тоже работает, как перезагружу север, сразу исчезает эта команда :(
Если вы столкнулись с данной проблемой, то при подключении к web-интерфейсу FreePBX, вы увидите ошибку Can Not Connect to Asterisk. Это значит, что amportal (fwconsole) ждёт от вас правильного пароля, который он берёт из БД. Чтобы решить данную проблему, необходимо ввести следующие команды:
amportal a m
mysql> UPDATE freepbx_settings SET value='amp111' WHERE keyword='AMPMGRPASS';
Здравствуйте, спасибо за статью, но мне не совсем понятно почему вы пишите, что в файле /etc/asterisk/manager.conf нужно пароль прописать amp111, но при этом не говорите, что этот же пароль нужно прописать в самой панели FreePBX в разделе Settings/ Advansing Settings в графе Asterisk Manager Password, иначе мы получаем вверху красную надпись о том что не возможно подключиться к Asterisk.
Потому что в freepbx этот пароль по дефолту установлен. Лично я его специально не вводил нигде в freepbx.
Oct 14 12:40:51 localhost.localdomain systemd[1]: Can't open PID file /var/run/asterisk/asterisk.pid (yet?) after start: No such file or directory
Oct 14 12:40:51 localhost.localdomain systemd[1]: asterisk.service: Supervising process 14275 which is not our child. We'll most likely not notice when it exits.
Как избежать этих ошибок?
Доброго времени суток, возникла ошибка при установке FreePBX
при запуске команды # cd freepbx && ./start_asterisk start возникает цикличный запрос-ответ:
7f6f5c047000-7f6f5c847000 rw-p 00000000 00:00 0 /usr/sbin/safe_asterisk: line 171: 21627 Аварийный останов (core dumped) nice -n $PRIORITY "${ASTSBINDIR}/asterisk" -f ${CLIARGS} ${ASTARGS} > /dev/${TTY} 2>&1 < /dev/${TTY}
открыл файл 171 строку:
Подскажите пожалуйста что не так?
И при переходе по ip-адресу криво загружается страница, в первый раз после установки открылась корректно, а после перезагрузки сервера стало некорректно открывать
Не запустилась # systemctl start httpd
Только что обновил статью с учетом последних ошибок. У меня установка нормально прошла по ней.
Привет, спасибо за информацию, решил попробовать на Centos 8 и попал в тупик
уже и 10.4 прописывал в MariaDB никак все равно....
не пробовал на Centos 8?
[root@localhost ~]# yum install MariaDB-server MariaDB-client MariaDB-shared
Repository mariadb is listed more than once in the configuration
Last metadata expiration check: 0:21:17 ago on Thu 17 Oct 2019 10:07:44 PM +10.
No match for argument: MariaDB-server
* Maybe you meant: mariadb-server
Error: Unable to find a match
Пока нет. Mariadb 10.4 из ее репы не поставить, там баг. Надо ставить из базового репозитория 10.3
попробуйте с командой sudo
у меня пошло. правда тоже поругалось вначале, что надо с маленькой буквы написать mariadb-server. Изменил и все установилось
Дело не в sudo. Написав с маленькой буквы, вы поставили mariadb из базового репозитория, а не самой mariadb, где пакет называется с заглавной. Это может привести к проблемам с зависимостями. Так лучше не делать. Если ставить из базы, то отключать полностью репу mariadb.
DAHDI на CentOS 7 не обновляется в панели freepbx, ошибка PHP не знаю как решить....
Здравствуйте! В процессе установки freepbx вылетает ошибка. Все делаю четко по вашей статье. Вот ошибка:
[root@localhost ~]# cd freepbx && ./start_asterisk start
STARTING ASTERISK
Asterisk is already running
[root@localhost freepbx]# ./install -n
Assuming you are Database Root
Checking if SELinux is enabled...Its not (good)!
Reading /etc/asterisk/asterisk.conf...Done
Checking if Asterisk is running and we can talk to it as the 'asterisk' user...E rror!
Error communicating with Asterisk. Ensure that Asterisk is properly installed a nd running as the asterisk user
Asterisk appears to be running as root
Try starting Asterisk with the './start_asterisk start' command in this director y
Только что обновил статью с учетом последних ошибок. У меня установка нормально прошла по ней.
Может быть такая быть ошибка
radcli: rc_read_config: rc_read_config: can't open /etc/radiusclient-ng/radiusclient.conf: No such file or directory
фиксил так
sed -i 's";\[radius\]"\[radius\]"g' /etc/asterisk/cdr.conf
sed -i 's";radiuscfg => /usr/local/etc/radiusclient-ng/radiusclient.conf"radiuscfg => /etc/radcli/radiusclient.conf"g' /etc/asterisk/cdr.conf
sed -i 's";radiuscfg => /usr/local/etc/radiusclient-ng/radiusclient.conf"radiuscfg => /etc/radcli/radiusclient.conf"g' /etc/asterisk/cel.conf
Да, спасибо. Я эту ошибку ловил, когда в debian устанавливал недавно - https://serveradmin.ru/ustanovka-asterisk-16-na-debian-10/
Решал так же.
добрый день! если пропустить пункты "Настройка Web сервера" и "Установка NodeJS", астериск теоретически должен нормально функционировать? мне просто FreePBX совсем не нужен.
Если нужен голый астериск, то ставьте и настраивайте его по статье - https://serveradmin.ru/nastroyka-servera-telefonii-asterisk-s-nulya/
там 13й астер протестирован. если брать 16й то сразу все зависимые проги тоже нужно брать свежее. боюсь что не заработает. чем эта статья плоха?
Статья не плоха. Если нужен голый 16-то можно и по этой ставить. Разница с 13-й не большая, если я не ошибаюсь.
Добрый день. модуль meetme неработает((( его даже в списке модулей нет. хотя сама ПБХ видит этот модуль.
Владимир, здравствуйте.
Статья реально битая. У меня те же проблемы, что и у остальных. Т.е. следуя скрупулезно данным рекомендациям сервис не запустить.
Очень бы хотелось увидеть Рабочую статью под вашим авторством, а пока достаем админский бубен, под названьем google.
И, кстати, у вас видео в конце не соответствует статье. А в самом его начале, где отключается selinux, вы вводите не "disabled" а "disables")))
Эту статью нереально поддерживать. Там постоянно что-то ломается. Меня утомляет ее обновлять. Тем более видео переснимать. Видео от какой-то старой версии статьи.
подскажите как лучше всего разбить диск при установке Centos под Астериск? или оставить автоматическое разделение?
Не принципиально, если не будете хранить записи разговоров на сервере. Самому астериску хватит системного диска на 20-30 гб на все про все.
Здравствуйте.
Устанавливаю на VMware work station Asterisk 16.5.0 на CentOS 7.6.1810 и добавляю туда FreePBX.
Всё по инструкции, ошибки в процессе не появляются, но FreePBX что-то не отвечает в веб интерфейсе, отвечает Apache тестовой страницей.
Кто то с кем то не подружился, но не пойму кто.
Кто то может помочь?
Конфиги apache надо смотреть. По какой-то причине конфиг freepbx не подцепился.
sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/httpd/conf/httpd.conf - запуск демона httpd от пользователя asterisk
sed -i 's/AllowOverride None/AllowOverride All/' /etc/httpd/conf/httpd.conf - Изменим директиву AllowOverride
systemctl restart httpd
И проблема с 500 улетает
Спасибо за статью!
Вопрос в самом конце когда заходим "..браузером на страницу с ip адресом сервера. Открывается начальная страница freepbx" у меня открывается тестовая страница apache. Подскажите, что я пропустила?
Freepbx у вас не установился. Он сам себя настраивает в apache. Проверяйте, есть ли у вас конфиг для apache от freepbx. Должен быть в директории с httpd.
Переустановила, запустила, но открылась страница Welcome to FreePBX с надписью can not connect to asterisk.
А при проверке статуса asterisk вот такое сообщение (последняя строка - красным цветом):
● asterisk.service - LSB: Asterisk PBX
Loaded: loaded (/etc/rc.d/init.d/asterisk; bad; vendor preset: disabled)
Active: active (running) since Чт 2019-07-25 11:19:57 MSK; 1min 20s ago
Docs: man:systemd-sysv-generator(8)
Process: 1711 ExecStart=/etc/rc.d/init.d/asterisk start (code=exited, status=0/SUCCESS)
Main PID: 1742 (asterisk)
CGroup: /system.slice/asterisk.service
├─1738 /bin/sh /usr/sbin/safe_asterisk
└─1742 /usr/sbin/asterisk -f -vvvg -c
июл 25 11:19:56 asteriskhost systemd[1]: Starting LSB: Asterisk PBX...
июл 25 11:19:57 asteriskhost asterisk[1711]: Starting asterisk:
июл 25 11:19:57 asteriskhost systemd[1]: PID file /var/run/asterisk/asteri....
июл 25 11:19:57 asteriskhost systemd[1]: asterisk.service: Supervising pro....
июл 25 11:19:57 asteriskhost systemd[1]: Started LSB: Asterisk PBX.
июл 25 11:19:59 asteriskhost asterisk[1742]: radcli: rc_read_config: rc_re...y
Аналогичная ситуация:
[root@Asterisk ~]# systemctl status asterisk
● asterisk.service - LSB: Asterisk PBX
Loaded: loaded (/etc/rc.d/init.d/asterisk; bad; vendor preset: disabled)
Active: active (running) since Ср 2019-09-11 12:27:54 +07; 1h 42min ago
Docs: man:systemd-sysv-generator(8)
Main PID: 4519
CGroup: /system.slice/asterisk.service
├─ 4464 /bin/sh /usr/sbin/safe_asterisk
└─24686 sleep 4
сен 11 12:27:53 Asterisk systemd[1]: Starting LSB: Asterisk PBX...
сен 11 12:27:54 Asterisk asterisk[3964]: Starting asterisk:
сен 11 12:27:54 Asterisk systemd[1]: PID file /var/run/asterisk/asterisk.....
сен 11 12:27:54 Asterisk systemd[1]: asterisk.service: Supervising proces....
сен 11 12:27:54 Asterisk systemd[1]: Started LSB: Asterisk PBX.
Hint: Some lines were ellipsized, use -l to show in full.
У вас есть новая почта в /var/spool/mail/root
Что можно сделать?
Только что обновил статью с учетом последних ошибок. У меня установка нормально прошла по ней.
Спасибо за статью, но у меня аналогично, как и у PAVEL: "FreePBX не видит Астериск".
В логах маячит:
freepbx.INFO]: Connection attmempt to AMI failed [] []
Решение: в файле /etc/asterisk/manager.con прописать дефолтный пароль:
[admin]
secret = amp111
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.0
и перезагрузить сервер
Решение: в файле /etc/asterisk/manager.conf
Спасибо за статью, все очень подробно.
Один касяк и не могу понять в чем, все установки прошли штатно без ошибок, но FreePBX не видит Астериск.
в логах вот такая ошибка.
[2019-Jul-08 16:41:04] [freepbx.INFO]: Connection attmempt to AMI failed [] []
[2019-Jul-08 16:41:06] [freepbx.INFO]: Connection attmempt to AMI failed [] []
[2019-Jul-08 16:41:07] [freepbx.INFO]: Connection attmempt to AMI failed [] []
[2019-Jul-08 16:41:09] [freepbx.INFO]: Connection attmempt to AMI failed [] []
[2019-Jul-08 16:41:10] [freepbx.INFO]: Connection attmempt to AMI failed [] []
уже и так и сяк ничего не выходит, и по методу Николая тоже попробовал (хотя сомневался что поможет)
Только что обновил статью с учетом последних ошибок. У меня установка нормально прошла по ней.
Добрый день поставил все по вашей статье но при наборе адреса у меня открывается страничка Apache. Пробовал устанавливать второй раз с ноля но эффект тот же самый. В чем может быть ошибка подскажите плиз
Добрый день, Владимир.
Хочу установить астерикс сервер с нуля по вашей инструкции. На вашем сайте нашел две инструкции. По какой порекомендуете ставить, какая более актуальна?
Эта актуальная. В начале мая я ставил по ней несколько раз, все получилось.
Приветствую!Спасибо за подробную статью. Установка проходила нормально до последнего момента: ./install -n
Выдаёт такую ошибку
Assuming you are Database Root
Checking if SELinux is enabled...Its not (good)!
Reading /etc/asterisk/asterisk.conf...Done
Checking if Asterisk is running and we can talk to it as the 'asterisk' user...Y es. Determined Asterisk version to be: 16.3.0
Checking if NodeJS is installed and we can get a version from it...Yes. Determin ed NodeJS version to be: 10.15.3
Preliminary checks done. Starting FreePBX Installation
Checking if this is a new install...Yes (No /etc/freepbx.conf file detected)
Database Root installation checking credentials and permissions..Connected!
No /etc/odbc.ini file detected. Installing...Done
Empty asterisk Database going to populate it
Updating tables admin, ampusers, cronmanager, featurecodes, freepbx_log, freepbx _settings, globals, module_xml, modules, notifications...Done
Empty asteriskcdrdb Database going to populate it
Initializing FreePBX Settings
Changing AMPMGRPASS [amp111] to match what was given at install time: 94 e708c7cae7873be5d5b1683e3fec4d
PHP Fatal error: Uncaught Error: Call to a member function connected() on null in /root/freepbx/amp_conf/htdocs/admin/libraries/BMO/Framework.class.php:180
Stack trace:
#0 /root/freepbx/amp_conf/htdocs/admin/libraries/utility.functions.php(1090): Fr eePBX\Framework->amiUpdate(false, '94e708c7cae7873...', false)
#1 /root/freepbx/amp_conf/htdocs/admin/libraries/BMO/Config.class.php(1087): fpb x_ami_update(false, '94e708c7cae7873...')
#2 /root/freepbx/amp_conf/htdocs/admin/libraries/BMO/Config.class.php(569): Free PBX\Config->setting_change_special('AMPMGRPASS', '94e708c7cae7873...')
#3 /root/freepbx/installlib/installcommand.class.php(606): FreePBX\Config->set_c onf_values(Array, false, true)
#4 /root/freepbx/amp_conf/htdocs/admin/libraries/Composer/vendor/symfony/console /Command/Command.php(255): FreePBX\Install\FreePBXInstallCommand->execute(Object (Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Ou tput\ConsoleOutput))
#5 /root/freepbx/amp_conf/htdocs/admin/libraries/Composer/vendor/symfony/console /App in /root/freepbx/amp_conf/htdocs/admin/libraries/BMO/Framework.class.php on line 180
После этого установка прерывается. Если заново ввести ./install -n то утсановка проходит успешно! На вебморду заходит, но соединения с астериском нет, страницы конфигураций пустые, т.е. установка получается битой. Сколько искал - не смог найти похожей проблемы. Может подскажите в чём может быть проблема? Судя по логу установки доступ ко всему он получает, но затем вываливается с ошибкой PHP.
После повторной установки перезапустите сервер и все должно будет заработать. Также посмотрите мои предыдущие комментарии и установите драйвер и галочки необходимые
Андрей, мучался много часов с такой же проблемой. Так же ставится только со второго раза. Он пытается прописать в базу данных новый пароль для AMI. Всё просто, надо в /etc/asterisk/manager.conf прописать дефолтный пароль для админа:
[admin]
secret = 'amp111
И перезапустить сервер. Всё.
Спасибо! Я уже снёс эту установку, попробую ещё раз попозже.
Добрый день, после установки по инструкции возникло ряд проблем, asterisk установился и запустился, freepbx установился только со 2-го запуска инсталляции, ошибку забыл скопировать, но просто повторный запуск решил проблему.
Когда все установилось и зашел в freepbx сделал 2 добавочных проверить как работает.
Все ок, они соединились к астериску, когда пытаюсь набрать любой номер он отвечает что номера не существует, это тоже все ок, но когда пытаешься позвонить с добавочного на добавочный или номер который существует просто автоматом ложится трубка, после танцев с бубном выяснил, что модуль app_macro в 16 asterisk не включен по умолчанию, а без него нормально работать не будет.
Собрал астериск включив модуль app_macro, все ок, звонки пошли.
Дальше решил проверить CDR отчет хотел посмотреть как пишутся логи звонков, но был удивлен, там пусто, а это печаль. Искал причину, выяснил что не установлен mysql-connector-odbc. Установил его, по идее должно было все заработать, но нет.
После этого астериск просто запускается падает, потом запускается и опять падает, даже в консоль его попасть невозможно. Если в модулях отключить app_odbc либо удалить mysql-connector-odbc то астериск после этого запускается, но логи не пишутся.
Помогите пожалуйста запустить запись логов в CDR.
P.S. Еще обнаружил что нужно добавить в список устанавливаемых пакетов radiusclient-ng.
А зачем вы ставите руками freepbx, если не очень разбираетесь в теме? Возьмите готовый дистр от разработчиков, где все уже настроено со всеми зависимостями и настраивайте. Описанный тут путь не для новичков. Я сам freepbx не использую, предпочитаю ванильный asterisk.
Владимир, извините, я не хотел вас чем-то обидеть, я описал то с чем столкнулся при установке по Вашему описанию, я Вас ни в коем случае не хотел обидеть, я просто описал свои сложности, прочитав перед этим все комментарии, разобравшись с рядом вопросов с которыми столкнулся, отладив часть моментов и дополнив для себя мануал, поделился с другими пользователями.и если мой отзыв поможет пользователем понять причину и не бросать начатую настройку по сборке из исходников, то это хорошо, так как возможно некоторые столкнулись или столкнутся с такими моментами.
Тут дело не в pbx, маршрутизация не работает без app_mscros даже между внутренними номерами, не будет работать телефония, а Ваша статья как раз об установке данного комплекта программного обеспечения.
Извините, я не в коем случае не хотел Вас обидеть, Ваша статья очень хороша, спасибо за то что сделали ее.
Если я решу проблему с записью логов cdr то обязательно напишу в комментариях к вашей статье. Прошу Вас если не сложно добавить 2 пакета к пункту статьи "Устанавливаем необходимые пакеты для работы сервера voip.", а именно "mysql-connector-odbc, radiusclient-ng" и если можно добавьте пожалуйста в статье в пункт "Установка Asterisk" фото где включить app_macro, вы очень поможете ряду пользователей, за ранее спасибо. Статья превосходная, спасибо большое что смогли найти время, написать ее и отвечать людям на вопросы.
еще прошу прощения, хотел дописать модуль "sox" к устанавливаемым пакетам
Никаких проблем. Пишите, если решите все свои проблемы. За основу этой статьи взято официальное руководство. Я сам дальше установки не двигался, настройку не делал, так что не проверял, что в итоге получается по факту.
Добрый день, я решил проблему с записью логов CDR и падением asterisk после установки mysql-connector-odbc.
Прошу дополнить инструкцию следующим к пункту "Устанавливаем необходимые пакеты для работы сервера voip."
Установим новую версию драйвера mysql-connector-odbc, для этого выполним следующие команды:
Удалим mysql-connector-odbc если он был установлен:
yum remove mysql-connector-odbc
Скачиваем более новую версию драйвера командами:
cd ~
wget http://dev.mysql.com/get/Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.4-1.x86_64.rpm
Установим скачанный драйвер:
yum localinstall --nogpgcheck mysql-connector-odbc-5.3.4-1.x86_64.rpm
Создадим символическую ссылку так как отличается в новой версии драйвера название библиотеки:
ln -s /usr/lib64/libmyodbc5w.so /usr/lib64/libmyodbc5.so
Также установить пакет radiusclient-ng:
yum install radiusclient-ng -y
Также для того чтоб работал диалплан freepbx необходимо включить модуль app_macro во время выполнения команды makemenuselect и поставить галочки на app_mysql и cdr_mysql
Далее продолжаем все как и в инструкции.
еще хотел бы дополнить моментов чтоб пофиксить работы с почтой mail/queue под пользователем root выполнить команду chmod 755 /var/spool/mqueue
Отличный мануал! Все сработало как и должно по статье. Позже астер начал отваливаться, помог очень комментарий тёски, переустановил mysql-connector-odbc и все заработало! Спасибо автору и комментаторам.
Огромное вам спасибо, Антон!!!
Злравствуйте. asterisk установился но совсем другое место. Вот распечатка файла asterisk.conf
[directories]
astetcdir=/etc/asterisk
astmoddir=/usr/lib/asterisk/modules
astvarlibdir=/var/lib/asterisk
astagidir=/var/lib/asterisk/agi-bin
astspooldir=/var/spool/asterisk
astrundir=/var/run/asterisk
astlogdir=/var/log/asterisk
[options]
transmit_silence_during_record=yes
languageprefix=yes
execincludes=yes
dontwarn=yes
[files]
astctlpermissions=775
Подскажите как его запустить.Так как Установка и настройка Freepbx застопорилась
Я несколько раз проверял инструкцию. Она была на 100% рабочая. Могу посоветовать только еще раз все аккуратно сделать с самого начала.
[root@]# contrib/scripts/install_prereq install
Загружены модули: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirror.sale-dedic.com
* epel: mirror.yandex.ru
* extras: mirror.reconn.ru
* remi-php71: mirror.reconn.ru
* remi-safe: mirror.reconn.ru
* updates: mirror.reconn.ru
Пакета с названием speexdsp-devel не найдено.
Пакет MariaDB-devel-10.3.14-1.el7.centos.x86_64 уже установлен, и это последняя версия.
Пакета с названием iksemel-devel не найдено.
Пакета с названием libresample-devel не найдено.
Пакета с названием hoard не найдено.
Выполнять нечего
Вам удалось побороть эти проблемы?
По инструкции все сделал, все запустилось, но при попытке зайти в User control panel выдает ошибку
Not Found
The requested URL /ucp/ was not found on this server.
В FreePBX Administration зайти могу.
разобрался
А как именно ты разобрался?
модуль User control panel поставь
Здравствуйте!
Ставил чистую систему для практики. Решил попробовать настроить Астериск, т.к. большинство вакансий требует знания по нему. Наткнулся на вашу инструкцию по первоначальной настройке ЦентОС и Астериск. Вроде всё сделал по ним: отключил СЕлинукс, обновил систему, установил все необходимые пакеты и всё это через рут. Но страница сначала выдала мне белый экран, а после настройки в php.ini на вывод ошибок в браузере, выдало следующее:
==================================
Warning: session_regenerate_id(): Cannot regenerate session id - session is not active in /var/www/html/admin/config.php on line 71
Warning: session_start(): open(/var/lib/php/session/sess_9k6ffek59pn0v6gctbarc10j0b, O_RDWR) failed: Permission denied (13) in /var/www/html/admin/config.php on line 72
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/session) in /var/www/html/admin/config.php on line 72
Warning: include_once(/etc/freepbx.conf): failed to open stream: Permission denied in /var/www/html/admin/config.php on line 100
Warning: include_once(): Failed opening '/etc/freepbx.conf' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/admin/config.php on line 100
Fatal error: Uncaught Error: Class 'FreePBX' not found in /var/www/html/admin/config.php:110 Stack trace: #0 {main} thrown in /var/www/html/admin/config.php on line 110
==================================
Пытался искать решение проблемы в инете, но ничего.
Я так понимаю, тут какая-то проблема с правами. Дал полные права на папку www в var, но результат такой же. На что ещё мне права выдать?
Из нестандартного: менял имя сервера, сейчас при вводе команд отображается root@CentOS-host. Также, настроил Апач под работу на порту 8080, т.к. 80 порт занят нгинксом.
У вас проблема с правами на директорию с сессиями /var/lib/php/session Сюда должен быть доступ на запись у веб сервера. Ошибка именно в этом.
Хотелось бы услышать ваше мнение по дистрибутиву Issabel.
Впервые о нем слышу.
Спасибо за статью!
Подскажите как настроить Peer to Peer связь между абонентами в FreePBX.
Нашел в Инете заметку http://sashikasuren.blogspot.com/2013/08/peer-to-peer-communication-in-freepbx.html?m=1
Но что то не все пункты есть в версии FreePBX 13.
Спасибо!
Я с Freepbx не работаю, поэтому не подскажу. А что это за связь peer to peer? По ссылке не понял, для чего она.
Голосовой трафик не идёт через сервер pbx. PBX только отдаёт данные по ip адресам телефонов.
Хм.
php7.x ? freepbx уже умеет с php7.x? Точно?
В процессе работы потом косяки не повылазят?
В статье я ставлю 15-ю версию, она умеет работать в php7.1, 14-я точно нет, я проверил. Поэтому не стал ставить 14-ю. Переход на php7 неизбежен, лучше уж сразу на него.
да только User control panel не может в php7
Доброго времени суток и спасибо за инструкцию.
Я новичок.
Во время установки появляются ошибки, может вы поможете разобраться с ними?
Во время установки asterisk:
res_pjsip/config_transport.c: В функции «cipher_name_to_id»:
res_pjsip/config_transport.c:982:24: ошибка: «PJ_SSL_SOCK_MAX_CIPHERS» undeclared (first use in this function)
pj_ssl_cipher ciphers[PJ_SSL_SOCK_MAX_CIPHERS];
^
res_pjsip/config_transport.c:982:24: замечание: each undeclared identifier is reported only once for each function it appears in
res_pjsip/config_transport.c:982:16: предупреждение: неиспользуемая переменная «ciphers» [-Wunused-variable]
pj_ssl_cipher ciphers[PJ_SSL_SOCK_MAX_CIPHERS];
^
res_pjsip/config_transport.c: В функции «handle_pjsip_list_ciphers»:
res_pjsip/config_transport.c:1106:24: ошибка: «PJ_SSL_SOCK_MAX_CIPHERS» undeclared (first use in this function)
pj_ssl_cipher ciphers[PJ_SSL_SOCK_MAX_CIPHERS];
^
res_pjsip/config_transport.c:1106:16: предупреждение: неиспользуемая переменная «ciphers» [-Wunused-variable]
pj_ssl_cipher ciphers[PJ_SSL_SOCK_MAX_CIPHERS];
^
make[1]: *** [res_pjsip/config_transport.o] Ошибка 1
make: *** [res] Ошибка 2
И во время установки FreePBX:
./start_asterisk: line 45: /usr/sbin/safe_asterisk: Нет такого файла или каталога
Я полностью обновил статью и несколько раз проверил. Все ставится без ошибок. Попробуйте установить заново по обновленной статье.
На момент обновления статья "последняя" версия Asterisk 16.
В статье вы пишете: "Скачиваем последнюю версию", и качаете 15-ю.
Почему не 16-я?
Спасибо за замечание. Я просто ошибся. Думал 15-я lts версия, а 16-я временная. До этого несколько версий подряд было так, что выходил lts, потом standart. А тут 2 версии standart вышли. Надо переделать на 16-ю. Я обычно только lts версии ставлю. Но скорее всего никаких изменений не будет, что 15, что 16. Даже 13-я ставится так же.
Да да. Надо переделать статью на 16-ю версию.
Ждем.
Вроде отладил. Задолбался настраивать. То одно, то другое не работает. Но в итоге все получилось. Asterisk 16 + Freepbx 15. Не стал брать 14-ю версию, а то потом опять статью переделывать придется. Взял 15-ю, хоть она еще не зарелижена.
подскажите плиз насколько сильно различия в версия Астера? очень интересна версия 1.8 и ее различие с 16. Для моего проекта основные требования это видеозвонки через цискофоны (по локальной сети) и выход на город через аналог. Абоненнтов расчитывается не более 20. есть ли смысл ставить 1.8 - я слыхал что это самая древняя и досих пор поддерживаемая версия. спасибо
1.8 давно снят с поддержки, еще в 2015 году. Ставить его не рекомендуется. На поддержке сейчас 2 версии:
13-я до 2021-10-24
16-я до 2023-10-09
Рекомендую ставить 16-ю, чтобы подольше не пришлось мигрировать на новую ветку.
Для базового функционала особых отличий между 1.8 и даже 16 лично я не вижу. У меня есть и те и другие серверы. Для того, чтобы просто звонить с sip телефонов, разницу не заметно.
Видеозвонки никогда не настраивал, ничего не скажу о них.
Пошагово следовал за вами, воткнулся в ошибку: что freepbx-у нужен PHP5.6, а влетел PHP5.4
помогла установка 5.6
#yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
#yum-config-manager --enable remi-php56
#yum install php php-mcrypt php-cli php-gd php-curl php-mysql php-ldap php-zip php-fileinfo
Как это по моим шагам? Я в статье php 7.1 ставлю. Даже скриншот приложил с установленными пакетами. Ставлю из репы remi.
да, крайне сранно.. ) Ну ок! У меня в любом случае взлетело.
За статью спасибо!
Скажите, а это вобще нормально, что почти все порты закрыты после установки и по мере необходимости, их надо в iptables открывать? Это центос такой, или руки такие, или что это было? Спасибо!
Тут многие воткнулись в эту проблему, как я погляжу. Если это нормальное поведение, то нужно обязательно в статье об этом написать прям жирным шрифтом и красным выделить.
В Centos по-умолчанию включен firewalld, который разрешает только подключения по ssh. Его надо выключать, если он не нужен, или настраивать. Я про это рассказал отдельно в статье - https://serveradmin.ru/nastroyka-iptables-v-centos-7/
Спасибо за ответ, я бы предложил вам упомянуть этот момент в статье.
Мне понадобился нестандартный порт и несколько часов жизни я потратил на путь до того, что он просто дефолтно закрыт, чего вот совсем не ожидал. Особенно толком не зная, как должен работать астер, можно было предполагать кучу причин и бить в бубен вокруг настроек именно астериска, а не фаервола центос..
Тоже 5.4 встала
Удивительно таинственная вебморда этот FreePBX.
Поставил через ж..
Значит так ставилость на виртуалку VmWare это и помогло победить
После сборки Астериска , нужен был 12 был установлен параллельно
FPBX dicto, откуда и были взяты файлы asterisk.config, manager.conf
При сбоке в них не раскоментирруется все , что нужно
Пароль Sekret просто удалил, росле установки FPBX он записался туда сам
manager.conf
[general]
enabled = yes
port = 5038
bindaddr = 0.0.0.0
displayconnects=no ;only effects 1.6+
[admin]
secret =
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.0
read = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate,message
write = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate,message
writetimeout = 5000
#include manager_additional.conf
#include manager_custom.conf
Снапшот сделан на момент перед установкой FPBX
Убедился , и настроил ,чтобы апач стартовал от astrisk
Без конфигов получил отсутсвие подключения к Астериску, перепрописать пароль изера freepbxuser не удалось.
Откатился на снапшот , подсунул файлики конфигов , все стало и не ругается не при наcтройке ни при сохранении изменений.
Вот еще содержимое
asterisk.conf:
[directories]
astetcdir=> /etc/asterisk
astmoddir=> /usr/lib64/asterisk/modules
astvarlibdir=> /var/lib/asterisk
astdbdir=> /var/lib/asterisk
astkeydir=> /var/lib/asterisk
astdatadir=> /var/lib/asterisk
astagidir=> /var/lib/asterisk/agi-bin
astspooldir=> /var/spool/asterisk
astrundir=> /var/run/asterisk
astlogdir=> /var/log/asterisk
astsbindir=> /usr/sbin
[options]
runuser=asterisk
rungroup=asterisk
documentation_language=en_US
astctlpermissions=0660
astctlowner=root
astctlgroup=apache
astctl=asterisk.ctl
dontwarn=yes
[compat]
pbx_realtime=1.6
res_agi=1.6
app_set=1.6
Ощущение лоха, сменилось не забывамаемым ощущением удачливого лоха. Спасибо автору за мануал.
Добрый день
Сделал всё по инструкции. При входе на вебморду freepbx вижу в правом верхнем углу "Can not connect to Asterisk"
«Can not connect to Asterisk» тоже , как решить, где взять правильный пароль, с кторорым freepbx подключается у к Асериску, как это побороть.
тоже can not connect to asterisk, три раза переустанавливал ((((
Добрый день. Чем обусловлено установка (и, я полагаю, использование) sendmail. Как его дальше готовить (в рамках freepbx)
Привет! После установки FreePBX захожу в браузер открывается панель, создаю логин пароль.
В верхнем углу висит надпись красным
Can Not Connect To Asterisk
Смотрел логи в /var/log/asterisk/freepbx.log там сообщение Connection attempt to AMI failed
В консоли самого астериска вываливается сообщение NOTICE[56801]: manager.c:3484 authenticate: 127.0.0.1 failed to authenticate as 'admin'
Добавлял пользователя в файл manager.conf
Но ничего не выходит.
Еще раз с нуля пересобрал все из исходников как в статье, кроме libpri и dahdi. Собирал на HyperV. Со второго раза все прошло успешно. В процессе компиляции Asterisk после команды make вышла ошибка. Решилась тем что пришлось скачать и пересобрать новую версию PJSIP. После Asterisk нормально встал и далее Freepbx.
Дашбоард все показывает? Apply кнопка работает?
Теперь все работает. Возможно такие траблы были из за того что в menu select не выбирал установку cdr. Вот бы еще гайд по настройке FreePBX.
Привет!
Какая-то ошибка с определением версии
[root@freepbx]# fwconsole reload
Перезагрузка FreePBX
Произошла ошибка(-ки), ниже вывод из retrieve_conf
exit: 1
[FATAL] retreive_conf failed to get engine information and cannot configure up a softwitch with out it. Error: ERROR-UNABLE-TO-PARSE
Ну и на дашборд asterisk "в огне" с ошибками:
- "retrieve_conf не найден, конфигурация не применилась"
- "У Вас 1 повреждённых файла"
You do not appear to have the sources for the ххххххх kernel installed
лечится следующим образом:
# rpm -qa | grep kernel | sort
kernel-3.10.0-862.14.4.el7.x86_64
kernel-3.10.0-862.el7.x86_64 <-----
kernel-devel-3.10.0-862.el7.x86_64
kernel-tools-3.10.0-862.14.4.el7.x86_64
kernel-tools-libs-3.10.0-862.14.4.el7.x86_64
# yum install kernel-devel-xxxxxxxx
в моем случае это будет
# yum install kernel-devel-3.10.0-862.el7.x86_64
после этого можно собирать dahdi
говно-инструкция. если по ней всё делать, при установки любого компонента не создаются каталоги для работы приложений. вообще никакие. в итоге freepbx не установлен, т.к. asterisk не найден. asteriskне установлен, т.к. при установки не создана ни одна папка для работы программы.
Думаю, у вас просто что-то не получилось. Если бы инструкция была не рабочая, то из 72-х тысяч человек, которые ее прочитали, кто-нибудь сказал бы это.
Пока не как автор молчит...
Нет... Наступил на новые грабли :)
Снес все...
Фаервол отключил...
64-битная CentOS 7, минимальная установка.
На этапе сборки Asterisk (make), в самом конце выдает следующее:
res_pjsip/config_transport.c: В функции «cipher_name_to_id»:
res_pjsip/config_transport.c:982:24: ошибка: «PJ_SSL_SOCK_MAX_CIPHERS» undeclared (first use in this function)
pj_ssl_cipher ciphers[PJ_SSL_SOCK_MAX_CIPHERS];
^
res_pjsip/config_transport.c:982:24: замечание: each undeclared identifier is reported only once for each function it appears in
res_pjsip/config_transport.c:982:16: предупреждение: неиспользуемая переменная ciphers» [-Wunused-variable]
pj_ssl_cipher ciphers[PJ_SSL_SOCK_MAX_CIPHERS];
^
res_pjsip/config_transport.c: В функции «handle_pjsip_list_ciphers»:
res_pjsip/config_transport.c:1106:24: ошибка: «PJ_SSL_SOCK_MAX_CIPHERS» undeclared (first use in this function)
pj_ssl_cipher ciphers[PJ_SSL_SOCK_MAX_CIPHERS];
^
res_pjsip/config_transport.c:1106:16: предупреждение: неиспользуемая переменная «ciphers» [-Wunused-variable]
pj_ssl_cipher ciphers[PJ_SSL_SOCK_MAX_CIPHERS];
^
make[1]: *** [res_pjsip/config_transport.o] Ошибка 1
make: *** [res] Ошибка 2
[root@centos7-test asterisk-13.22.0]#
Куда копать?
Аналогичная проблема, как то решили???
В соседней статье, по-моему, с подобным столкнулись. Вот решение от меня - https://serveradmin.ru/nastroyka-servera-telefonii-asterisk-s-nulya/#comment-6430
Спасибо за статью!
Споткнулся на этапе замены звуков...
После команды перехода в каталог со звуками cd /var/lib/asterisk/sounds получаю ошибку, что нет такого каталога...
Что не так?
Вроде бы делал все по инструкции...
Единственное отклонения от инструкции - не ставил драйвера для железок...
Спасибо, всем!
Вопрос снимается - разобрался сам...
При установке Freebpx
как исправить ошибку
Finished setting permissions
Generating default configurations...
Reloading FreePBX
Error(s) have occured, the following is the retrieve_conf output:
exit: 1
Exception: Unable to connect to Asterisk Manager from /var/lib/asterisk/bin/retrieve_conf, aborting in file /var/lib/asterisk/bin/retrieve_conf on line 11
Stack trace:
1. Exception->() /var/lib/asterisk/bin/retrieve_conf:11
Finished generating default configurations
You have successfully installed FreePBX
Где что поменять в конфигах?
через веб морду захожу Advanced Settings там вообще пусто
Респект за статьи,
Не нашел настройку Festival на астериск с русским языком.
Стоит ли ждать в Вашем исполнении?
Накатил. Завис на моменте создания абонентов. Создаю абонента в Application - Extension - Add - Add new chan_sip. При попытке подключиться 3cxphone - говорит:
Translation file OK
Attempting to connect 192.168.0.132
Phone got as local port 52491
Jabra not connected
RTP engine OK
SIP engine OK
Sound mic device OK []
Sound ring device OK []
Sound speaker device OK []
Not connected: Authentication failed
Phone has been disconnected - error: 401
Phone is no longer connected
Мейби не там и не то что-то делаю?
Сообщение Authentication failed намекает на источник проблемы.
Добрый! Когда захожу на сервер FreePBX в правом верхнем углу горит надпись: Whoops\Exception\ErrorException Call to undefined method Error::singleton() File:/var/www/html/admin/modules/dashboard/classes/phpsysinfo/includes/output/class.Output.inc.php:40
А в окне «System Overview» (У меня оно называется «Обзор системы») висит только надпись «There was an error asking for Overview. Check the error logs for more information.». Как можно это исправить
Статья очень полезная. Как и весь сайт в целом. Огромный респект автору!
Подскажите, пожалуйста, как сделать уведомление о записи разговора (проигрывание файла) при исходящем вызове от определенного внутреннего номера?
При гуглении этого вопроса я понял, что через морду freePBX это не сделать, нужно дописать соответствующий маршрут в диалплан. Но вот как конкретно он должен выглядеть я не допёр. Буду очень признателен за помощь!
Вопрос!
Путь: Администратор - Управление модулями
Отображается только "STANDART".
Как добавить Extended и Unsupported ?????
Во время открытия веб-интерфейса выдает такую ошибку
Less_Exception_Parser
HELP
Less.php cache directory isn't writable: /var/www/html/admin/assets/less/cache/
/var/www/html/admin/config.php
ob_end_clean();
//add header
$header['title'] = framework_server_name();
$header['amp_conf'] = $amp_conf;
$header['use_popover_css'] = ($fw_popover || $fw_popover_process);
$o = FreePBX::create()->Less->generateMainStyles();
$header['compiled_less_files'] = $o['compiled_less_files'];
$header['extra_compiled_less_files'] = $o['extra_compiled_less_files'];
Всем привет.
Поигрался я со сборкой из исходников, и понял , что это не имеет смысла. Постоянно выползают косяки. То разрешения слетают, то PHP не той версии и т.д. А самое главное Asterisk не обновляется. По этому я взял Distro от freepbx и забыл о этих проблемах.
Не давно появился Distro на базе CentOS 7.4 , все компоненты протестированы на совместимость. Ставится в ВМ Hyper-V второго поколения ( с отключенной безопасной загрузкой) за несколько минут, Asterisk 13 14 15( на выбор), FreePBX 14. CentOS и Asterisk обновляются до актуальных версий по yum update. Рекомендую, особенно начинающим.
Здравствуйте, сделал всё по данному мануалу, всё стартует нет никаких ошибок. Но, на веб морду никак не могу зайти по IP. Подскажите что упустил.
Немного подумав, и понял что проблема кроется в iptables, доступ был закрыт к 80 порту.
Вот как решить проблему в случае iptables:
заходим в правила: vi /etc/sysconfig/iptables
и добавляем эти параметры:
-A INPUT -m state —state NEW -m tcp -p tcp —dport 80 -j ACCEPT
-A INPUT -m state —state NEW -m tcp -p tcp —dport 443 -j ACCEPT
Важно, что комменты вставлять здесь нельзя! Система на понимает такой синтаксис.
Спасибо добрый человек! 3 дня ищу проблему.
Перерыл тьму сайтов, думал, может все таки где-то накосячил (хотя возможно так оно и есть), НО данное решение помогло!
Error communicating with Asterisk. Ensure that Asterisk is properly installed and running as the asterisk user
Если появилась такая ошибка делаете следующее в /etc/asterisk/asterisk.conf убираете (!), после чего запускаете команду service asterisk stop. после чего пробуете запустить ./start_asterisk start, астериск запустится и только после этого запускаем ./install -n и все должно запустится
Кто не понял, поясню
nano /etc/asterisk/asterisk.conf
удаляете в первой строке
из [directories](!) делаете просто [directories]
сохраняете и далее по тексту запускаете сервис и ./install -n
Проверил и немного подправил статью. Она полностью актуальна на текущий момент. Только что по ней установил панель управления Freepbx.
Добрый день. При заходи на сервер FreePBX в правом верхнем углу отображается красная надпись:
Whoops\Exception\ErrorException
Call to undefined method Error::singleton()
File:/var/www/html/admin/modules/dashboard/classes/phpsysinfo/includes/output/class.Output.inc.php:40
А в окне "System Overview" (У меня оно называется "Обзор системы") висит только надпись
"There was an error asking for Overview. Check the error logs for more information.".
Как можно это исправить
Подскажите что делать в Mysql и пользователем root который без пароля? Я так понимаю, что если изменю пароль, все умрет?
iptables+fail2ban хорошо конечно, что root без пароля - страшно!
Пароль на root будет, его установщик сделает. Так что он будет не пустой.
В самом конце пишет ..Error! Invalid Database Permissions. The error was: could not find driver
Подскажите пожалуйста что делать?
Во время всех операций по установке ошибок не было.
yum install php-mysql
Модуль: "FreePBX Framework", Файл: "/var/www/html/admin/modules/framework/file ошибочный"
!!!!amportal is depreciated. Please use fwconsole!!!!
forwarding all commands to 'fwconsole'
Перезагрузка FreePBX
Произошла ошибка(-ки), ниже вывод из retrieve_conf
exit: 1
Exception: Unable to connect to Asterisk Manager from /var/lib/asterisk/bin/retrieve_conf, aborting in file /var/lib/asterisk/bin/retrieve_conf on line 11
Stack trace:
1. Exception->() /var/lib/asterisk/bin/retrieve_conf:11
Нужно в панели управления зайти в Advanced Settings и изменить Asterisk Manager Password.
Присоединяюсь к проблеме с "пишет модуль » Основа FreePBX» поврежден". Есть ли решение?
Подскажите, пожалуйста. Если на сервере используется только nginx, апача нет. Какие конфиги нужно править и как?
Здесь в двух словах не опишешь. Либо виртуальный хост отдельный настраивать под freepbx, либо алиас для директории.
после первого входа и регистрации в веб морде пишет: У вас один поврежденный файл "Модуль: "FreePBX Framework", Файл: "/var/www/html/admin/modules/framework/file ошибочный""
а логе freepbx.log
[2017-Jun-04 13:56:26] [WARNING] (libraries/modulefunctions.legacy.php:7) - Depreciated Function module_getinfo detected in /var/www/html/admin/libraries/featurecodes.functions.php on line 42
[2017-Jun-04 13:56:26] [WARNING] (libraries/modulefunctions.legacy.php:7) - Depreciated Function module_getinfo detected in /var/www/html/admin/libraries/featurecodes.functions.php on line 42
[2017-Jun-04 13:56:26] [WARNING] (libraries/modulefunctions.legacy.php:7) - Depreciated Function module_getinfo detected in /var/www/html/admin/modules/core/functions.inc.php on line 1009
[2017-Jun-04 13:56:26] [WARNING] (core/functions.inc.php:6433) - Depreciated Function core_users_list detected in /var/www/html/admin/modules/core/functions.inc.php on line 1612
[2017-Jun-04 13:56:26] [WARNING] (core/functions.inc.php:6433) - Depreciated Function core_routing_list detected in /var/www/html/admin/modules/callrecording/functions.inc.php on line 401
[2017-Jun-04 13:56:28] [SECURITY] (BMO/Notifications.class.php:507) - [NOTIFICATION]-[freepbx]-[FW_TAMPERED] - У Вас 1 повреждённых файла (Модуль: "FreePBX Framework", Файл: "/var/www/html/admin/modules/framework/file ошибочный")
[2017-Jun-04 13:56:38] [NOTICE] (BMO/Notifications.class.php:507) - [NOTIFICATION]-[core]-[MEMLIMIT] - Лимит памяти изменён (Ваш лимит использования памяти в 128M был недостаточен, и он был увеличен до 256M, Вы можете изменить этот параметр в файле php.ini)
[2017-Jun-04 13:56:38] [SECURITY] (BMO/Notifications.class.php:507) - [NOTIFICATION]-[freepbx]-[FW_TAMPERED] - У Вас 1 повреждённых файла (Модуль: "FreePBX Framework", Файл: "/var/www/html/admin/modules/framework/file ошибочный")
НЕ подскажете как исправить?
Нужно зайти в модули и все обновить. После этого все заработает
обновил, все равно пишет модуль " Основа FreePBX" поврежден
поставил все как тут сказано.
установилось без ошибок, но подключиться через веб браузер не получается :(
будто веб сервер не запущен или какая то другая служба
тут в коментах писали freepbx автоматом не стартует, нужно руками запускать
как проверить запущена служба или нет? как запустить если служба не запущена?
в линуксе я новичок пока.. :(
такая же фигня
Как всегда все доступно и просто рассказано - молодцы !
Вопрос, Астерикс и факс не могли бы вы про нее описать настройки и т д......
Не могу собрать dogle_chan для Астериска 13. Способ установки брал у вас Астерис+ФриПБХ - ЦентОС 7я
Модуль Huawey E173u-1
а если уже натупила и все таки появилась ошибка Error! Invalid Database Permissions. The error was: SQLSTATE[28000] [1045] Access denied for user ‘root’@’localhost’ (using password: NO) ? можно как нить ее исправить?
Здравствуйте. Безумно благодарен за сайт, такие подробные и толковые инструкции для новичков редко встречаются. Хотел бы внести свои скромные комментарии для тех у кого возникли проблемы при установке(в основном с правами на папки и насчет запуска таки от пользователя apache). У меня получилось установить но с некоторыми дополнениями.
Вот
#Установка Asterisk и FreePBX по мануалу
https://serveradmin.ru/ustanovka-asterisk-i-freepbx-na-centos-7/#_Freepbx
#с той лишь разницей что нам нужно установить FreePBX на отдельный VirtualHost, не в стандартную папку и у нас уже установлен пароль на sql.
#Поэтому НЕ ДЕЛАЕМ вот этого, не меняем пользователя apache
sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/httpd/conf/httpd.conf
#видоизмененная команда установки FreePBX
./install --dbpass="rootsqlpass" --webroot="/web/asterisk" --ampcgibin="/web/asterisk/cgi-bin" -n
#FreePBX меняет все права везде на asterisk:asterisk, могут возникнуть проблемы с другими сайтами, в частности с php.session.path
#после установки FreePBX меняем некоторые права на apache
chown -R apache. /var/lib/php/session
chown -R apache. /web/asterisk
chmod -R 776 /var/lib/php/session/
chmod -R 775 /web/asterisk/
#и добавляем asterisk в группу apache
usermod -a -G apache asterisk
Настройки VirtualHost для FreePBX берем здесь
https://wiki.kubuntu.org/installingFreepbx
После того как зашли на вебморду FreePBX и видим ошибки прав, поможет man
http://wiki.freepbx.org/display/F2/Module+Signing
Выполнить
amportal chown
amportal a ma refreshsignatures
amportal a reload
Если что то пошло не так, удалить FreePBX можно так
http://wiki.freepbx.org/display/FOP/Uninstalling+FreePBX
cd /usr/src/freepbx
./install_amp --uninstall
Да, понял, что в голове у меня каша. Снес все. Начинаю сначала. По шагам. В любом случае, при заведении нового номера в freepbx, 3CXPhone подключался и авторизовывался на сервере. Но звонок сделать не мог, писал Номер не найден. Может не так заводил номера. А продолжение статьи есть? Как настраивать freepbx и как что делать?
У меня нету статьи про настройку freepbx, поэтому придется искать где-то в другом месте. Это не проблема, статей написано много на эту тему.
Спасибо за статью.
Как и многие первый раз все делаю. Сделал все по этой статье. Вроде сервер Asterisk работает Freepbx тоже. Цепляюсь по вэб к нем. Пошел дальше. По вашей другой статье (Asterisk — SIP АТС для офиса, пошаговая инструкция по настройке с нуля) сделал все настройки, поставил 3CXPhone. Делаю на консоле sip show users. Выводит список как и в примере. Дальше настраиваю 3CXPhone на двух компах. Они не проходят авторизацию. Проверяю список подключенных пиров, нет подключенных. Тогда пробую создать новые номера через FreePBX. Созданные номера настраиваются на 3CXPhone, проходят авторизацию. Но звонок не удается. Проходит один гудок и скидывает с сообщение:"Номер не найден". На консоле пишет: NOTICE[3279]: res_pjsip_session c 2124 new_invite: Call from '100' (UDP: мой IP:52400) to extension '101' rejected because extansion not found in context 'from-internal'.
Не понял, как связаны эти две статьи? Тут идет настройка через freepbx, а в той статье через голый asterisk. Одновременно и то и другое работать не будут. Надо что-то одно выбирать. Если управляете через freepbx, то пользоваться только ей нужно.
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Чт 2017-02-02 14:14:24 +05; 3min 38s ago
Docs: man:httpd(8)
man:apachectl(8)
Process: 20166 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE)
Process: 20161 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
Main PID: 20161 (code=exited, status=1/FAILURE)
фев 02 14:14:24 localhost.localdomain systemd[1]: Starting The Apache HTTP...
фев 02 14:14:24 localhost.localdomain httpd[20161]: AH00558: httpd: Could ...
фев 02 14:14:24 localhost.localdomain systemd[1]: httpd.service: main proc...
фев 02 14:14:24 localhost.localdomain kill[20166]: kill: cannot find proce...
фев 02 14:14:24 localhost.localdomain systemd[1]: httpd.service: control p...
фев 02 14:14:24 localhost.localdomain systemd[1]: Failed to start The Apac...
фев 02 14:14:24 localhost.localdomain systemd[1]: Unit httpd.service enter...
фев 02 14:14:24 localhost.localdomain systemd[1]: httpd.service failed.
Hint: Some lines were ellipsized, use -l to show in full.
Лог обрезан, ничего не понятно. Надо смотреть ошибки в лог файле httpd напрямую.
Прошу прощения, весь лог отправил. нет доступа на редактирование.
Вижу ошибки, связанные с именем сервера. Нужно в /etc/hostname указать имя сервера, потом его же указать в /etc/hosts. Должно быт примерно так:
# cat /etc/hostname
server.local
# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
10.1.3.10 server.local
10.1.3.10 - адрес сервера. Если адресов несколько, сделать для каждого ip такую запись. Имя сервера может быть любым.
И еще одна ошибка. У пользователя asterisk нет доступа к файлу /etc/httpd/alias/key3.db Нужно доступ сделать.
И еще куча ошибок с сертификатом. У меня в статье пример без использования защищенного соединения. У тебя судя по всему включен https, но не настроен, отсюда и ошибки, в том числе с сертификатом и именем сервера. Для https это важно.
доступа не было к файлам в папку alias.
Спасибо
ДД!
После добавления пользователей asterisk в httpd
systemctl restart httpd
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.
В чем проблема не можете подсказать?
настройка запуска httpd от пользователя asterisk
Спасибо за статью.
Согласен С Никитой, что без описания настройки автозапуска FreePBX , статья выглядит немного не законченной.
Также на сегодня обновилась libpri-1.5 , по этому правильно использовать
tar xvfz libpri-current.tar.gz и cd /usr/src/libpri-* , иначе получите ошибку.
И есть вопрос, нужно ли вообще устанавливать поддержку DAHDI и Libpri , т.к. это драйвера для контроллеров ( в основном Digium), которые устанавливаются не посредственно в сервер. При установке Asterisk в ВМ , это вообще не актуально.
С уважением
Спасибо за замечания. В следующей редакции статьи учту все комментарии. Жду Centos 8, чтобы все обновить. Надеюсь дождусь в этом году.
Спасибо огромной за статью. Все четко.
Добавлю, что после всех настроек, нужно сделать запуск freePBX в службах:
http://wiki.freepbx.org/display/FOP/Example+systemd+startup+script+for+FreePBX
Иначе, придется после каждого ребута ручками запускать. Данный пункт перед комментами в этой статье http://wiki.freepbx.org/display/FOP/Installing+FreePBX+13+on+CentOS+7
Здравствуйте.
Я ставил FreePBX по вашей инструкции на уже поднятый сервер с астериском. Всё установилось, нигде ошибок не выявлено. Но на веб-морду не заходит, при попытке зайти на ip-адрес сервера после адреса добавляется "/admin/config.php" и выдаёт "HTTP Error 500".
Насколько я понял, что-то не так с правами, но я на всю папку www давал права 0755 и 0777, не помогает.
Подскажите, в чём может быть проблема?
P.S. Шикарный сайт, очень много полезной информации, огромное спасибо.
Вот логи httpd:
По логам видно, что у веб сервера нет прав для записи сессии в папку /var/lib/php/session/ Надо проверить и добавить необходимые права. Популярная ошибка для многих php панелей.
sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php.ini
sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/httpd/conf/httpd.conf
sed -i 's/AllowOverride None/AllowOverride All/' /etc/httpd/conf/httpd.conf
/etc/init.d/httpd restart
Привет! Я, собственно, начинающий и разбираюсь урывками. При установке указал пароль root, который указывать не надо было. Так вот вопрос - что теперь делать? Гугл не помог, возможно гуглю не то... Уж простите за тупые вопросы...
Вот эта ошибка "Важное замечание. На этапе настройки mariadb не указывайте пароль root. Он должен быть пустым. Если его задать, то стандартная установка freepbx закончится ошибкой и сообщением: Error! Invalid Database Permissions. The error was: SQLSTATE[28000] [1045] Access denied for user ‘root’@’localhost’ (using password: NO)"
Если на этапе установки базы данных (при выполнение скрипта /usr/bin/mysql_secure_installation) установили пароль для root. То делай так # ./install -n --root=YourName --dbpass=YourPass1234
Опечатался ) ./install -n --dbuser=root --dbpass=YourPass1234
Добрый день. Делал по этой инструкции. Как и Серж столкнулся с проблемой: Error! Invalid Database Permissions. The error was: SQLSTATE[28000] [1045] Access denied for user ‘root’@’localhost’ (using password: NO)». geekvega подсказал решение немного не точно, команда выглядит так: "./install -n --dbuser=root --dbpass=YourPass1234", после этого все заработало. Спасибо за статью!
Перед dbuser и dbpass вместо длинных прочерков два минуса.
Спасибо за дополнения.
Если не разбираешься, то проще всего и быстрее начать все заново.
Хотел собрать по твоей инсрукции CentOS+Asterisk+PBX
Ставил на VBox. Всё по пунктам строго. На стадии псевдографического меню начались танцы, собственно меню не появилось. (3 попытки с самого начала) но в сообщениях было всё ОК.
Решил продолжить так как ошибок не выдавалось.
Закончилось как у тебя на картинке //serveradmin.ru/wp-content/uploads/2015/10/install-freepbx.png (типа всё ок)
но через веб интерфейс не подключается!
Два дня танцев с бубном не помогли!
Вот думаю это глюк VBox или как?
Взял другой ISO. Уже собранный!
Дистрибутив FreePBX-32bit-10.13.66 встал отлично как дети в школу с первого раза!
Видимо не судьба на виртсервер установить по этой инструкции!
Возможна она устарела. К сожалению, сейчас постоянно все обновляется и материалы очень быстро становятся неактуальными. Что с этим делать лично я не знаю, делаешь пустую работу. Проходит какое-то время и все надо проверять, переделывать. Такая особенность ИТ сферы.
У кого конфигов в /etc/asterisk нет, сделайте
# make samples
из директории с исходниками (/usr/src/asterisk-что-то-там)
В фаервол два раза одно правило прописали.
iptables -A INPUT -p tcp -m tcp --dport 5038 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 5038 -j ACCEPT
Видимо, во второй строке UDP должно было быть. А AMI вообще использует UDP? Или это для чего-то еще порт?
Да, по логике вещей должно быть UDP. Я уже не помню, что это за порт. Сам всегда использую голый астериск, без панелей управления.
-m udp еще в том правиле.
Вообще, я тут погуглил, что это за ключ, нашел, что это дополнительные критерии. Что за критерии я таки не понял, но нигде не видел, чтобы в качестве них использовали tcp или udp. Но iptables не ругнулся. Ради интереса попробовал без этого добавить правило, тоже добавилось. При этом, в таблицу все равно добавилось правило с -m udp. Ну да ладно...
Добрый день! При попытке внести изменения Apache? вводе команд:
sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/httpd/conf/httpd.conf
и др. выдаётся ошибка:
-bash: s/^(User|Group).*/1: Нет такового файла или каталога
sed: -e выражение #1, символ 7: лишние символы после команды
Сиснтаксис ввода команд проверял, пользователь Asterisk создан, данный файл в системе присутствует. В чем дело?
Хорошая статья, спасибо. Возможно стоит добавить про необходимость установки пакетов gcc и gcc-c++, без них make не алё.
Вот эта команда решает вопрос с gcc и gcc+
yum -y groupinstall core base "Development Tools"
Подскажите пожалуйста, при установки freepbx на последнем шаге ./install -n выходит ошибка " Error ! Unable to read /etc/asterisk/asterisk.conf or it was missing a directories section" . Система Linux CentOS-DOM.ru 3.10.0-327.4.4.el7.x86_64 #1 SMP Tue Jan 5 16:07:00 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Зарание благодарен.Спасибо.
По адресу /etc/asterisk/asterisk.conf сам файл то на месте? Возможно астериск по какой-то причине не установился.
Сам файл asterisk.conf лежит в указанном месте с дефолтными настройками . Установка Asterisk прошла штатно. Устанавливал на VirtualBox под CentOS 7.
Доброе время суток. Centos 7 с последними обновлениями. VMware Workstation.
У меня тоже вышла ошибка на последнем шаге установки Freepbx ./install -n
"Reading /etc/asterisk/asterisk.conf...Error!
Unable to read /etc/asterisk/asterisk.conf or it was missing a directories section"
Файл лежит на указанном месте с правами 644, для чтения доступен. Владелец asterik, как пользователь, так и группа.
Выставила на него права 777, ошибка осталась.
Астериск запускала командой /start_asterisk start
STARTING ASTERISK
Asterisk is already running.
Ошибок нет. где можно лог посмотреть? В рунете решения, да и самой ошибки нет, кроме как в комментарии к вашей статье, в англонете есть, но ответ не понятен...
"Full error:
Reading /etc/asterisk/asterisk.conf...Error!
Unable to read /etc/asterisk/asterisk.conf or it was missing a directories section
This occurs after entering the ./install -n command
Using both most current versions via git and tarball.
Looking in the directory I see asterisk.conf is there and owned by Asterisk (running as root)
И, собственно, решение:
Solved. It was a (!) in the file".
Ищу решение, принимаю любые догадки. Очень хочу русский веб-интерфейс, GUI от Астериска пользовалась, больше не буду )))
Заинтриговали ответом из буржунета. Я не смог догадаться о решении по написанному. К сожалению, у меня нет возможности проверять после написания все мои статьи. Со временем они устаревают. Если найду возможность, проверю эту в ближайшее время.
У меня есть в планах создать цикл типичных статей и постоянно их обновлять. Но постоянно попадается что-то новое и интересное, о чем хочется написать. Поэтому конечный список так и не сформировался еще. Возможно в одиночку это непосильная задача.
Zerox, не бейте тапками, установила вот по этой инструкции http://a-rm.ru/materials/unix-servera/ustanovka-freepbx13-asterisk13-na-centos7, все работает.
Это вам на заметку, когда надумаете осуществить свою задумку по обновлению цикла статей.
Поюзала Freepbx, и поняла, что родной GUI не так уж и плох, сделаю по нему инструкцию в ближайшую неделю, для меня тема актуальна, будет нужно вам - поделюсь. Я с Сентосом знакомиться начала по вашим мануалам. Вы - молодец! Спасибо!
Возможно,ошибка в этом [directories](!) в файле /etc/asterisk/asterisk.conf
должно быть [directories]
Может кому поможет.
Юрий спасибо, действительно ошибка была в этом.
Решено.
переместил /etc/asterisk/asterisk.conf
запустил install без ключей
А куда ты его переместил ?
Написал свой контакт на почту, которая указана в регистрации на сайте.
могу задать пару вопросов ?
Можно, конечно. Комментарии для этого и открыты.
спасибо за такой расширенное объяснение !
у меня вопрос есть: у меня на машине имеется 3 (три) сетевые карты (разные сети)
1. смотрит на поставщика услуг телефонии ip 108.125.0.1
2. смотрит на трубки 192.168.1.250
3.под меня для администрирования 192.168.0.106 - он же выход в инет
после установки астер,PBX и после перезагрузки пропадает соединение с поставщиком телефонии и Web-Server тоже падает.
что не так?
Так даже не знаю, что ответить. Установка астериска и pbx никаким образом не влияет на текущие соединения системы. Это просто софт, он не управляет этими параметрами.
Тут надо разбираться. Смотреть логи, почему веб сервер падает. Что со связью с телефонией. Мне еще не совсем понятно, что значит первый линк для телефонии, а третий выход в интернет. А первый разве в интернет не выходит для связи с телефонией?
мы можем пообщаться через другой ресурс, а выход из этой проблемы напишем для всеобщего доступа.