Взаимодействие Tariscope с 3CX v20
Эта статья предназначена для пользователей лицензий на системы Tariscope Enterprise или Tariscope Provider с функцией ограничения, которая используется для управления IP АТС 3CX v20.
Начиная с версии Tariscope 4.6.7 был разработан новый сценарий для приложения Tariscope Observer, который передает команды на ограничение абонентов или снятие этих ограничений отдельному приложению TSconnector. Это приложение устанавливается на сервере с 3CX v20, и уже оно непосредственно отправляет команды на эту АТС. Есть отдельные приложения для Windows и Linux, зависимо от того, на какой операционной системе работает 3CX. Схема взаимодействия биллинговой системы (системы учета вызовов) Tariscope с 3CX показана на рисунке 1.
Рисунок 1
Все настройки системы ограничения в Tariscope выполняются по-прежнему за исключением выбора сценария и установки приложения TSconnector.
Загрузите с сайта Tariscope соответствующее приложение:
для Windows (tsconnector.zip) или Linux (tsconnector.tar.gz), в зависимости от того на какой операционной системе у вас установлен 3CX.
Для работы приложения TSconnector требуется конфигурационный файл от 3CX: 3CXPhoneSystem.ini
В Windows этот файл должен находиться в папке: C:\ProgramData\3CX\Bin
В Linux этот файл должен находиться в каталоге: /var/lib/3cxpbx/Bin/
Также необходимо предоставить доступ с других компьютеров к серверу PostgreSQL, на котором установлена база данных 3CX. Tariscope и TSconnector не работают с базой данных 3CX, а используют свою базу данных.
Для этого следует внести изменения в файл pg_hba.conf.
В Windows этот файл должен находиться в папке: C:\ProgramData\3CX\Data\DB
В Linux этот файл должен находиться в каталоге: var/lib/postgresql/<версия>/main/
Добавьте новые строки, чтобы разрешить доступ с других IP-адресов.
Например, для разрешения соединений с любого IP-адреса:
host all all 0.0.0.0/0 password
Для разрешения по конкретному IP адресу, например, 192.168.1.100, где установлен Tariscope: host all all 192.168.1.100/32 password
Установка приложения под Windows
Распакуйте архив tsconnector.zip в какую-нибудь папку, например, в папке: C:\TSconnector
Скопируйте файл 3CXPhoneSystem.ini в эту папку
TSconnector выполняет действия по установке или снятию ограничений в зависимости от того, какие команды от Tariscope он получит, с периодом, который задается в файле config.json в секундах. По умолчанию этот период составляет 30 секунд. При необходимости откройте этот файл и измените период.
Откройте в Windows Командную строку с правами администратора.
Создайте службу Windows следующей командой:
sc create TSconnector binpath= [путь в файл tsconnector.exe]
Например, если вы распаковали архив в папку C:\TSconnector, то эта команда должна выглядеть следующим образом:
sc create TSconnector binpath= C:\TSconnector\ tsconnector.exe
Запустите эту службу следующей командой:
sc start TSconnector
В случае успешного запуска службы в этой папке будет создан файл журнала работы приложения TS_restrictions.log. Проверьте его содержимое, что оно не содержит ошибок.
Установка приложения под Linux
Распакуйте архив tsconnector.tar.gz в каком-нибудь каталоге, например: /home/softpi/TSconnector (softpi здесь имя пользователя, с которым логинились в систему).
Скопируйте в этот каталог файл 3CXPhoneSystem.ini
Создайте файл unit для Linux, например, с именем ts-connector.service
Этот файл должен содержать следующие строки:
[Unit]
Description=Tariscope restrictions
[Service]
Type=notify
ExecStart=/home/softpi/TSconnector/TSconnector
[Install]
WantedBy=multi-user.target
Комментарии к содержимому файла:
Description – может быть случайным.
ExecStart – путь к файлу TSconnector из архива.
Скопируйте этот файл в каталог /etc/system/system
sudo cp /home/softpi/TSconnector/ts-connector.service /etc/system/system
Перезагрузите Linux. Следует учитывать, что будут перегружаться все службы, в том числе службы 3CX. Поэтому выберите нужное время.
sudo systemctl daemon-reload
Проверьте состояние демона ts-connector (если вы создадите unit файл для службы с другим именем, используйте это имя и в следующей команде):
sudo systemctl status ts-connector
Если служба неактивна, запустите ее.
sudo systemctl start ts-connector
Если все выполнено правильно, то должен быть статус "active". В этом случае будет создан журнал службы. Журнал работы службы TS_restrictions.log будет находиться в каталоге, где распакован архив.
Настройка сценария Tariscope
В Tariscope выберите Сбор данных/Observer -> Управление сбором данных.
На странице Сбор данных/Observer выберите строку Observer, работающую с 3CX v20.
На панели инструментов щелкните по иконке Изменить и выберите Сценарии Observer.
В списке Событие выберите требуемое, например, Изменение класса абонента, соответствующее условиям лицензии на Tariscope.
В списке Сценарий выберите: setcos-subscriber-3cx-v20.cs
Щелкните по иконке Изменить. Появится окно Редактирования, в котором будет отображен текст сценария.
Найдите там следующие строки и внесите в них соответствующие изменения:
const string DBHost = "127.0.0.1"; //IP address of PostgreSQL server
const string DBPort = "5432"; //IP port of PostgreSQL server
const string MasterDBUser = "phonesystem"; //Database username
const string MasterDBPassword = "pLvjPg8IKUo"; //Database username password
Для константы DBhostукажите IP-адрес, где установлен 3CX.
Для последующих 3-х констант сценария нужно заменить значения а используемые в файле 3CXPhoneSystem.ini в разделе CfgServerProfile.
Сохраните изменения в сценарии.
После этого, если все остальные настройки системы ограничения в Tariscope сделаны, можно запускать Observer.