Инструкция по установке версии 1.2.X

Оглавление:

0. Безопасность установки

1. Системные требования

2. Установка Ioncube

3. Установка базовой системы Pbxunit и отчета «записи разговоров»

4. Установка модуля «Автообзвон»

5. Установка модуля «Автоматические опросы»

6. Установка модуля «Генерация речи»

 

0. Безопасность установки

После установки измените пароль пользователя admin в web-интерфейсе pbxunit, а также проверьте ключ API в конфигурационном файл web-интерфейса значение переменной $_AST_CONFIG['APIKey'] = 'ваш ключ'; должна быть уникальной или начиная с версии 1.2.10 - может быть пустой.

 

1. Системные требования

ОС: Linux (Python 2.X, база данных MySQL или MariaDB, web-сервер Apache и PHP5)

Asterisk: версия начиная от 1.8, до последней версии

FreePBX: версия начиная от 2.10, до последней версии

Перед настройкой Pbxunit у вас должны быть установлены и настроены Asterisk и FreePBX.

В FreePBX должны быть установлены модули: Recordings (Записи), IVR (Интерактивное меню), Queues (Очереди)

Протестировано на: FreePBX v12, FreePBX v13, FreePBX v14

Протестировано на дистрибутивах: FreePBX Distro SNG7-FPBX-64bit, FreePBX Distro 10.13.66-64bit, Debian 8

 

2. Проект защищен Ioncube, необходимо установить загрузчик для web-сервера Apache

Скачайте загрузчик Ioncube для вашей операционной системы по ссылке: https://www.ioncube.com/loaders.php

Пример:

wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

 

Распакуйте архив, пример:

mkdir /usr/local/lib/php5

tar xvf ioncube_loaders_lin_x86-64.tar.gz -C /usr/local/lib/php5

 

Для того, чтобы узнать версию PHP, выполните в операционной системе команду:

php -v

 

Откройте конфигурационный файл php.ini

Пример для FreePBX Distro:

nano /etc/php.ini

Пример для Debian Linux:

nano /etc/php5/apache2/php.ini

Добавьте строку в секцию [PHP], укажите модуль для вашей версии php, пример для версии PHP 5.6:

zend_extension = /usr/local/lib/php5/ioncube/ioncube_loader_lin_5.6.so

 

Перезапустите веб-сервер

Пример для FreePBX Distro:

service httpd restart

Пример для Debian Linux:

service apache2 restart

 

Убедитесь что модуль загружен и появился в списке:

php -v

 

3. Установка базовой системы Pbxunit и отчета «записи разговоров»

Зайдите под пользователем root в командную оболочку вашей ОС.

 

Перейдите в домашний каталог и создайте директорию для установочный файлов:

cd ~

mkdir src

cd src

 

Скачайте архив с последней версией Pbxunit:

wget https://pbxunit.com/downloads/pbxunit-last.tar.gz

 

Распакуйте архив:

tar xvf pbxunit-last.tar.gz

 

Узнайте реквизиты от пользователя базы данных MySQL, у которого есть права на базы asterisk и asteriskcdrdb. Это пользователь root или пользователь заведенный для FreePBX.

Узнать имя пользователя и пароль, можно в конфигурационном файле freepbx:

cat /etc/freepbx.conf

Имя пользователя БД содержится в переменной $amp_conf['AMPDBUSER']

Пароль — в переменной $amp_conf['AMPDBPASS']

 

Перейдите в каталог database из распакованного архива. Введите команду, для импорта таблиц в БД asterisk:

cd ~/src/pbxunit/database

mysql -u <имя пользователя> -p -D asterisk < asterisk.sql

Введите пароль.

 

Для ускорения работы отчетов желательно добавить недостающие инедксы в таблицу cdr, для базы данных asteriskcdrdb. Внимание — если в вашей системе уже содержится большой объем статистики, в таблице cdr, добавление индексов может надолго заблокировать таблицу, запускайте команду с остановленным сервисом Asterisk.

Введите команду, для создания индексов в БД asteriskcdrdb:

mysql -u <имя пользователя> -p -D asteriskcdrdb < asteriskcdrdb_indexes.sql

Введите пароль.

 

Перейдите в каталог web, из распакованного архива. Скопируйте каталог pbxunit в директорию web-сервера:

cd ~/src/pbxunit/web

cp -r pbxunit/ /var/www/html/

 

Отредактируйте конфигурационный файл Pbxunit:

nano /var/www/html/pbxunit/config.php

 

Введите реквизиты от базы данных MySQL:

Для БД asterisk, пример:

$_AST_CONFIG['DBAddr'] = 'localhost';

$_AST_CONFIG['DBPort'] = 3306;

$_AST_CONFIG['DBName'] = 'asterisk';

$_AST_CONFIG['DBUser'] = 'freepbxuser';

$_AST_CONFIG['DBPass'] = 'password';

Для БД asteriskcdrdb, пример:

$_AST_CONFIG['DBAddrCDR'] = 'localhost';

$_AST_CONFIG['DBPortCDR'] = 3306;

$_AST_CONFIG['DBNameCDR'] = 'asteriskcdrdb';

$_AST_CONFIG['DBUserCDR'] = 'freepbxuser';

$_AST_CONFIG['DBPassCDR'] = 'password';

 

Логин и пароль БД вы можете посмотреть в конфигурационном файле FreePBX:

cat /etc/freepbx.conf

 

Полное описание конфигурационного файла: Конфигурационный файл web-интерфейса

 

Если вы хотите прослушивать записи разговоров через flash-плеер, необходимо создать символическую ссылку в web-каталоге pbxuint с именем monitor:

cd /var/www/html/pbxunit/

ln -s /var/spool/asterisk/monitor monitor

Внимание, по умолчанию будет разрешен просмотр всех файлов записей разговоров в web-каталоге, чтобы запретить просмотр каталога, создайте файл .htaccess в каталоге monitor:

cd /var/spool/asterisk/monitor

nano .htaccess

Вставьте содержимое: Options All -Indexes

 

Теперь вы можете войти под учетной записью Администратора в web-интерфейс по адресу:

http://<IP-адрес сервера>/pbxunit/

Логин по умолчанию: admin пароль: pbxunit

 

В разделе "Администрирование -> Модули и лицензии -> Редактировать название компании" введите название вашей компании и сохраните.

 

4. Установка модуля «Автообзвон»

Проверьте версию Python в вашей ОС.

Система Pbxunit работает с Python версии 2.X

python -V

 

Установите библиотеку Python для работы с MySQL.

Пример для FreePBX Distro:

yum install MySQL-python

Пример для Debian Linux:

apt-get install python-mysqldb

 

Установите библиотеку pyst2 для Python:

Примеры для установки через менеджер пакетов pip для Python

Установите менеджер пакетов pip.

Пример для FreePBX Distro:

yum install python2-pip

Пример для Debian Linux:

apt-get install python-pip

Установите библиотеку pyst2: 

pip install 'pyst2'==0.5.0

 

Перейдите в установочный каталог Pbxunit:

cd ~/src/pbxunit

 

Скопируйте каталог с конфигурационным файлом в каталог /etc:

cp -r configs/pbxunit /etc/

Отредактируйте конфигурационный файл:

nano /etc/pbxunit/pbxunit.conf

В разделе [mysql] пропишите пользователя MySQL у которого есть права на базы asterisk и asteriskcdrdb, пример:

db_user=freepbxuser

db_pass=password

 В разделе [ami] пропишите реквизиты от пользователя admin для Asterisk Manager Interface, посмотреть его можно в конфиге /etc/asterisk/manager.conf, пример:

user=admin

pass=amipassword

Для FreePBX версии 13 и выше укажите в разделе [path] путь для директории с звуковыми файлами вместе с кодом языка, например для русского:

sounds=/var/lib/asterisk/sounds/ru

 для версий FreePBX младше 13, оставить по умолчанию:

sounds=/var/lib/asterisk/sounds

 

Полное описание конфигурационного файла: Конфигурационный файл сервисов

 

Скопируйте библиотеки Python в каталог библиотек python вашей версии, пример для версии python 2.7

Пример для FreePBX Distro:

cp -r python-lib/pbxunit/ /usr/lib/python2.7/site-packages/

Пример для Debian Linux:

cp -r python-lib/pbxunit/ /usr/lib/python2.7/

 

Перейдите в каталог modules/autocall/ из установочного архива:

cd ~/src/pbxunit/modules/autocall

 

Введите команду, для дополнительных полей в таблице cdr из БД asteriskcdrdb:

mysql -u <имя пользователя> -p -D asteriskcdrdb < database/asteriskcdrdb.sql

Введите пароль.

 

Файлы из каталога modules/autocall/agi-bin скопируйте в каталог agi-bin Asterisk:

cp agi-bin/* /var/lib/asterisk/agi-bin/

Файлы запуска сервисов из modules/init.d скопируйте в каталог /etc/init.d:

cp init.d/* /etc/init.d/

Сделайте файлы исполняемыми:

chmod a+x /etc/init.d/pbxu_*

 

Добавьте содержимое файла dialplan/extensions_custom.conf в /etc/asterisk/extensions_custom.conf

В секции [pbxu-autocall-dial] измените язык канала на необходимый, пример:

exten => _.,n,Set(CHANNEL(language)=ru)

В секции [macro-pbxu-autocall] вы можете отключить запись статистики CDR при автообзвоне, для этого раскомментируйте строку

#exten => s,n,NoCDR()

При отключении записи в CDR — в отчетах поле «Длительность» отображаться не будет.

 

Перезагрузите план набора Asterisk:

asterisk -x 'dialplan reload'

 

Добавьте сервисы в автозагрузку, пример:

nano /etc/rc.local

Добавьте строки:

/etc/init.d/pbxu_queue_autocall.py restart

/etc/init.d/pbxu_start_autocall.py restart

Для FreePBX Distro, установите права на выполнение для rc.local:

chmod a+x /etc/rc.d/rc.local

 

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

fwconsole chown

 

Запустите сервисы:

/etc/init.d/pbxu_queue_autocall.py start

/etc/init.d/pbxu_start_autocall.py start

 

Для импорта больших файлов с заданиями, вам может понадобиться редактирование файла php.ini в вашей ОС.

Увеличить лимит на загрузку данных до 50 МБ:

post_max_size = 50M

После изменений в php.ini - перезапустите web-сервер.

 

5. Установка модуля «Автоматические опросы»

Предварительно у вас должен быть установлен модуль «Автообзвон».

 

Перейдите в каталог modules/autopolls/ из установочного архива:

cd ~/src/pbxunit/modules/autopolls

 

Файлы из каталога autopolls/agi-bin скопируйте в каталог agi-bin Asterisk:

cp agi-bin/* /var/lib/asterisk/agi-bin/

 

Скопируйте содержимое файла dialplan/extensions_custom.conf в /etc/asterisk/extensions_custom.conf

 

Перезагрузите план набора Asterisk:

asterisk -x 'dialplan reload'

 

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

fwconsole chown

 

6. Установка модуля «Генерация речи»

Необходимые python-библиотеки:

для Google TTS - gTTs (https://github.com/pndurette/gTTS)

для Amazon Polly - boto3 (https://github.com/boto/boto3)

 

Для работы, в вашей ОС должно быть установлено приложение mpg123 - для конвертации файлов. Исполняемый файл должен находиться по пути: /usr/bin/mpg123

 

Примеры для установки через менеджер пакетов pip для Python

Установите менеджер пакетов pip.

Пример для FreePBX Distro:

yum install python2-pip

Обновите pip:

pip install pip --upgrade

Установите библиотеку requests с поддержкой SSL: 

pip install 'requests[security]'

Установите python-библиотеку gTTs для работы Google TTS:

pip install bs4

pip install gtts-token

pip install gTTs

Последние gTTs некорректно устанавливаются через pip и встроенный инсталятор. Скачайте архив с страницы https://pypi.org/project/gTTS/#files и скопируйте библиотеку вручную:

cp -r gTTS-2.0.3/gtts/ /usr/lib/python2.7/site-packages/

Также необходимо своевременно обновлять пакет gtts-token, т.к. системный ключ доступа к сервисам google может измениться

pip install gtts-token --upgrade

 

Установите python-библиотеку boto3 для работы Amazon Polly:

pip install boto3

 

Установите пакет для конвертации из формата ogg для Yandex Cloud Speechkit:

Утилита из него должна находиться по пути: /usr/bin/avconv

Пример для Debian Linux:

apt-get install libav-tools