Взаємодія 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
Ці зміни потребують перезавантаження PostgreSQL сервера.
Встановлення додатку під 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 перевірте, чи доступний .Net 8.0 на сервері. 3CX V20 використовує .Net 8.0, але .Net 8.0, можливо, був встановлений у Docker разом із 3CX. У цьому випадку .Net 8.0 не буде доступний для інших програм, в тому числі TSconnector. Щоб перевірити доступність .Net, виконайте таку команду:
dotnet --list-runtime
Якщо ви не отримуєте інформацію про встановлення .Net 8.0, встановіть його, як описано у статті.
Розпакуйте архів 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/systemd/system
sudo cp /home/softpi/TSconnector/ts-connector.service /etc/systemd/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.
