Курсы по использованию Asterisk

IP-телефония — технология будущего. Обучитесь работе с IP-АТС Asterisk для того чтобы внедрить и профессионально использовать при решении коммуникационных задач.

Работайте с Asterisk профессионально!

Многоуровневая защита IP-АТС Asterisk

Телефонные станции очень часто становятся объектами хакерских атак. Узнайте, каким образом необходимо строить многоуровневую защиту для Вашей IP-АТС.

Не оставьте хакерам шансов. Защитите свой Asterisk от атак.

Используйте Веб-Интерфейс для удобства настройки

Панель управление FreePBX позволяет легко и удобно управлять всей системой. Научитесь эффективно использовать FreePBX для решения своих задач.

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

Научитесь работать с Asterisk из консоли

Для понимания работы с Asterisk необходимо уметь настраивать его вручную с конфигурационными файлами и командной строкой CLI Asterisk.

Научитесь «тонкой» настройке Asterisk

Цель курсов - максимум практики.

Обучение нацелено на практическую работу с IP-оборудованием: платы потоков E1, VoIP-телефонные аппараты, голосовые шлюзы FXS и прочее.

Обучение на реальном оборудовании — залог успеха.

Установка Asterisk 15 и FreePBX 14 из исходников на CentOS7

База знаний Установка Asterisk

В рамках статьи будет рассмотрена сборка новейших на момент написания статьи релизов Asterisk и FreePBX. Так как с выходом FreePBX 14 его производители официально стали поддерживать Centos версии 7, то  и в статье рассматривается установка на данную ОС.

На данный момент не рекомендуется использовать Asterisk 15 в «продакшн» в связи с тем, что вышел он совсем недавно и еще «сыроват».

 

1. Отключение Selinux и обновление системы

Перед началом необходимо выключить Selinux, сделать это можно любым из указанных ниже способов:
а) в файле /etc/selinux/config изменить значение параметра SELINUX= с enforsing на disabled


б) в файле /etc/sysconfig/selinux изменить значение параметра SELINUX= с enforsing на disabled (по сути файл selinux в директории /etc/sysconfig — это симлинк на /etc/selinux/config)

На данном этапе можно установить дополнительные репозитории пакетов: epel и wbtatic

Epel можно установить через yum командой yum -y install epel-release, а webtatic только скачиванием rpm пакета:
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Далее следует обновить систему командой yum update

После завершения обновления необходимо перезагрузить сервер командой reboot

Чтобы убедиться что selinux отключен необходимо выполнить команду sestatus — она выводит состояние selinux

 

2. Установка зависимостей и необходимых утилит

Сначала необходимо создать пользователя asterisk:

adduser asterisk -m

Перед установкой непосредсвенно Asterisk+FreePBX, необходимо установить такие утилиты как:

- mysql в данном случае ставится amriadb

- веб-сервер — apache

- php версии 5.6, так как FreePBX c 14 версии официально объявили поддержку данной версии php

- nodejs

- lame — утилита кодирования аудио

- pjproject — при необходимости использовать pj-sip

- srtp — при необходимости шифрования RTP трафика

 

Групповая установка базовых необходимых инструментов выполняется командами:

yum groupinstall core
yum groupinstall base
yum groupinstall «Development Tools»
(возможно  единой командой yum groupinstall core base «Development Tools»)

 

Установка mariadb и ODBC-коннектора, запуск и первичная настройка mysql

yum install mariadb mariadb-server unixODBC unixODBC-devel mysql-connector-odbc mariadb-devel

Для запуска базы данных необходимо выполнить команду systemctl start mariadb

Далее необходимо добавить в автозагрузку командой sytemctl enable mariadb.service

После этого необходимо произвести первичную настройку безопасности mysql, запустив команду mysql_secure_installation

Рекомендуемые действия после запуска:
- установить root-пароль на mysql

- удалить анонимных пользователей

- оключить удаленную авторизацию под root

- удалить тестовую базу и доступ к ней

Установка php необходимых зависимостей:

yum install php56w php56w-mbstring php56w-ldap php56w-intl php56w-mysql php56-pdo php56w-pear php56w-process php56w-xml php56-opcache php56w-ldap

 

Установка веб-сервера и его минимальная настройка для FreePBX:


yum install httpd

После этого установить в файле /etc/php.ini параметры:


- upload_max_filesize=120M
- date.timezone=“Europe/Moscow“

Запуск веб-сервера и помещение его в автозапуск

systemctl start httpd.service
systemctl enable httpd

Установка остальных зависимостей:

yum install libtool-ltdl-devel  ncurses-devel sendmail sendmail-cf sox newt-devel libxml2-devel libtiff-devel audiofile-devel gtk2-devel kernel-devel kernel-headers git cronie cronie-anacron tftp-server цпуе uuid-devel sqlite sqlite-devel gnutls-devel python-devel texinfo libuuid-devel libxml2-devel libtool-ltdl libtool-ltdl-devel e2fsprogs-devel keyutils-libs-devel krb5-devel libogg libselinux-devel libsepol-devel libxml2-devel libtiff-devel gmp audiofile-devel linx libogg-devel openssl-devel zlib-devel perl-DateManip sox git wget psmisc speex-devel gsm-devel libtool libtool-ltdl xmlstarlet libsrtp-devel crontabs  subversion jansson-devel lame curl curl-devel corosync corosync-devel

Установка nodejs, так как в репозитории по умолчанию находится nodejs версии 1.6, а для FreePBX необходима версия nodejs 8, необходимо выполнить следующие команды:

curl -sL https://rpm.nodesource.com/setup_8.x | bash -
yum install nodejs

 

Скачивание необходимых пакетов исходников

Перейти в раздел /usr/src

cd /usr/src/
wget https://netix.dl.sourceforge.net/project/srtp/srtp/1.4.4/srtp-1.4.4.tgz
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
wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-14.0-latest.tgz

 

Установка SRTP (если необходимо использовать)

tar zxvf srtp-1.4.4.tgz
Далее необходимо заменить в файле /usr/src/srtp/test/rtpw_test.sh строчку RTPW=rtpw на строчку RTPW=./rtpw

cd srtp
autoconf
./configure CFLAGC=-fPIC --prefix=/usr
make
make runtest
make install

 

Установка DAHDI

cd /usr/src/
tar zxvf dahdi-linux-complete-current.tar.gz
cd dahdi-linux-complete-*
make all
make install
make config

 

Установка Libpri
Информер2: данный модуль можно не устанавливать если не планируется использовать цифровые платы  потока Е1)

cd /usr/src/
tar zxvf libpri-current.tar.gz
cd libpri-*
make
make install

 

Установка Asterisk 15

cd /usr/src/
tar zxvf tar zxvf asterisk-15-current.tar.gz
cd asterisk-15*
./contrib/scripts/get_mp3_source.sh
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=/usr/lib64 --with-pjproject-bundled
(также можно добавить следующие параметры, если требуется шифрование: --with-crypto --with-ssl=ssl --with-srtp)
make menuconfig — выбрать для установки необходимые модули (в основном можно оставить все по-умолчанию).

make
make install
make config
ldconfig

Необходимо убрать Asterisk из автозагрузки командой: chkconfig asterisk off, так как в дальнейшем автозапуск будет осуществляться через оснастку frepbx (fwconsole)

 

Перед установкой FreePBX в конфигурационный файл веб-сервера (/etc/httpd/conf/httpd.conf) необходимо добавить параметры:
User asterisk

Group asterisk

Для применения параметров необходимо перезапустить веб-сервер командой systemctl restart httpd.service

 

Установка FreePBX 14

cd /usr/src/
tar xvf freepbx-14.0-latest.tgz
cd freepbx
./start_asterisk start


Информер3: Если в консоли выведено сообщение Asterisk Started, значит все корректно и можно продолжать установку.

Для продолжения установки необходимо запустить скрипт командой

./install

Далее появятся различные запросы на внесение параметров установки — в квадратных скобках даны параметры по-умолчанию, почти на всех параметрах можно нажимать Enter, кроме запроса на root пароль к базе данных, в данном параметре нужно указать пароль, который был установлен на пользователя root базы данных при конфигурировании.

 


На этом установка завершена, далее следует создать юнит для автозагрузки FreePBX.

Для этого в директории /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
 
[Install]
WantedBy=multi-user.target
 

Теперь можно управлять запуском freepbx как любым сервисом systemd

Запуск командой: systemctl start freepbx

Добавление в автозагрузку: enable freepbx.service

Для проверки статуса сервиса необходимо выполнить команду: systemctl enable freepbx.service

 

Теперь можно залогиниься на FreePBX 14 через веб-интерфейс, достаточно в браузере ввести ip-адрес сервера

После логина система выдаст страницу на которой необходимо будет внести данные об админимтраторе веб-интерфейса.

После внесения данных под указанным пользователем можно логиниться во FreePBX 14

 

 

 

asterisk, sip, установка, dahdi, настройка, VoIP, FreePBX, ODBC, GSM, centOS, 1C