asterisk freepbx настройка ubuntu

Установка Asterisk + Freepbx на Debian/Ubuntu

В настоящее время большую популярность получил сервер голосовой связи Asterisk. Удобнее всего им управлять с помощью web панели администрирования Freepbx. Вопросом установки и настройки этого инструмента я бы и хотел заняться в этой статье. За основу возьмем сервер Debian 8. Установка на сервер Ubuntu будет аналогична с точностью до каждой команды с сервером Debian.

Что такое Freepbx

FreePBX — это удобный GUI (графический интерфейс пользователя), который управляет Asterisk — самым популярным общедоступным программным обеспечением в области компьютерной телефонии. FreePBX является продуктом Open Source, он разработан тысячами добровольцев по всему миру.

На сегодня FreePBX загружен более чем 5 000 000 раз и обслуживает более чем 500 000 активных телефонных систем. Если Вы никогда не слышали про FreePBX, то, вероятно, будете удивлены ее возможностями для Вашего бизнеса.

FreePBX — это основанный на web интерфейс, который позволяет управлять самым популярным на сегодняшний день сервером ip телефонии asterisk. FreePBX выпускается под лицензией GNU и может свободно использоваться конечными пользователями без какого-либо ограничения. Данный продукт является компонентом FreePBX Distro и некоторых других дистрибутивов.

Первый релиз системы 0.2 (28 ноября 2004 года) был назван AMP (Asterisk Management Portal). Но имя пришлось изменить, так как Asterisk является зарегистрированной торговой маркой Digium corporation.

С тех пор вышло множество обновлений, поддерживающие новые версии Astersik, добавлены новые меню и поддержка голосовой почты, очереди звонков, факсов, различных языков, устройств DAHDI и папок пользователей.

Поддерживаемое оборудование включает в себя устройства компаний Aastra Technologies, Algo, AND, AudioCodes, Cisco Systems, Cyberdata, Digium, Grandstream, Mitel, Panasonic, Polycom, Sangoma, Snom, Xorcom, and Yealink.

Что такое Freepbx Distro

FreePBX Distro — open source дистрибутив Linux на базе популярной операционной системы CentOS. Его можно использовать для быстрого разворачивания сервера Asterisk и панели управления Freepbx. Это вариант удобен для тех, кто не очень разбирается в linux и не хочет тратить время на ручную установку всех компонентов, необходимых для полноценной установки freepbx на отдельный сервер.

FreePBX Distro, в отличие от Elastix, выпускается самими разработчиками FreePBX, поэтому более динамично развивается и чаще выпускаются обновления. В него встроены Fail2Ban и IPTables, работает русский язык из коробки, настроен LAMP (Linux/Apache/MySQL).

Я не буду в данной статье касаться настройки системы из этого дистрибутива. Это тема отдельного разговора. Хотя там и говорить особо нечего, установка проходит достаточно просто и быстро.

Подготовка к установке Freepbx

Приступим к установке Freepbx. Предварительно, если вы еще не сделали, вам необходимо установить Debian сервер, а потом его настроить. Мы будем устанавливать на сервер следующей версии:

Первым делом устанавливаем зависимости:

Читайте также:  вокальный микшерный пульт настройка

Установка asterisk 13

Компилируем и устанавливаем pjproject

Компилируем и устанавливаем jansson

Собираем и ставим Astersik 13:

Выскочит окно, указываем код 7, если вы из России:

Продолжаем сборку:

Если все прошло без ошибок, продолжаем:


Выбираем отмеченные мной модули и продолжаем:

Устанавливаем дополнительные звуки:

Установка Freepbx 12

Создаем нового пользователя Asterisk:

Вносим изменения в конфиг apache:

Настраиваем базу данный mysql:

Отвечаем на заданные вопросы. Я везде оставлял значения по-умолчанию, кроме адреса сервера. Пароли не забудьте поставить свои:

Дальше идет установка, не буду приводить вывод. В конце установки будет сообщение:

Идет долгая установка, что-то постоянно качается, распаковывается, устанавливается. В конце у меня вылетела ошибка:

Setting operator panel web root and enabling dev state….
Done
Setting callevents = yes….
Creating client symlink….
Done
Enabling voicemail box polling
PHP Fatal error: Call to a member function send_request() on null in /var/www/html/admin/modules/voicemail/functions.inc.php on line 1154

Так как у меня уже был опыт установки предыдущих версий подобной связки, сразу полез проверять старые болячки. Открываем файл /etc/asterisk/manager.conf и видим в конце две строки:

Меняем # на ; чтобы стало так:

Сохраняем файл и перечитываем конфиг астериска:

Выходим из консоли астериск и запускаем заново установку FreePBX:

Продолжается стандартный процесс, доустанавливается то, что не установилось ранее. В конце получаем сообщение:

Если получили это сообщение, значит установка прошла успешно. Доделываем:

Все, на этом установка закончена. Теперь можно зайти по адресу http://192.168.8.101 и попасть в веб интерфейс freepbx:

Создаем пользователя и заходим в админку с этой учеткой:

На этом установка окончена, можно приступать к конфигурированию. Подробным примером настройки asterisk для чайников может служить моя статья. Хотя в ней речь идет о настройке без использования freepbx, какие-то вещи из статьи можете взять на вооружение.

источник

Установка Asterisk 14 + Freepbx 13 Ubuntu 16.04

Установка Asterisk 14 и FreePBX 13. Первоначальная настройка FreePBX с нуля. Кодек Opus. php5.6. Odbc. Тотальное руководство.

Данное руководство можно использовать, как для установки чистого Asterisk, так и в связке с Freepbx.

При установке системы, на стадии software selection выберите, как минимум openssh. Если выбран LAMP сервер, или позднее, при установке mysql-server из репозитория, вам будет предложено задать пароль root пользователя MySQL. Если оставить поле пустым, задать пароль можно будет после установки FreePBX 13 командой mysql:

или утилитой проверки безопасности:

Задайте пароль root пользователя системы

Получите права супер пользователя

Сделайте апдейт системы

Установите требуемые зависимости

Установка php5.6 вместо php7.0

Ubuntu 16 по умолчанию ставит из репозитория php7.0, а FreePBX с ним не дружит. Если вы планируете использовать не чистый Asterisk, надо установить php5.6.

Перезагрузите сервер, чтобы загрузить свежую версию ядра после апдейта. Если вы уверены, что загружена последняя версия, можно не перезагружать.

Убедитесь, что mod_rewrite включен, чтобы избежать возможных атак.

libmyodbc ubuntu 16.04

Пакета libmyodbc больше нет в репозиториях Ubuntu начиная с версии Xenial.
Скачаем нужный коннектор (требуется регистрация):

источник

Сервер VoIP для небольшой компании (FreePBX 14, Asterisk 15, Ubuntu 16.04) часть 1

Добрый день, вечер или ночь, все зависит от времени суток в который вам довелось прочитать мою статью. Начнем с начала. В нашей компании задумались о переходе на SIP и встал вопрос? как это реализовать.

Читайте также:  настройка тюнера gi s1116

Исходные данные:

  • 15 сотовых номеров, по количеству сотрудников и смартфонов;
  • 2 городских номер от Мегафон(реализован через SIP);
  • До 10 одновременных вызовов;
  • Отсутствие возможности перевода звонков между сотрудниками;
  • Необходимость частых междугородних звонков.

Были рассмотрены несколько вариантов:

  • Оставить всё как есть (сотовые телефоны);
  • Облачная АТС;
  • «Железное» решение;
  • Свой сервер VoIP.

В итоге приняли решение реализовать свой сервер VoIP.

  • Сервер ESXi Dell PowerEdge R230 1xE3-1220v6 2×16Gb 2RUD x4 3×1Tb 7.2K 3.5″;
  • Ubuntu Server 16.04 (минимальная конфигурация, 1Гб памяти, 128 Гб диск), установлен на ESXi 6.5;
  • SIP от zadarma и Мегафон;
  • Сотовые телефоны с SIP клиентами.

Небольшое отступление, по пунктам:

Ubuntu 16.04 у нас являться корпоративным стандартом, сервера Ubuntu Server 16.04, как рабочая OS Ubuntu Desktop 16.04. Основной же сервер построен на базе Zentyal 5.0. Сервера и рабочие ПК устанавливаются по сети по TFTP. Если будет интересно опишу все нюансы установки Zentyal (а их приличное количество).

Аппараты решили не покупать, у каждого сотрудника есть сотовый либо на Android, либо на iOS, так, что проблем с клиентами нет, сотрудники имеют доступ к рабочему Wi-FI. Так же клиенты SIP стоят на рабочих ПК. Так же есть доступ к SIP через Интернет, безопасность тоже учтена, порты подключения изменены, пароли для SIP достаточно сложны.

Переходим к самой сути. В сети полно документации по установке FreePBX 13 на Ubuntu 16.04, А вот каr установить FreePBX 14 нету, даже официальном wiki FreePBX есть только для CentOS 7 и Debian 8.8, но было большое желание и стремление сделать задуманное.

1. Установку Ubuntu Server 16.04 описывать не буду, это просто даже для новичка.

1.1. Все манипуляции я проводил по root sudo su

2. Обновим систему: apt update && apt upgrade -y , если требуется перезагрузка, перегружаемся.

3. Займемся PHP, для FreePBX 14 необходим PHP 5.6, по умолчанию в Ubunty 16.04 идет PHP 7.0

Удаляем весь PHP, если он есть в системе:

sudo apt purge `dpkg -l | grep php| awk ‘‘ |tr «\n» » «`

Устанавливаем репозиторий PHP 5.6:

sudo add-apt-repository ppa:ondrej/php

Обновляемся и устанавливаем PHP:

sudo apt update
sudo apt install php5.6

4. Mysql который идет в репозитории не совместим с FreePBX 14, нам нужна MariaDB, добавим её в репозиторий:

sudo apt-key adv —recv-keys —keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository ‘deb [arch=amd64,i386,ppc64el] http://mirror.mephi.ru/mariadb/repo/10.2/ubuntu xenial main’

5. Нам так же необходим nodejs:

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash —
sudo apt install -y nodejs

6. Установим теперь всё необходимое:

sudo apt install -y build-essential linux-headers-`uname -r` openssh-server apache2 mariadb-server mysql-client bison flex sox libncurses5-dev libssl-dev libmysqlclient-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git subversion unixodbc-dev uuid uuid-dev libasound2-dev libogg-dev libvorbis-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev libspandsp-dev libopus-dev opus-tools libiksemel-dev libiksemel-utils libiksemel3 xmlstarlet

sudo apt install -y php5.6 php5.6-curl php5.6-cli php5.6-mysql php5.6-odbc php5.6-db php5.6-gd php5.6-xml curl libapache2-mod-php5.6 php5.6-mbstring

Читайте также:  кнопки для установки винды с диска

6.1. Пакета libmyodbc больше нет в репозиториях Ubuntu начиная с версии Xenial.

Скачиваем нужный коннектор:

Распакуем:
tar -zxvf mariadb-connector-odbc-3.0.2-ga-debian-x86_64.tar.gz

И скопируем в директорию /usr/lib/x86_64-linux-gnu/odbc/:

cd mariadb-connector-odbc-3.0.2-ga-debian-x86_64/lib
cp libmaodbc.so /usr/lib/x86_64-linux-gnu/odbc/

7. Теперь по рекомендациям FreePBX необходимо перезагрузиться, я этого не делал.

8. Убедимся, что mod_rewrite включен, чтобы избежать возможных атак.

a2enmod rewrite
service apache2 restart

9. Включим поддержку Console_Getopt

pear install Console_Getopt

10. Переходим к установке Asterisk 15 (фактически это часть wiki с FreePBX для Debina 8.8):

cd /usr/src
wget http://sourceforge.net/projects/lame/files/lame/3.98.4/lame-3.98.4.tar.gz &&
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz &&
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz &&
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-15-current.tar.gz &&
git clone https://github.com/akheron/jansson.git &&
wget http://www.pjsip.org/release/2.5.5/pjproject-2.5.5.tar.bz2

Скомпилируем и установим Lame (mp3):

cd /usr/src &&
tar zxvf lame-3.98.4.tar.gz &&
cd lame-3.98.4 &&
./configure &&
make &&
make install

Скомпилируем и установим DAHDI и LibPRI (Мы платы не используем, но кто знает, что захочется потом):

cd /usr/src &&
tar xvfz dahdi-linux-complete-current.tar.gz &&
tar xvfz libpri-current.tar.gz &&
rm -f dahdi-linux-complete-current.tar.gz libpri-current.tar.gz &&
cd dahdi-linux-complete-* &&
make all &&
make install &&
make config &&
cd /usr/src/libpri-* &&
make &&
make install

Скомпилируем и установим pjproject:

cd /usr/src &&
tar -xjvf pjproject-2.*.*.tar.bz2 &&
cd pjproject-* &&
CFLAGS=’-DPJ_HAS_IPV6=1′ ./configure —prefix=/usr —enable-shared —disable-sound\
—disable-resample —disable-video —disable-opencore-amr &&
make dep &&
make &&
make install

Скомпилируем и установим jansson:

cd /usr/src/jansson &&
autoreconf -i &&
./configure &&
make &&
make install

Если вы хотите использовать кодек Opus, перед началом компиляции Asterisk необходимо установить xmlstarlet:

sudo apt install xmlstarlet

Скомпилируем и установим Asterisk:

cd /usr/src &&
tar xvfz asterisk-15-current.tar.gz &&
rm -f asterisk-15-current.tar.gz &&
cd asterisk-* &&
./contrib/scripts/install_prereq install &&
./configure —with-pjproject-bundled —with-crypto —with-ssl=ssl —with-srtp &&
contrib/scripts/get_mp3_source.sh &&
make menuselect

Для себя я выбрал ‘format_mp3’ и ‘res_config_mysql’, а так же включил ‘codec_opus’

Сохраняем изменения и продолжаем установку:

make &&
make install &&
make config &&
ldconfig
update-rc.d -f asterisk remove

Пока все собиралось я успел налить себе кофе и продолжил.

Настроим запуск от имени пользователя ‘Asterisk’

Расcкомментируйте в /etc/default/asterisk:

Создаём пользователя Asterisk и задаём права пользователя:

useradd -m asterisk &&
chown asterisk. /var/run/asterisk &&
chown -R asterisk. /etc/asterisk &&
chown -R asterisk. /var//asterisk &&
chown -R asterisk. /usr/lib/asterisk

11. Переходим к FreePBX 14

sed -i ‘s/\(^upload_max_filesize = \).*/\256M/’ /etc/php/5.6/apache2/php.ini &&
sed -ie ‘s/\;date\.timezone\ \=/date\.timezone\ \=\ «Asia\/Yekaterinburg»/g’ /etc/php/5.6/apache2/php.ini &&
cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig &&
sed -i ‘s/^\(User\|Group\).*/\1 asterisk/’ /etc/apache2/apache2.conf &&
sed -i ‘s/AllowOverride None/AllowOverride All/’ /etc/apache2/apache2.conf &&
systemctl restart apache2

Скачаем и установим FreePBX:

cd /usr/src
wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-14.0-latest.tgz
tar vxfz freepbx-14.0-latest.tgz
rm -f freepbx-14.0-latest.tgz
cd freepbx
touch /etc/asterisk/ari.conf
./start_asterisk start
./install -n

11.1. Для русификации FreePBX необходима локаль ru_RU.UTF-8:

echo «russian ru_RU.UTF-8» >> /etc/locale.alias
locale-gen ru_RU
systemctl restart apache2

12. Создадим скрипт запуска для systemd:

В файл /etc/systemd/system/freepbx.service вставляем:

[Unit]
Description=FreePBX VoIP Server
After=mariadb.service

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/fwconsole start -q
ExecStop=/usr/sbin/fwconsole stop -q

systemctl enable freepbx.service

На этом установка и первоначальная настройка закончена. Будут вопросы, всегда готов ответить.

источник

Оцените статью
Adblock
detector