Работа со шлюзами SBC 1000 и SBC 2000 в Tariscope
К биллинговой системе Tariscope добавлена возможность сбора и обработки CDR информации от шлюзов SBC 1000 и SBC 2000 от компании Ribbon Communications.
Эти шлюзы передают данные CDR только на Radius accounting сервер. Поэтому в службе Tariscope Observer был добавлен новый источник данных – Radius accounting сервер. Пакеты данных, передаваемые на Radius accounting сервер, бывают двух типов: Стартовые (Start) и Стоповые (Stop). Обобщенная информация о выполненном вызове содержится только в Стоповых пакетах, поэтому в Tariscope производится только их обработка. Как Стартовые, так и Стоповые пакеты в SBC формируются для каждого участника вызова. Обрабатывается только один стоповый пакет, чтобы избежать дублирования данных в системе Tariscope. Далее мы приведем особенности настройки Tariscope, связанных именно шлюзами SBC 1000 и SBC 2000. В первую очередь нужно создать соответствующую телефонную систему в Tariscope. Для этого в меню выберите: Узлы связи → узел → Устройства → Управление устройствами.
Появится страница Устройства, пример которой приведен на рисунке 1.
Рисунок 1
Щелкните по иконке Добавить на панели инструментов. В появившемся окне Новое устройство введите любое название. Рекомендуется вводить название, соответствующее телефонной системе, например SBC 1000. Щелкните Сохранить. Появится страница Редактирование, показанная на рисунке 2.
Рисунок 2
И, наконец, нужно создать службу Tariscope Observer, которая будет получать CDR данные от SBC шлюзов и выполнять обработку этих данных.
Выберите в меню Сбор данных/Observer → Управление сбором данных. Отобразится соответствующая страница, на панели инструментов нажмите Добавить → Новый Observer. Появится соответствующее окно, где введите название профиля Observer. К примеру, это может быть: SBC 1000. Нажмите Сохранить. Появится окно, подтверждающее создание нового профиля Observer-а, где щелкните по кнопке Настройки. Отобразится страница Настройка Tariscope Observer, пример которой показан на рисунке 3.
Рисунок 3
В позиции Устройство указано «не выбрано», что означает, что вы должны указать телефонную систему из ранее созданных, для которой предназначен этот Observer. Щелкните по ссылке «тут» и выберите нужный узел связи и телефонную систему.
В списке Источник данных выберите значение Radius accounting server. Нажмите кнопку Настройка источника данных, расположенную справа от списка Источник данных. Появится окно Настройка источника данных, пример которого приведен на рисунке 4.
Рисунок 4
В позиции Порт укажите номер IP порта, на котором будет работать сервер Radius accounting. По умолчанию стандартным портом для этого сервера считается 1813. Если у вас есть несколько телефонных систем, которые должны передавать CDR данные в Tariscope через Radius accounting сервер, то для первого Radius accounting сервера используйте порт 1813, а для других Radius серверов – другие IP порты, которые свободны в вашей системе.
В позиции Общий секрет введите значение совместно секрета. Такое же значение должно быть и в настройках телефонной системы, которая будет передавать CDR данные.
Нажмите кнопку Готово.
На этом настройки, специальные для шлюзов SBC 1000 и 2000 закончены. Все остальные настройки в Tariscope выполняйте согласно рекомендациям приведенным в документе Tariscope 4.6. Руководство администратора.
Настройки Observer-ов в Tariscope
Служба Tariscope Observer (или просто Observer) предназначена для автоматического получения информации о выполненных вызовах (CDR, SMDR, AMA и др.) от АТС или из находящихся в какой-то папке файлов, первичной обработки этих данных, а также для выполнения сценариев по отдельным событиям .
То есть Observer является звеном, сочетающим телефонную систему с системой Tariscope. Один Observer предназначен для взаимодействия с одной телефонной системой (АТС). Tariscope не имеет ограничений на количество Observerов, из которых он может получать информацию. Observer может быть сконфигурирован на получение CDR информации из различных типов источников данных, которые описываются ниже. Выбор типа источника данных сначала зависит от типа телефонной системы, из которой получаются CDR данные.
Observer могут находиться как на том же сервере, где находится система Tariscope, так и на удаленном компьютере (сервере), имеющем связь с сервером Tariscope через сеть IP. Любой, локальный или удаленный Observer должен иметь IP связь с сервером Tariscope (служба TS.MAIN) и Microsoft SQL Server (в дальнейшем "SQL сервер"), на котором установлена база данных Tariscope. При запуске Observer он связывается с сервером Tariscope, получает от него строку подключения к базе данных, после чего подключается к базе данных Tariscope. Если у вас используются межсетевой экран или другие системы безопасности, вы должны настроить их так, чтобы обеспечить IP доступ Observer к серверу Tariscope (IP порт: 8001) и SQL серверу (IP порт: 1433, 1434).
В качестве событий, на которые может реагировать Observer, выполнением конкретного сценария могут быть:
- Подключение источника данных.
- Отключение источника данных.
- Смена класса абонента. Это событие актуально, если лицензия Tariscope включает ограничение для абонентов.
- Смена класса групп. Это событие актуально, если лицензия Tariscope включает ограничение для групп или групп и абонентов.
- Периодическое событие.
- Новый вызов обработан. Сценарий по этому событию позволяет выполнить какую-либо дополнительную обработку данных по информации о полученном вызове. Например, можно проверить, не набран ли номер в какой-либо конкретной группе телефонных номеров.
- Ошибка подключения базы данных. Это событие может быть актуально, если Observer и Microsoft SQL Server находятся на разных серверах. При утере связи с базой данных можно отправлять сообщения администратору.
Независимо от того, вы настраиваете локальные Observer-ы или удаленные, нужно выполнить настройки в приложении Tariscope. Эти настройки одинаковы для обоих типов Observer-ов. В дальнейшем будут рассмотрены особенности донастройки удаленных Observer-ов.
В меню Tariscope выберите: Сбор данных/Observer → Управление сбором данных. Появится страница, пример которой приведен на рисунке 1.
Рисунок 1
Добавляем новый Observer. Щелкните по иконке Добавить на панели инструментов. Появится меню, в котором выберите Новый Observer. Появится окно, приведенное на рисунке 2.
Рисунок 2
В позиции Название введите название профайла Observer. Рекомендуем называть профайл именем телефонной системы, из которой этот Observer будет принимать данные. Например, нужно получать данные из CUCM (Cisco). В этом случае лучше и назвать профайл: CUCM. Название не должно содержать каких-либо символов, кроме букв и цифр. Щелкните Сохранить. В подтверждении создания профайла отобразится окно (Рисунок 3).
Рисунок 3
Нажмите кнопку Настройки. Появится окно Настройки Tariscope Observer (название профайла), пример которого показан на рисунке 4.
Рисунок 4
Щелкните по ссылке "тут" и выберите существующую в системе телефонную систему. Для нашего примера это должно быть именно CUCM.
В списке Источник данных выберите соответствующий источник. Для нашего примера если CUCM сконфигурирован как FTP клиент, то в качестве источника данных должен быть FTP сервер. Для других типов телефонных систем в качестве источника данных могут быть: FTP клиент, TCP клиент или сервер, локальная или удаленная папка и другие в зависимости от того, каким образом телефонная система отдает CDR данные. Для настройки параметров источника данных щелкните по кнопке справа от списка Источник данных и выполните настройки. Описание настройки конкретного источника данных см. в документации.
Позиция Хранилище обработанных CDR предназначено для выбора папки для хранения первичных CDR данных, получаемых из телефонной системы. Эти данные могут быть использованы при необходимости полной переработки данных о вызовах. По умолчанию они хранятся в папке C:\ProgramData\Tariscope. Журналы CDR имеют расширение CDR, а название файла включает название профиля Observer и дату.
В списке Период создания выберите период для создания журналов с первоначальными CDR данными. Период создания зависит от активности выполнения звонков. Чем она выше, тем лучше выбирать меньшее время. По умолчанию в качестве периода предлагается один месяц.
В списке Журналирование выберите уровень детализации журнала работы профиля Observer. Наименее подробный уровень – это Статус, наиболее подробный уровень – Настройка.
На этом насстройка локального Observer-а заканчивается. Если вы выполняете настройку удаленного Observer-а, то включите переключатель Удаленный сбор данных.
Щелкните по кнопке Сохранить. Страница Сбор данных/Observer примет вид, как показано на рисунке 5.
Рисунок 5
Если вы создали локальный Observer, его можно запустить, для чего щелкните по иконке Управление и выберите Запустить.
В том случае, когда вы настраивали профайл для удаленного Observer-а, выполните следующие действия.
Работа на удаленном сервере
Перед выполнением настроек на удаленном сервере вы должны:
- Выполнить настройки, указанные выше на сервере Tariscope;
- Если на сервере Tariscope работает файл, добавьте правила, которые обеспечат доступ к IP портам: 8001 (на нем работает сервер Tariscope), 1433, 1434 (порты SQL сервера).
- Убедитесь, что сервер, где установлен Tariscope, доступен по сети с удаленного сервера, где устанавливается удаленный Observer.
На удаленном сервере (компьютере) выполните инсталляцию Tariscope.
При установке на этапе Компоненты Tariscope (рисунок 1.1.5 в статье по приведенной выше ссылке) выберите Observer сервер. По умолчанию установка выполняется в папке: C:\Program Files (x86)\SoftPI\Tariscope
Для запуска удаленного Observer-а вы должны знать:
- IP адрес сервера, где установлен сервер Tariscope. Например, IP адрес сервера Tariscope: 10.10.0.148
- а также название профайла, который там был создан именно для этого Observer-а. В нашем примере это: CUCM
Откройте Командную строку с правами администратора Windows. Выполните там следующие команды:
1. Переход к папке с программным обеспечением. Если вы устанавливали в папку по умолчанию, то это будет команда:
cd C:\Program files (x86)\SoftPI\Tariscope\Microservices
2. Далее запустите удаленный Observer, в качестве параметров укажите название профайла (параметр name) и URL сервера Tariscope (параметр main). Пример такой программы приведен ниже:
.\Tariscope.Observer.exe /name=CUCM /main=”http://10.10.0.148:8001”
В этом примере название профайла CUCM, а URL сервера Tariscope: http://10.10.0.148:8001, где 10.10.0.148 – это IP адрес сервера, а 8001 – IP порт, на котором работает сервер.
Пример такого ввода данных показан на рисунке 6.
Рисунок 6
Если все настройки выполнены правильно и сеть обеспечивает доступ от удаленного Observer-а к серверу Tariscope, то будет выполнено подключение Observer-а к Tariscope и SQL Server-у.
Проверить результат подключения Observer можно в его журнале. Журналы работы Observer-ов, как локальных так и удаленных, ведутся в папке C:\ProgramData\Tariscope\Logs\Observer соответственно на сервере Tariscope или на удаленном сервере. Журнал называется [Название профайла].log. Для нашего примера это будет файл: CUCM.log
Этот журнал создается только после успешного подключения удаленного Observer к серверу Tariscope. Если журнал отсутствует, это означает, что соединение не произошло.
Пример журнала показан на рисунке 7.
Рисунок 7
Убедиться в подключении удаленного Observer-а к Tariscope можно также в Tariscope на странице Observer-ов (рисунок 8). Как видно из рисунка, в столбце Состояние сервиса отображается значение В сети.
Рисунок 8
Вы должны оставить открытым окно Командная строка с работающим удаленным Observer-ом. Закрытие Командной строки приведет к завершению работы Observer-а. И для повторного запуска нужно будет снова загрузить Командную строку и повторить указанные выше команды.
Для создания других удаленных Observerов нужно повторить все указанные выше действия: создать в Tariscope профайл, запустить удаленный Observer с соответствующим названием профайла.
Вы можете запустить удаленные Tariscope Observer-ы в качестве служб Windows. Для этого можно использовать, например, стороннюю программу nssm.
Для создания службы для удаленного Observer запустите программу nssm следующей командой:
nssm install TS.Observer,
где TS.Observer – название создаваемой службы. Если вы создаете несколько служб, то они должны иметь разные названия.
В результате выполнения команды появится окно, приведенное на рисунке 9.
Рисунок 9
В позиции Path введите путь к файлу Observer-а:
C:\Program files (x86)\SoftPI\Tariscope\Microservices\Tariscope.Observer.exe
В позиции Arguments введите параметры Observer: название профайла и URL сервера Tariscope. Для нашего примера это будет:
/name=CUCM /main=http://10.10.0.148:8001
Нажмите кнопку Install service. Создана соответствующая служба Windows, которую нужно запустить из Windows окна Службы (рисунок 10).
Рисунок 10
Импорт кодов и тарифов в Tariscope
Если вы пользователь Tariscope любой редакции Enterprise или Provider, и вас интересует стоимость вызовов, выполненных абонентами ваших телефонных систем, то вы должны добавить в Tariscope данные по тарифам, по которым будут тарифицироваться вызовы.
Если ваша АТС имеет связь с телефонной сетью общего пользования (ТМЗК) через одного оператора телефонной связи, то все вызовы из АТС будут тарифицироваться по тарифам только этого оператора. Если же АТС имеет соединение с разными операторами связи, то тарификация вызова на один и тот же телефонный номер будет зависеть от того, через какого оператор был выполнен этот вызов. Поэтому тарифы в Tariscope привязаны к конкретному оператору связи.
Для пользователей Tariscope Provider, которые сами являются операторами телефонной связи, также следует иметь в виду, что вы можете иметь разные тарифные планы, которые назначаются абонентам, поэтому у абонентов с разными тарифными планами могут быть разные стоимости вызова на один и тот же номер с одинаковой продолжительностью. Для выполнения этого стоимость конкретного тарифа привязывается к тарифному плану.
Чтобы система Tariscope знала, по какому тарифу рассчитывать стоимость конкретного вызова, она обнаруживает телефонный код в набранном номере и находит соответствующий этому коду тариф. Поэтому тариф должен быть привязан к конкретному телефонному коду. Конечно, один тариф может быть привязан ко многим телефонным кодам.
Tariscope содержит данные по нескольким операторам. Поэтому вы можете выбрать какого-либо из этих операторов или создать нового оператора связи на базе существующего, чтобы в дальнейшем внести в него правки в перечень тарифов, их стоимость и привязку к конкретным телефонным кодам.
Кроме этого, вы можете просто создать нового оператора связи, создать для него необходимый перечень тарифов и привязать эти тарифы к телефонным кодам.
И, наконец, данные по тарифам и телефонным кодам можно импортировать из внешних файлов. Именно этот вариант мы рассмотрим в этой статье.
Следовательно, для импорта тарифов и кодов в систему Tariscope вы должны иметь файл одного из следующих форматов:
- Microsoft Excel 2007 (.xlsx).
- Microsoft Excel 2003 (.xls).
- Microsoft Access (.mdb).
- Microsoft Access 2007 (.accdb).
- Разделенные запятой (.csv).
Обычно используются файлы формата Excel. Поэтому мы рассмотрим импорт именно из этого формата файла. Но для других форматов импорт ничем не отличается.
Перечислим минимально необходимые поля для импорта телефонных кодов и тарифов:
- Название для телефонного кода и тарифа. Обычно это название страны или города, или оператора мобильной связи.
- Телефонный код или коды. Если задаются несколько кодов, то вони должны разделяться запятыми.
- Стоимость тарифа.
- Дата. Дата, начиная с которой тариф является действительным. Если дата будет отсутствовать, то при импорте будет подставляться текущая дата, заданная в компьютере.
Дополнительно могут быть указаны и другие поля, которые мы упомянем далее.
Пример файла формата Excel для импорта кодов и тарифов показан на рисунке 1.
Рисунок 1
В нем столбец A содержит название кода и тарифа, столбец B – стоимость тарифа в долларах, столбец C – телефонные коды, столбец D – дату, с которой действует тариф, столбец E - код, который соответствует типу вызова.
В Tariscope используются следующие коды для типов вызовов:
3 - городские;
4 - междугородние;
5 - международные;
6 - мобильные.
Перед началом импорта вы должны иметь тарифный план, в который будет выполняться импорт тарифов.
Давайте создадим нового оператора связи и выполним импорт данных из файла формата Excel.
Для создания нового оператора связи выберите в меню Операторы и тарифы -> Управление операторами. Появится страница Операторы, пример которой приведен на рисунке 2.
Рисунок 2
Щелкните по иконке Добавить на панели инструментов. Появится окно Новый оператор, где в позиции Название введите название оператора связи. Мы создадим оператора Test 001. При необходимости добавить комментарий к этому названию, введите его в позиции Описание. Щелкните Сохранить. Новая строка появится на странице Операторы.
Затем перейдите на страницу Общие телефонные коды, пример которой приведен на рисунке 3.
Рисунок 3
Щелкните по иконке Мастер импорта на панели инструментов. Появится страница Мастер импорта, пример которой приведен на рисунке 4.
Рисунок 4
Щелкните по кнопке Старт. В результате чего страница примет вид, показанный на рисунке 5.
Рисунок 5
В списке Тип файла выберите тип файла с кодами и тарифами. Щелкните по кнопке Выбрать и выберите этот файл. После чего щелкните Далее.
Если вы выбрали файл типа Excel, то следующий шаг (Рисунок 6) позволит вам в перечне Доступные таблицы выбрать лист, содержащий необходимые данные в этом файле.
Рисунок 6
Щелкните Далее, и страница мастера импорта примет вид, как показано на рисунке 7.
Рисунок 7
В списке Код следует выбрать столбец, содержащий телефонный код или коды. В приведенном примере это столбец под названием Numbering plan.
Список Название используется для названия населенного пункта или мобильного оператора связи, которому принадлежат телефонные коды. В приведенном примере это столбик с названием Destination.
В перечне Название тарифа в большинстве случаев следует выбрать то же значение, что и в предыдущем. Для нашего примера это столбик под названием Destination.
В перечне Тариф следует выбрать столбец, содержащий стоимость тарифа. Для нашего примера это столбик с новой Rates in USD per minute.
Если в файле для импорта имеется столбец, содержащий сведения о типе вызова: международный, междугородний, мобильный и т.д., выберите этот столбец в списке Тип вызова. Это необязательный параметр.
Любой телефонный код можно привязать к созданной категории вызовов. Наличие категории может позволить отфильтровать вызовы по ним, создавать специальные отчеты, а также устанавливать ограничения для абонентов, если лицензия на Tariscope содержит функцию ограничения. Для установки категории телефонного кода выберите ее в списке Категория. Это необязательный параметр. Файл примера не имеет соответствующего столбца.
В списке Действует с выберите столбец с датой, с которой начинает действовать телефонный код. В приведенном примере это столбец Effective Date. Если в файле для импорта нет столбца, то при импорте будет установлена текущая дата в качестве даты начала действия телефонного кода.
Если файл импорта содержит столбец с датой, до которой действует телефонный код, выберите этот столбец в списке Действует по. Это необязательный параметр.
Tariscope может тарифицировать как исходящие, так и входящие вызовы. Для каждого из них используются отдельные тарифы. Соответственно, вы должны выбрать, для какого типа вызовов будут импортироваться тарифы: для исходящих (в файле для импорта должно быть значение 0) или входящих (в файле для импорта должно быть значение 1). Если такого поля в файле нет, ничего не выбирайте в позиции Направление тарифа. В этом случае будут пониматься исходящие вызовы.
В списке Действует с (тариф) выберите столбец с датой, с которой начинает действовать тариф. В приведенном примере это столбец Effective Date. Если в файле для импорта нет столбца, то при импорте будет установлена текущая дата в качестве даты начала действия тарифа.
Таким образом, для нашего примера следует выполнить выбор, как показано на рисунке 8.
Рисунок 8
Щелкните Далее. Страница мастера примет вид, пример которого представлен на рисунке 9.
Рисунок 9
Это последние настройки импорта.
Если нужно импортировать как телефонные коды, так и тарифы, то переключатель Импортировать только коды нужно выключить.
В списке Оператор следует выбрать оператора, в которого будет выполнять импорт тарифов. Мы создали оператора Test 001, которого и выбрали.
В списке План по умолчанию следует выбрать тот план, к которому будут относиться стоимость тарифов.
В позиции Валюта выберите ту, в которой заданы тарифы в файле для импорта. В нашем файле это доллары США (USD).
Если вы оператор связи (используете Tariscope Provider), и желаете, чтобы вызовы по всем тарифам, которые будут созданы, начислялись на лицевой счет абонента за месяц под одним названием, например "Международные вызовы", то введите это название в позиции Описание для счетов.
Если нужно, чтобы выполнялась тарификация с точностью до секунд, то выключите переключатель Округление до минут.
Переключатель Обновить тарифы является актуальным при обновлении данных по ранее введенным тарифам. В этом случае следует включить переключатель. Если он выключен, то будут добавляться только новые телефонные коды и их тарифы, которые есть в импортируемом файле.
Щелкните Импорт.
По окончании импорта появится информация о количестве добавленных телефонных кодов, а также о тарифах.
Если вы обновляете тарифы для существующих в базе телефонных кодов, то они добавляться повторно не будут.
Если вернуться к странице тарифов конкретного оператора, для которого выполнялся импорт данных, и там выбрать соответствующий тарифный план, то увидим все импортируемые тарифы (рисунок 10).
Рисунок 10
Только импорта кодов и тарифов в систему Tariscope недостаточно, чтобы правильно выполнялась тарификация вызовов. Есть еще некоторые настройки, которые должны быть выполнены. Об этих настройках есть отдельная статья. Отметим только то, что относится к кодам и тарифам конкретного оператора связи. Этот оператор должен быть привязан к маршрутам (группам линий связи), шлюзам телефонной системы.
Если вы только создали нового оператора связи и при импорте кодов и тарифов что-то выполнили неправильно, вы можете просто удалить этого оператора и затем создать его заново. Для этого воспользуйтесь страницей Операторы (рисунок 2).
Если вы оператор связи и у вас есть несколько тарифных планов, в которых разная стоимость тарифов, которая составляет какой-то процент от стоимости основного тарифного плана, то можно легко в Excel файле создать дополнительные столбцы для этих тарифных планов. А затем следует повторить импорт тарифов для этих тарифных планов.
Есть еще одна особенность для пользователей редакции Tariscope Provider, которую следует иметь в виду. При импорте тарифов для каждого телефонного кода или группы телефонных кодов, заданных в одной строке, создается отдельный тариф. При обработке информации о вызовах в таблице личных счетов абонентов будет создаваться отдельная запись за отчетный период для каждого тарифа и все вызовы по этому тарифу суммируются в этой записи. К примеру, если абонентом были выполнены вызовы в 20 стран в течение месяца, то в личном счете этого абонента будет создано 20 записей. В большинстве случаев это не нужно, а достаточно одной записи, например, с названием Международные вызовы, которая бы объединяла начисления за все международные вызовы. В тарифах есть настройки, позволяющие объединить все начисления за вызовы какого-либо типа с разными тарифами в одной записи личного счета. Для этого используется позиция Описание на вкладке Личные счета конкретного тарифа (рисунок 11).
Рисунок 11
То есть, если во всех тарифах, относящихся к вызовам в другие страны, в этой позиции ввести, например, название Международные вызовы, то все начисления за вызовы за границу в течение месяца будут начислены на одну запись.
Добавить описание можно одновременно для группы тарифов, если на странице Тарифы включить переключатели Показать все введенные даты и Выбрать несколько (рисунок 12).
Рисунок 12
Выбор необходимых строк выполняется с помощью щелчка по требуемой строке таблицы тарифов.
Но при большом количестве тарифов их выбор может занять много времени. Поэтому предлагаем воспользоваться выполнением SQL запроса. Предположим, мы желаем установить название Международные вызовы для занесения на личные счета для всех тарифов, начинающих действие с 01.01.2022. Для этого выберите в меню Дополнительные настройки -> SQL-запросы, где ввести следующий запрос:
UPDATE TarifSettings SET AccountsDescription = 'Международные вызовы' WHERE RecDate = '20220101'
В нем смените дату 01.01.2022 ('20220101') на необходимую для вас дату, а значение 'Международные вызовы' на нужное для вас название.
Щелкните по иконке Выполнить на панели инструментов. После этого все вызовы, которые будут обрабатываться по этим тарифам, будут начисляться на одну запись с названием «Международные вызовы».
Приведем еще несколько SQL запросов, которые могут пригодиться.
Изменение даты тарифов
Например, нужно изменить дату начала действия всех тарифов на 01.02.2022, которые сейчас имеют дату 01.01.2022. Для этого на странице SQL-запроса следует выполнить следующий запрос:
UPDATE TarifSettings SET RecDate = '20220201' WHERE RecDate = '20220101'
Удаление тарифов с конкретной даты .
Например, нужно удалить все тарифы, действующие с 01.022022. Для этого следует выполнить следующий запрос:
DELETE FROM TarifSettings WHERE RecDate = '20220201'
Связанные статьи
1. Параметры операторов связи.
Работа с новыми методами Tariscope АРI
Для тестирования функции Tariscope API может использоваться любая самостоятельно написанная программа или другие программы, предназначенные для этого. В этой статье использовалась программа Postman.
Для работы с Tariscope API в первую очередь следует создать соответствующего пользователя и предоставить ему права на все или отдельные методы API. Для создания API пользователя в меню Tariscope выберите Дополнительные настройки → Интеграция. Щелкните по кнопке Tariscope API. Появится соответствующая страница.
Щелкните Пользователи API. На панели инструментов щелкните значок Добавить.
Появится окно Новый API пользователь, где необходимо ввести необходимые параметры и щелкнуть Сохранить.
В списке пользователей API, выберите того, кого создали и щелкните по иконке права на методы. Появится страница Настройки прав пользователя, пример которой показан на рисунке 1.
Рисунок 1
На рисунке выделены методы, добавленные в версии Tariscope 4.6.4. Эти методы имеют следующее назначение:
- accounts.charges. Это GET метод, позволяющий получить все начисления конкретного абонента за указанный период.
- accounts.payment. Это POST метод, позволяющий занести в базу данных Tariscope информацию об оплате от абонента за предоставленные услуги связи.
- accounts.payments. Это GET метод, позволяющий получить информацию из базы данных Tariscope по оплате от конкретного абонента за заданный период.
- subscriber.create. Это POST метод, позволяющий создать нового абонента без перечня принадлежащих ему телефонных номеров. Для добавления телефонных номеров следует использовать следующий способ.
- subscriber.dnadd. Это POST метод, позволяющий добавить абоненту телефонный номер.
Работа с API Tariscope должна начинаться с авторизации АРИ пользователя в системе, которая выполняется с помощью метода api.auth.В результате выполнения этого метода вы должны получить токен, который следует применять при выполнении всех других API методов. Срок действия токена 6 часов. После чего следует получить новый токен.
1. Получение токена
Для выполнения каких-либо методов API необходимо авторизироваться в системе. Выполните метод /api/auth.
Как упоминалось выше, работа с Tariscope API методами будет показана с использованием программы Postman.
Выберите метод Post, и введите запрос для подключения к компьютеру, где установлен Tariscope (рисунок 2)
Рисунок 2
Пример запроса: http://localhost:7000/api/auth
localhost используется только в случае, когда приложение, из которого выполняется API запрос, находится на том же сервере, где находится ПО Tariscope. В других случаях используйте IP-адрес сервера Tariscope.
7000 в этом примере – это IP порт, на котором работает Tariscope. По умолчанию при установке Tariscope предлагается IP-порт 8085.
/api/auth – это метод для авторизации в системе.
Перед отправкой запроса в теле (Body) запроса следует выбрать row, задать JSON формат и ввести в этом формате имя пользователя API (username) и его пароль (password).
На вкладке Authorization вибрать Bearer token.
После этого нажать кнопку Send. Если все параметры заданы правильно, то вы получите ответ в формате JSON, откуда следует копировать токен.
Для выполнения других методов Tariscope API этот токен следует вставить на вкладке Authorization в позицию Token. Напомним еще раз, что токен действителен в течении 6 часов.
2. Получение начислений абонента
Получение начислений производится с помощью GET метода /api/accounts/charges
Параметры метода:
- id – идентификатор абонента в системе Tariscope
- fromdate – дата, начиная с которой следует получить начисление. Дата сдается в формате: гггг-мм-дд, например: 2023-05-01.
- todate – дата, заканчивая которой нужно получить начисление. Дата сдается в формате: гггг-мм-дд, например: 2023-05-31.
К примеру, нас интересуют начисления абонента с идентификатором 6169 за май 2023 года. То есть в этом случае имеем:
id = 6169, fromdate = 2023-05-01, todate = 2023-05-31. Соответственно задаем строку GET запроса: http://localhost:8085/api/accounts/charges/?id=6169&fromdate=2023-05-01&todate=2023-05-31
Пример такого запроса в Postman показан на рисунке 3. Следует не забывать, что как и в предыдущем запросе в его теле (Body) должно быть указано имя и пароль API пользователя.
Рисунок 3
Если все параметры указаны верно, Tariscope вернет информацию о начислении абонента. Список параметров по каждому начислению:
- id – идентификатор абонента в системе Tariscope;
- recdate –даты внесения начисления в Tariscope;
- fromdate – дата начала периода начисления услуги;
- todate – дата окончания периода начисления услуги;
- servicename – название услуги;
- charge – начисленная сумма;
- numberofservices – количество начисленных услуг. Для вызовов это количество секунд.
Пример ответа сервера показан на рисунке 4.
Рисунок 4
В случае, когда строка запроса указана неверно или неверно указаны параметры запроса, Tariscope выдает сообщение (message) об этом. Пример этого приведен на рисунке 5.
Рисунок 5
3. Занесение в Tariscope информации об оплате
Занесение информации об оплате от абонента производится POST запросом: /api/accounts/payment
Параметры POST запроса к системе Tariscope:
- id – идентификатор абонента в системе Tariscope;
- paymentday – дата выполнения оплаты в формате: гггг-мм-дд;
- payment – сумма платежа за услуги связи;
- paymenttype – тип платежа (не указано – 0, наличные – 1, по квитанции – 2, по счету – 3);
- bank – банк, через который производилась оплата..
Пример.
Абонент с идентификатором 6193 оплатил 17/05/2023 по счету через ПриватБанк услуги связи на сумму 370,00 грн. Это значит:
id=6193,
paymentday=2023-05-17,
payment=370.00,
paymenttype=3,
bank=ПриватБанк
То есть строка POST запроса будет следующей: http://localhost:8085/api/accounts/payment/?id=6193&paymentday=2023-05-17&payment=370.00&paymenttype=3&bank=ПриватБанк
Если параметры запроса верны, Tariscope вернет следующие данные:
- subscriberid – идентификатор абонента в системе Tariscope.
- paymentid – идентификатор записи по оплате.
- paymentday – дата выполнения оплаты в формате: гггг-мм-дд.
Пример ответа приведен на рисунке 6.
Рисунок 6
4. Получение информации об оплате от абонента за период
Получение такой информации выполняется GET запросом: /api/accounts/payments
Параметры этого запроса::
- id – идентификатор абонента в системе Tariscope.
- fromdate – дата, начиная с которой нужно получить платежи. Дата задается в формате: гггг-мм-дд, например: 2023-05-01.
- todate – дата, заканчивая которой нужно получить платежи. Дата задается в формате: гггг-мм-дд, например: 2023-05-31.
- paymentid – ідентифікатор запису по оплаті. Якщо цей ідентифікатор вказаний у запиті, то дати ігноруються, а перевіряється наявність такого запису в БД Tariscope. Якщо цей ідентифікатор = 0, то АРІ повинне повернути всі платежі за вказаний період.
Пример.
Получить информацию об оплате от абонента с идентификатором 6169 за период с 01.04.2023 по 31.05.2023. Это означает, что нужно задать следующие параметры: id=6169, fromdate=2023-04-01, todate=2023-05-31, paymenеtid=0
То есть весь GET запрос будет следующим: http://localhost:8085/api/accounts/payments/?id=6169&fromdate=2023-04-01&todate=2023-05-31&paymenеtid=0
Если все параметры указаны верно, Tariscope вернет следующие данные:
- subscriberid – идентификатор абонента в системе Tariscope.
- paymentid – идентификатор записи по оплате.
- paymentday – дата выполнения оплаты в формате: гггг-мм-дд.
- payment – сумма оплаты.
Пример результата выполнения такого запроса показан на рисунке 7.
Рисунок 7
5. Создание нового абонента
Создание нового абонента выполняется с помощью запроса POST: /api/subscriber/create
Этот запрос содержит следующие параметры:
- fullname – полное имя юридического, физического лица или сотрудника оператора связи.
- departmentid – іидентификатор группы, к которой принадлежит абонент. Если абоненты не делятся на группы, то они относятся к корневой группе, которая называется как узел связи.
- subscribertype – тип абонента: 0 -физическое лицо, 1 – юридическое лицо, 2 – служебное, 3 – бюджетное, 4 – льготное.
- connectiondate - дата, с которой абонент считается подключенным в формате: гггг-мм-дд.
- contactnumber – номер контракта с абонентом.
- contractdate - дата контракта в формате: гггг-мм-дд.
- accountnumber - номер личного счета абонента, если он создается не автоматически в Tariscope.
- personalcode – индивидуальный налоговый номер для физических лиц.
- edrpou – код ЕГРПОУ для юридических лиц.
- taxcode – налоговый код для плательщиков НДС.
- bankcode – код банка для юридических лиц..
- bankname – название банка.
- bankaccount – номер банковского счёта.
- rateplanid – идентификатор тарифного плана, назначенный абоненту.
Пример.
Создать абонента юридическое лицо с именем JSC ABC, ЕГРПОУ 55667788, ИНН 123456789 с датой подключения с 02.06.2023, с которым заключен контракт на предоставление услуг связи по номеру 247-23 от 02.06.
Эта компания обслуживается в Кредобанке, код банка 325365, счет в банке UA125438790123456. Этот абонент будет обслуживаться по тарифному плану 'Базовый', имеющему идентификатор 43 в Tariscope. Абонента включить в группу абонентов с идентификатором 419.
Абоненту назначить лицевой счет 8640-fo.
Для этих параметров необходимо выполнить следующий POST запрос:
http://localhost:8085/api/subscriber/create/?fullname=JSC
ABC&departmentid=419&subscribertype=1&connectiondate=2023-06-02&contractnumber=247-23&contractdate=2023-06-01&accountnumber=8640-fo&personalcode=&edrpou=55667788&taxcode=&bankcode=361234&bankname=Кредобанк&bankaccount=UA125438790123456&rateplanid=43
При правильно заданных параметрах Tariscope возвращает следующую информацию:
- id – идентификатор абонента в системе.
- accountnumber - номер личного счета абонента. Если он создается автоматически в Tariscope, он будет совпадать с ID.
- fullname – полное имя юридического, физического лица или сотрудника оператора связи.
Пример полученной от Tariscope информации по этому запросу, приведенный на рисунке 8.
Рисунок 8
6. Добавление абоненту телефонного номера
Для добавления абоненту телефонного номера необходимо выполнить POST запрос: /api/subscriber/dnadd
Этот запрос содержит следующие параметры::
- SubscriberId. Идентификатор абонента, которому прилагается телефонный номер.
- DN. Телефонный номер, назначаемый абоненту.
- description. Описание телефонного номера. Необязательный параметр.
- fromdate. Дата, с которой этот номер принадлежит абоненту.
- pbxid. Идентификатор АТС, в которую входит телефонный номер.
Пример.
Абоненту с идентификатором 7334 следует назначить телефонный номер 2001 с 02.06.2023. Номер принадлежит АТС с идентификатором 292.
Для этих параметров необходимо создать следующий POST запрос: http://localhost:8085/api/subscriber/dnadd/?SubscriberId=7334&DN=2001&description=&fromdate=2023-06-02&pbxid=292
Якщо параметри запиту буди вказані вірно, то Tariscope поЕсли параметры запроса будут указаны верно, то Tariscope по xid=292 вернет следующую информацию:
- id. Идентификатор телефонного номера Tariscope.
- subscriberid. Идентификатор абонента, которому прилагается телефонный номер.
- pbxid. Идентификатор АТС, в которую входит телефонный номер.
- dn. Телефонный номер.
Пример получения информации о добавлении номера показан на рисунке 9.
Рисунок 9
Инсталляция Tariscope под Linux
Система Tariscope 4.6 обеих редакций Enterprise и Provider создана на основе программной платформы .Net 5.0 и использует Microsoft SQL Server. Поэтому выбор Linux дистрибутивов для Tariscope зависит от поддержки этих двух компонентов.
Tariscope поддерживает работу с любой редакцией Microsoft SQL Server 2022 или 2019 или 2017. Согласно документации компании Microsoft, SQL Server 2022 или 2019 могут быть установлены на:
- Red Hat 7.7 - 7.9 для SQL Server 2019 или 8.0 - 8.6 для SQL Server 2022 и 2019.
- SUSE 12 (SP3 - SP5) для SQL Server 2019 или 15 (SP1 -SP3) для SQL Server 2022 и 2019.
- Ubuntu 16.04, 18.04 для SQL Server 2019 или 20.04 для SQL Server 2022 и 2019.
Требования к системе для установки Linux для обеих версий MS SQL сервера одинаковы:
- память: 2 ГБ;
- файловая система: XFS или EXT4;
- место на диске: 6 ГБ;
- частота процессора: 2 ГГц;
- тип процессора: совместим с х64.
Tariscope нуждается в .Net 5.0, поэтому если Tariscope устанавливается только сам без Microsoft SQL сервера, а последний будет установлен где-то на другом сервере, то платформу .Net 5.0 можно установить на следующие дистрибутивы Linux:
- Alpine
- CentOS
- Debian
- Fedora
- openSUSE
- SLES Snap-пакеты
- Ubuntu.
Если же Tariscope устанавливать на одном физическом (виртуальном) сервере вместе с Microsoft SQL сервером, то дистрибутивы Linux, которые для этого подходят Ubuntu и SUSE.
Мы тестировали Tariscope под Ubuntu 20.04.
Порядок установки Microsoft SQL Server, платформы .Net 5.0 и ряда программных приложений, необходимых для работы Tariscope, можно выполнять в произвольном порядке.
1. Установка Microsoft SQL Server 2022
Установку этого SQL сервера следует выполнять согласно инструкциям, приведенным в статье - How to install Microsoft SQL Server on Ubuntu 20.04 LTS.
2. Установка программной платформы .Net 5.0
Установка должна производиться с правами root. Поэтому перед каждой командой следует указывать sudo или, чтобы не указывать это каждый раз, можно выполнить команду: sudo -i
Платформа .Net 5.0 может устанавливаться в одном из вариантов:
- .Net Runtime.
- .Net SDK, который содержит в себе и .Net Runtime.
Для проверки, какие .Net Framework уже установлены в системе, следует ввести команды:
dotnet --list-runtimes
dotnet --list-sdks
Есть разные варианты для установки платформы .Net 5.0.
Инструкции по установке .Net Runtime приведены в статье Microsoft.
Инструкции Microsoft для установки .Net SDK или .Net Runtime с помощью Snap. Например, согласно этим рекомендациям для установки .Net SDK версии 5.0 следует выполнить следующую команду:
sudo snap install dotnet-sdk --classic --channel=5.0
Далее рекомендуется зарегистрировать в системе алиас для dotnet-sdk.dotnet:
sudo snap alias dotnet-sdk.dotnet dotnet
Если установка .Net 5.0 выполнялась с помощью Snap, следует сделать symlink следующей командой:
ln -s /snap/bin/dotnet /usr/bin/dotnet
3. Установка дополнительных приложений
Для работы Tariscope необходимо установить следующие приложения:
- cpuid,
- inxi,
- libgdiplus,
- wkhtmltopdf.
Для их установки выполните следующие команды:
apt-get install cpuid
apt-get install inxi
apt-get install libgdiplus
apt-get install wkhtmltopdf
4. Установка и запуск Tariscope
Загрузите установку Tariscope и два скрипта:
http://softpiua.com/files/tariscope46.tar.gz
http://softpiua.com/files/ts-install.sh
http://softpiua.com/files/rrun.sh
Распакуйте архив tariscope46.tar.gz, например, в папке Tariscope, предварительно создав ее.
Перенесите в эту папку скрипт ts-install.sh
Предположим, что вы пользователь с именем softpi.
Надо перейти в папку Tariscope с помощью команды:
cd /home/softpi/Tariscope
и выполнить следующую команду:
sh ts-install.sh -p/home/softpi/Tariscope
Ключ ‘-p’ указывает папку, куда устанавливается Tariscope.
Подключение базы данных Tariscope к серверу Microsoft SQL.
Microsoft SQL Server требуется, чтобы на нем работала база данных Tariscope. Потому нужно ее туда установить. Если установочный пакет Tariscope устанавливался в папке Tariscope, резервная копия базы данных Tariscope будет находиться в папке …/Tariscope/www/Database/Database
Файл резервной копии Tariscope называется Tariscope_clear.bak
Для того чтобы установить на MS SQL Server базу данных Tariscope из резервной копии нужно либо подключиться к этому SQL Server-у с компьютера с ОС Windows с установленной на нем SQL Server Management Studio (SSMS), либо установить инструменты командной строки на Linux для работы с MS SQL Server.
Как установить инструменты командной строки для работы с MS SQL Server можно посмотреть в статье компании Microsoft.
Далее, подключаемся к SQL серверу, выполнив команду:
sqlcmd -s localhost -U SA -P Tariscope123
Эта команда означает, что выполняется подключение к локальному SQL Server (localhost). Подключение производится от имени системного администратора (sa). Пароль к SQL серверу: Tariscope123. Вы должны указать пароль, заданный на этапе установки Microsoft SQL Server.
При подключении к SQL server в терминале появится символ: ‘>’, что означает, что можно вводить SQL команды. Для выполнения команды SQL нужно вводить команду GO. Для проверки работы можно задать команду для получения названий баз данных на SQL сервере:
1>select name from sysdatabases
2>go
И вы должны получить такой ответ:
master
tempdb
model
msdb
Затем введите quit, чтобы выйти из режима управления SQL сервером.
Для установки базы данных из резервной копии можно прочитать, например, в статье.
То есть имея права root вы должны перейти в папку /var/opt/mssql, выполнив команду:
cd /var/opt/mssql/
Далее создать новую папку backup:
mkdir backup
Переместить файл резервной копии в созданную папку:
mv/home/softpi/Tariscope/www/Database/Database/Tariscope_clear.bak/var/opt/mssql/backup
В вашем случае вместо папок/softpi/Tariscope/могут быть другие в зависимости от того, какие вы создали на предыдущих шагах.
Снова подключиться к SQL серверу с помощью команды приведенной выше. Для восстановления базы данных Tariscope из резервной копии выполните команду:
RESTORE DATABASE Tariscope FROM DISK=’/var/opt/mssql/backup/Tariscope_clear.bak’
WITH MOVE ‘Tariscope’ TO ‘/var/opt/mssql/data/Tariscope.mdf’.
MOVE “Tariscope_log’ TO ‘/var/opt/mssql/data/Tariscope_log.ldf’
GO
Будет выполнена установка БД Tariscope. Убедиться, что она установлена можно, например, выполнив команду, которая уже приводилась выше:
select name from sysdatabases
В список баз данных должна быть добавлена база данных Tariscope.
Выйдите из режима управления SQL сервером.
Переместите скрипт rrun.sh в папку www, которая находится в папке Tariscope.
Перейдите к этой папке:
cd /home/softpi/Tariscope/www
Найдите файл appsettings.json. Откройте его для редактирования. Пример этого файла показан на рисунке.
Рисунок
В строке подключения (DefaultConnection) после Data Source укажите IP-адрес сервера, где установлен Microsoft SQL Server. В примере на рисунке 1.2.1 это IP адрес: 10.10.0.133. В этой же строке в качестве пользователя, от которого выполняется работа системы Tariscope, указан системный администратор 'sa' с паролем 'Tariscope123'. Вместо пользователя 'sa' вы можете использовать любое другое, имеющее все права (owner) на базу данных Tariscope.
Работа Tariscope производится на сервере Kestrel. По умолчанию сервер ведет журнал запросов к нему. Это отображается в строке:
“KestrelLogger”: true
Для отказа от ведения журнала измените true на false. Мы рекомендуем вести этот журнал.
Строка “KestrelLoggerPeriod”: 1 определяет период создания нового журнала Kestrel: 0 – ежедневно, 1 – еженедельно, 2 – ежемесячно. При необходимости измените период создания журнала.
IP порт, на котором будет работать Tariscope, задается в строке:
"Http": "8085"
То есть по умолчанию будет использоваться порт 8085. При необходимости смените его на другой.
Если вы хотите, чтобы Tariscope работал по защищенному протоколу HTTPS, вы должны иметь SSL сертификат и задать его параметры в этом файле.
В строке “SSLCertificate”: “” укажите путь, где находится файл этого сертификата.
В строке “SSLPassword”: “” укажите пароль для этого сертификата.
IP порт для работы по протоколу HTTPS укажите в строке:
“Https”: “”
Для включения протокола HTTPS измените значение false на true в строке:
“HttpsEnabled”: false
Если вы хотите перенаправить все запросы, выполненные в Tariscope по незащищенному протоколу, на защищенный порт, то измените значение false на true в строке:
“HttpsRedirect”: false
Сохраните настройки этого файла.
Выполните запуск Tariscope:
sh rrun.sh
Проверьте, запущена ли система Tariscope с помощью команды:
systemctl status TS.MAIN.service
Если система запущена и работает, вы получите отзыв вроде следующего:
TS.MAIN.service - Tariscope daemon
Loaded: loaded (/etc/systemd/system/TS.MAIN.service; disabled; vendor pres>
Active: active (running) since Sat 2022-12-24 23:14:32 EET; 3min 8s ago
Main PID: 35886 (dotnet)
Tasks: 0 (limit: 4648)
Memory: 732.0K
CGroup: /system.slice/TS.MAIN.service
‣ 35886 /snap/dotnet-sdk/167/dotnet /home/softpi/Tariscope/www/Sof>
После этого в браузере можно подключиться к системе Tariscope и начать ее настройки согласно документу “Tariscope 4.6. Руководство администратора”.
Подкатегории
User's guide
The category contains articles of the document "Tariscope 4.x. User's guide".
How to configure
Эта категория содержит статьи, описывающие особенности настройки и работы с Tariscope.
Telecom services
Эта категория содержит статьи, связанные с настройкой, начислением и анализом телекоммуникационных усгул связи.
User's guide_4.5.х
The category contains articles of the document "Tariscope 4.5.x. User's guide".