Skip to content

Cервис, эмулирующий работу коммутатора, т.е. генерирующий CDR файлы и составляюший отчеты по ним.

Notifications You must be signed in to change notification settings

tka4nik/commutator-service-simulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Решение:

Я подошел к задаче, используя инструментарий ООП.

Решение состоит из Модели и ее Реализации:

  • Интерфейсные классы CDRsConsumer, CDRsSupplier, MSISDNsConsumer, MSISDNsSupplier, UDRsConsumer, UDRsSupplier
  • Реализации это соответственно (H2Storage, CDRsFileStorage), (RandomCDRsGenerator), (H2Storage), (RandomMSISDNsGenerator), (GenerateJSONFromUDRs), (CreateUDRsFromFile)
  • Связывает эти две части ServiceBus класс.

Присутствует работа с in-memory базой данных H2.

Задание:

Все звонки, совершенные абонентом сотового оператора, фиксируются в CDR файлы, которые собираются на коммутаторах. Когда абонент находится в роуминге за процесс сбора его данных отвечает обслуживающая сеть абонента. Для стандартизации данных между разными операторами международная ассоциация GSMA ввела стандарт BCE. Согласно ему, данные с CDR должны агрегировать в единый отчет UDR, который впоследствии передается оператору, обслуживающему абонента в домашней сети. На основе этого отчета, домашний оператор выставляет абоненту счет.

  • CDR – Call Data Record – формат файла, содержащего в себе информацию о действиях, совершенных абонентом за тарифицируемый период.
  • BCE – Billing and Charging Evolution – стандарт обмена роуминговыми данными.
  • UDR - Usage Data Report - Отчет об использовании данных;
  • msisdn - Mobile Subscriber Integrated Services Digital Number - номер мобильного абонента цифровой сети.

Пример фрагмента CDR:

02,79876543221, 1709798657, 1709799601 01,79996667755, 1709899870, 1709905806

Пример UDR объекта для абонента 79876543221:

{
    "msisdn": "79876543221",
    "incomingCall": {
        "totalTime": "02:12:13"
    },
    "outcomingCall": {
        "totalTime": "00:02:50"
    }
}
  • Задача 1 - написать сервис, эмулирующий работу коммутатора, т.е. генерирующий CDR файлы.
  • Задача 2 - Данные полученные от CDR сервиса передать в сервис генерации UDR. Агрегировать данные по каждому абоненту в отчет.

Ткаченко Никита, 2024

About

Cервис, эмулирующий работу коммутатора, т.е. генерирующий CDR файлы и составляюший отчеты по ним.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages