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

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

Установка Asterisk 14 и FreePBX 13. Первоначальная настройка FreePBX с нуля. Кодек Opus. php5.6. Odbc. Тотальное руководство.
Данное руководство можно использовать, как для установки чистого Asterisk, так и в связке с Freepbx.
При установке системы, на стадии software selection выберите, как минимум openssh.Установка Asterisk 14 + Freepbx 13 Ubuntu 16.04

Если выбран LAMP сервер, или позднее, при установке mysql-server из репозитория, вам будет предложено задать пароль root пользователя MySQL. Если оставить поле пустым, задать пароль можно будет после установки FreePBX 13 командой mysql:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('Password');

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

mysql_secure_installation

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

$ sudo passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password update successfully

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

$ sudo -i

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

apt update && sudo apt upgrade -y

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

apt install -y build-essential linux-headers-`uname -r` openssh-server apache2 mysql-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

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

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

apt install -y software-properties-common python-software-properties
add-apt-repository ppa:ondrej/php
apt  update -y
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
apt install -y php-pear
a2dismod php7.0
a2enmod php5.6
systemctl restart apache2

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

reboot

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

a2enmod rewrite
service apache2 restart

Поддержка Console_Getopt

pear install Console_Getopt

Asterisk 14 установка

Как использовать данное руководство.

Блоки команд с ключом ‘&&’ могут быть скопированы вместе и будут выполняться последовательно. ‘&&’ выполняет переход к следующей команде, при условии успешного выполнения предыдущей. Если вы хотите полностью, пошагово контролировать процесс установки, выполните каждую команду отдельно, без ввода ‘&&’.

Скачайте исходные файлы

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-14-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 &&
echo " ¯_(ツ)_/¯ "

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

cd /usr/src &&
tar zxvf lame-3.98.4.tar.gz &&
cd lame-3.98.4 &&
./configure &&
make &&
make install  &&
echo " ¯_(ツ)_/¯ "

Скомпилируйте и установите 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 &&
echo " ¯_(ツ)_/¯ "

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

Требуется для поддержки драйвера SIP канала PjSIP

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 &&
echo " ¯_(ツ)_/¯ "

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

cd /usr/src/jansson &&
autoreconf -i &&
./configure &&
make &&
make install &&
echo " ¯_(ツ)_/¯ "

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

cd /usr/src && 
tar xvfz asterisk-14-current.tar.gz &&
rm -f asterisk-14-current.tar.gz &&
cd asterisk-* &&
./configure &&
contrib/scripts/get_mp3_source.sh &&
make menuselect
Установка Asterisk 14 + Freepbx 13 Ubuntu 16.04
Установка Asterisk 14 + Freepbx 13 Ubuntu 16.04
После ввода команды make menuselect, вам будет предложено выбрать устанавливаемые модули. Большинство требуемых модулей выбираются автоматически. Для поддержки mp3 включите модуль ‘format_mp3′. ‘res_config_mysql’ вынесено в addons по условиям лицензирования.
В разделе Core Sound Packages выберите поддержку русскоязычных файлов (если требуется) В разделе Extra Sound Packages выберите дополнительные звуковые файлы.

Asterisk 14 + OPUS

Установка Asterisk 14 + Freepbx 13 Ubuntu 16.04
Asterisk 14 поддерживает Opus без дополнительных патчей. Зависимости (xmlstarlet) должны быть установлены до конфигурации. В разделе Codec Translators убедитесь, что модуль кодека доступен для компиляции и отметьте для установки.
Для сохранения нажмите Save & Exit и продолжите установку.
make &&
make install &&
make config &&
ldconfig

Запуск от имени пользователя ‘Asterisk
Расcкомментируйте в /etc/default/asterisk

AST_USER="asterisk"
AST_GROUP="asterisk"

Создайте пользователя Asterisk и задайте права пользователя.

useradd -m asterisk &&
chown asterisk. /var/run/asterisk &&
chown -R asterisk. /etc/asterisk &&
chown -R asterisk. /var/{lib,log,spool}/asterisk &&
chown -R asterisk. /usr/lib/asterisk

Перезагрузите сервер и проверьте состояние Asterisk подключившись к консоли

asterisk -vvvr
Asterisk 14.2.0, Copyright (C) 1999 - 2016, Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk 14.2.0 currently running on ubuntu (pid = 1269)
ubuntu*CLI>

Убедитесь, что Asterisk запущен под своим пользователем:

ps aux | grep asterisk
asterisk  1269  4.7 11.4 1446068 57504 ?       Ssl  07:57   0:07 /usr/sbin/asterisk -U asterisk -G asterisk

FreePBX 13: установка и настройка с нуля

Настроим Apache

sed -i 's/(^upload_max_filesize = ).*/120M/' /etc/php/5.6/apache2/php.ini &&
sed -ie 's/;date.timezone =/date.timezone = "Europe/Moscow"/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

Настроим ODBC

cat >> /etc/odbcinst.ini << EOF
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so
FileUsage = 1
EOF
cat /etc/odbc.ini << EOF
[MySQL-asteriskcdrdb]
Description=MySQL connection to 'asteriskcdrdb' database
driver=MySQL
server=localhost
database=asteriskcdrdb
Port=3306
Socket=/var/run/mysqld/mysqld.sock
option=3
EOF

Скачайте FreePBX

cd /usr/src &&
wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-13.0-latest.tgz
Распакуйте и установите
tar vxfz freepbx-13.0-latest.tgz &&
cd /usr/src/freepbx &&
./install -n

Подключимся к FreePBX

http://IP.Address.FreePBX.Server/admin
Первым делом, вам будет предложено задать имя пользователя и пароль FreePBX

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

Первоначальная настройка FreePBX 13

Advanced Settings

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

Поддержка русского языка в интерфейсе

Чтобы отображался выбор локализаций FreePBX, включите данную опцию в Settings > Advanced Settings:

Show Language setting

Если переключение на русский не работает, выполните следующие действия:

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

Country Indications Tone

Выберите тоны КПВ, занято и тд в российском стандарте, если требуется:
Settings > Anvanced Settings – Dialplan and Operational

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

Speaking Clock Time Format

Установите 24-х часовой формат времени.

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

Ringtime default

Измените время вызова екстеншена по умолчанию, если требуется:

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

Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.