Взаємодія Tariscope з 3CX v20
Ця стаття призначена для користувачів ліцензій на системи Tariscope Enterprise або Tariscope Provider, з функцією обмеження, яка використовується для керування IP АТС 3CX v20.
Починаючи з версії Tariscope 4.6.7, був розроблений новий сценарій для додатку Tariscope Observer, який передає команди на обмеження абонентів або зняття цих обмежень окремому додатку TSconnector. Цей додаток встановлюється на сервері з 3CX v20, і вже він безпосередньо відправляє команди на цю АТС. Є окремі додатки для Windows і Linux, залежно від того, на якій операційній системі працює 3CX. Для роботи функції обмеження в Tariscope не має значення, на якій системі працює Tariscope, під Windows чи під Linux.
Схема взаємодії білінгової системи (системи обліку викликів) 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/
Взаємодія сценарію для встановлення/зняття обмеження, який працює в Tariscope Observer з додатком TSconnector виконується за допомогою протоколу TCP. TSconnector працює як сервер TCP, а сценарій Tariscope Observer, як клієнт TCP. IP порт, через який працює TCP сервер додатку TSconnector задається в файлі config.json, який є частиною додатку TSconnector. За замовчуванням використовується IP порт 8089. Користувач може його змінити за своїм бажанням.
Потурбуйтеся, щоб цей порт був відкритий як на сервері 3CX, де встановлюється додаток TSconnector, так і на сервері Tariscope.
Встановлення додатку під Windows
Розпакуйте архів tsconnector.zip в якусь теку, наприклад, в теку: C:\TSconnector
Копіюйте в цю теку файл 3CXPhoneSystem.ini
TSconnector виконує дії із встановлення або зняття обмежень, залежно від того, які команди від Tariscope він отримає.
Додаток TSconnector має лише одне налаштування: TCP/IP порт, на якому працює його TCP сервер. За замовчуванням використовується IP порт 8089.
Якщо ви бажаєте змінити його, відкрийте в текстовому редакторі файл config.json, що знаходиться в теці, де був розпакований архів.
В рядку "IPPort": "8089" змініть значення 8089 на бажане.
Відкрийте в Windows Командний рядок з правами адміністратора. Створіть службу Windows наступною командою:
sc create TSconnector binpath= [шлях до файлу tsconnector.exe]
Наприклад, якщо ви розпакували архів до теки C:\TSconnector, то ця команда повинна виглядати наступним чином:
sc create TSconnector binpath= C:\TSconnector\ tsconnector.exe
Запустіть цю службу наступною командою:
sc start TSconnector
У випадку вдалого запуску служби в теці, де розпакований додаток TSconnector, буде створений файл журналу роботи додатку TS_restrictions.log. Перевірте його вміст, що він не містить помилок.
При нормальному запуску журнал додатку буде містити рядки, подібні до наведених нижче:
===========================================
05.03.2026 15:33:43 The TSconnector service has been launched.
05.03.2026 15:33:43 Lookup for 3CXPhoneSystem.ini...
The current folder is C:\temp\TSconnector\
Reading the 3CXPhoneSystem.ini file
Path to the 3CX folder: C:\Program Files\3CX Phone System\Bin
IP port: 8089
C:\Program Files\3CX Phone System\Bin\3cxpscomcpp2.dll
3CX Connection options: 5485, cfguser_default, gev4y8qyjn4ja
C:\Program Files\3CX Phone System\Bin\3cxpscomcpp2.XmlSerializers.dll
05.03.2026 15:33:45 Connection to 3CX API has been completed
05.03.2026 15:33:48 Server has been started on the port = 8089
Waiting for a connection from a client
Останній рядок означає, що TSconnector очікує підключення TCP клієнта, а саме сценарію Tariscope Observer.
Встановлення додатку під Linux
Розпакуйте архів tsconnector.tar.gz у якомусь каталозі, наприклад: /home/softpi/TSconnector (softpi тут ім'я користувача, з яким логінилися до системи).
Скопіюйте у цей каталог файл 3CXPhoneSystem.ini
Зробіть файл TSconnector виконуваним. Для цього в Терміналі перейдіть до каталогу, де розпакували TSconnector і виконайте команду:
chmod +x TSconnector
Створіть файл unit для служби Linux, наприклад, з ім'ям ts-connector.service
Цей файл повинен містити наступні рядки:
[Unit]
Description=Tariscope restrictions
[Service]
Type=simpe
ExecStart=/home/softpi/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 TCPserverIPaddress = "127.0.0.1";
const int TCPserverIPport = 8089;
Для константи TCPserverIPaddress вкажіть IP адресу сервера, де встановлений 3CX.
Для константи TCPserverIPport вкажіть IP порт, який ви задали для роботи TSconnector.
Збережіть зміни.
Після цього, якщо всі інші налаштування системи обмеження в Tariscope зроблені, можна запускати Observer. Після запуску Tariscope Observer відкрийте його журнал.
Журнал повинен містити рядок:
Observer script compilation successful!
Що означає, що сценарій не містить помилок і готовий до роботи.
Як швидко перевірити, що функція обмеження працює
Щоб не чекати, коли якийсь з абонентів вичерпає встановлений йому ліміт на виклики, можна швидко перевірити роботу функції обмеження наступним шляхом.
Створить якогось тестового абонента, який буде мати телефонний номер на 3CX, і якому в Tariscope треба встановити будь-яке обмеження.
Виберіть в меню сторінку Абоненти, на цій сторінці рядок з тестовим абонентом.
Клацніть по іконці Обмеження на панелі інструментів.
На сторінці, що з’явиться, виберіть в таблиці рядок з параметрами обмеження і клацніть по іконці Змінити статус вручну (малюнок 2).

Малюнок 2
В наслідок цього в сценарій Observer-а буде відправлена команда на заборону абоненту на виконання виклику через зовнішні лінії, який передасть цю команду в TSconnector.
Щоб перевірити, чи виконана команда, спробуйте виконати зовнішній виклик з цього номеру. Крім того можна подивитися значення відповідного прапорця в налаштуваннях цього номера в 3CX.
Крім цього інформація про виконання команди з’явиться в журналі Observer і TSconnector.
Якщо команда виконана, то, щоб повернути статус номеру для виконання ним зовнішніх викликів, ще раз клацніть по іконці Змінити статус вручну.
Обмеження на виконання викликів буде знято.
