Установка и настройка asterisk chan dongle 100% рабочая инструкция

Аватара пользователя
admin
Администратор
Сообщения: 251
Зарегистрирован: 29 апр 2016, 16:12
Имя: Администратор
Откуда: Владикавказ
Контактная информация:

Непрочитанное сообщение 10 май 2020, 22:52

Что будем устанавливать!
  • LAMP
  • Asterisk
  • chan_dongle
  • phpMyAdmin
Перелопатил я очень много форумов и сайтов с подобными статьями и к сожалению не обнаружил ни одной статьи где все работало бы от начала и до конца. Вот и решил создать свою статью а так же записать к ней видео как все это устанавливается, что бы облегчить Вам жизнь)))

Задача у меня возникла такая, в нашем сервисном центре "Цифра Сервис" есть мобильный номер телефона, который уже достаточно давно привязан к нам, и много где указан, как контактный номер, менять его нет возможности! А телефонию ну очень хочется с голосовым меню и записями телефонных разговоров, да и не только для этого! Вот и решил я сделать телефонию на 3g модеме! так как готовое решение покупать нет желания когда есть голова и руки, да и дорогие они все эти решения!

Использовать я буду:

Нетбук
Модем huawei e173
Centos 7 minimal скачать образ iso с нашего сервера


НУ НАЧНЕМ!!!

Чтобы было легче осуществлять настройку, в дальнейшем буду подключаться по ssh. Я подключаюсь через программу PuTTy скачать с нашего сервера!
Нужно запускать все эти команды от пользователя root.
Также нужно отключить selinux. Он может вести себя странно во время установки.

Отключение selinux
Внутри /etc/sysconfig/selinux измените следующие строки:

Код: Выделить всё

sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
Перезагрузитесь
Проверьте статус selinux путем запуска sestatus.

Код: Выделить всё

sestatus
Он должен вывести:
SELinux status: disabled

Установим зависимости

Код: Выделить всё

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Код: Выделить всё

yum -y install kernel-devel kernel-headers \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm \
http://rpms.remirepo.net/enterprise/remi-release-7.rpm yum-utils

Код: Выделить всё

yum-config-manager --enable remi-php56 -y
Копируем все и вставляем в консоль!

Код: Выделить всё

yum install -y e2fsprogs-devel  keyutils-libs-devel krb5-devel libogg \
libselinux-devel libsepol-devel libxml2-devel libtiff-devel gmp php-pear \
php php-gd php-mysql php-pdo php-mbstring ncurses-devel \
audiofile-devel libogg-devel openssl-devel zlib-devel  \
perl-DateManip sox git wget net-tools psmisc

Код: Выделить всё

yum install -y gcc gcc-c++ make gnutls-devel \
libxml2-devel ncurses-devel subversion doxygen \
texinfo curl-devel net-snmp-devel neon-devel  \
uuid-devel libuuid-devel sqlite-devel sqlite \
speex-devel gsm-devel libtool libtool-ltdl libtool-ltdl-devel \
libsrtp libsrtp-devel xmlstarlet

Код: Выделить всё

yum install -y unixODBC unixODBC-devel
Установка MySQL(mariadb)

Устанавливаем MariaDB(MySQL):

Код: Выделить всё

yum -y install mariadb-server mariadb mariadb-devel

Код: Выделить всё

systemctl start mariadb.service 

Код: Выделить всё

systemctl enable mariadb.service
Для нормального отображения кириллицы, скомпилируйте коннектор ODBC проблемы_с_отображением_кириллицы_в_cdr
или просто установите из репо

Код: Выделить всё

yum install -y mysql-connector-odbc

Код: Выделить всё

yum update -y
Опционально. Запускаем интерактивный конфигуратор, вас спросят пароль от root и другое:

Код: Выделить всё

mysql_secure_installation
В ходе выполнения установки вам будет предложено ввести пароль пользователя root в mysql. Введите ранее заданный пароль.

Установка 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
menuselect.png
В целом, можно оставить дефолтную настройку, если вы не очень разбираетесь, что тут выбирать.

Теперь можно запускать установку 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
Заходим в asterisk

Код: Выделить всё

asterisk -rvvvv
Выключаем фаервол и убираем из автозагрузки

Код: Выделить всё

systemctl stop firewalld &&
systemctl disable firewalld
Запускаем сервер http и ставим в автозагрузку:

Код: Выделить всё

systemctl start httpd &&
systemctl enable httpd
Установка phpmyadmin не обязательно но в дальнейшем прийдется работать с mysql а для этого мне удобнее использовать phpmyadmin

Код: Выделить всё

yum install -y phpmyadmin


После установки в каталоге с конфигурациями httpd /etc/httpd/conf.d появляется файл phpMyAdmin.conf. Сохраним сразу на всякий случай оригинальный файл, перед тем как начать его редактировать:

Код: Выделить всё

cp /etc/httpd/conf.d/phpMyAdmin.conf /etc/httpd/conf.d/phpMyAdmin.conf.orig
По-умолчанию, в конфиге закрыт доступ к панели управления для всех адресов, кроме 127.0.0.1. Чтобы открыть доступ для всех, приведите файл к следующему виду:

Код: Выделить всё

nano /etc/httpd/conf.d/phpMyAdmin.conf
Удаляем содержимое и вставляем это:

Код: Выделить всё

Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin

<Directory /usr/share/phpMyAdmin/>
  AddDefaultCharset UTF-8
  Require all granted
</Directory>

<Directory /usr/share/phpMyAdmin/setup/>
  Require all granted
</Directory> 

<Directory /usr/share/phpMyAdmin/libraries/>
  Order Deny,Allow
  Deny from All
  Allow from None
</Directory>

<Directory /usr/share/phpMyAdmin/setup/lib/>
  Order Deny,Allow
  Deny from All
  Allow from None
</Directory>

<Directory /usr/share/phpMyAdmin/setup/frames/>
  Order Deny,Allow
  Deny from All
  Allow from None
</Directory>
Перезапускаем httpd:

Код: Выделить всё

systemctl restart httpd

Теперь установим chan dongle для работы USB модема с asterisk

Код: Выделить всё

mkdir /home/asterisk/install

Код: Выделить всё

cd /home/asterisk/install

Код: Выделить всё

yum install git

Код: Выделить всё

git clone https://github.com/wdoekes/asterisk-chan-dongle.git

Код: Выделить всё

cd asterisk-chan-dongle

Код: Выделить всё

./bootstrap

Код: Выделить всё

./configure --with-astversion=16.10.0 

Код: Выделить всё

sudo make install

Код: Выделить всё

sudo cp dongle.conf /etc/asterisk/
Далее нужно назначить права астериску что бы он мог видеть модем и после каждой перезагрузки сервера он автоматически назначал права на usb модем

Код: Выделить всё

chmod 0666 /dev/ttyUSB*
и создадим файл в дериктории /etc/udev/rules.d/92-dongle.rules с следующими данными

Код: Выделить всё

KERNEL=="ttyUSB*",MODE="0666",OWNER="asterisk",GROUP="uucp"
Просматриваем корректно ли установился наш chan-dongle:

Заходим в астериск

Код: Выделить всё

asterisk -rvvvv
Вводим команду

Код: Выделить всё

dongle show devices
На этом все!

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

Ответить