PM File Converter

Overview

The task of the PM File Converter is to convert PM Measurement report files, (XML formatted according to 3GPP TS 32.432 and 3GPP TS 32.435) into Json.

The component receives objects from kafka that indicates that new PM Report files are collected from the RAN. The event is sent by the Data File Collector.

The XML file is read from the storage, converted to Json, gzipped and stored.

A Json object indicating that a new Json PM Measurement report is available is sent on a Kafka topic to be picked up by other components for further processing,

_images/Architecture.png

This product is a part of NONRTRIC.

Output PM Measurement

The Json format of the PM measurement follows the same structure as the input XML format (defined by 3GPP).

Here follows an example:

{
   "event":{
      "commonEventHeader":{
         "domain":"perf3gpp",
         "eventId":"9efa1210-f285-455f-9c6a-3a659b1f1882",
         "eventName":"perf3gpp_gnb-Ericsson_pmMeasResult",
         "sourceName":"O-DU-1122",
         "reportingEntityName":"",
         "startEpochMicrosec":951912000000,
         "lastEpochMicrosec":951912900000,
         "timeZoneOffset":"+00:00"
      },
      "perf3gppFields":{
         "perf3gppFieldsVersion":"1.0",
         "measDataCollection":{
            "granularityPeriod":900,
            "measuredEntityUserName":"RNC Telecomville",
            "measuredEntityDn":"SubNetwork=CountryNN,MeContext=MEC-Gbg-1,ManagedElement=RNC-Gbg-1",
            "measuredEntitySoftwareVersion":"",
            "measInfoList":[
               {
                  "measInfoId":{
                     "sMeasInfoId":"PM=1,PmGroup=NRCellDU_GNBDU"
                  },
                  "measTypes":{
                     "sMeasTypesList":[
                        "succImmediateAssignProcs"
                     ]
                  },
                  "measValuesList":[
                     {
                        "measObjInstId":"RncFunction=RF-1,UtranCell=Gbg-997",
                        "suspectFlag":"false",
                        "measResults":[
                           {
                              "p":1,
                              "sValue":"1113"
                           }
                        ]
                     },
                     {
                        "measObjInstId":"RncFunction=RF-1,UtranCell=Gbg-998",
                        "suspectFlag":"false",
                        "measResults":[
                           {
                              "p":1,
                              "sValue":"234"
                           }
                        ]
                     },
                     {
                        "measObjInstId":"RncFunction=RF-1,UtranCell=Gbg-999",
                        "suspectFlag":"true",
                        "measResults":[
                           {
                              "p":1,
                              "sValue":"789"
                           }
                        ]
                     }
                  ]
               }
            ]
         }
      }
   }
}

Output File Ready Message

Here follows an example of the sent object indicating that a new Json file is available. It only contains the name of the stored file. The name of the bucket and the minio endpoint must be known by the event receiver.

{
   "filename": "xyz.json.gzip"
}

Input File Ready Message

Below follows an example of an input File Ready Message. The message is sent by the Data File Collector. The only elements used by this component are sourceName, name and objectStoreBucket.

 {
   "productName":"RnNode",
   "vendorName":"Ericsson",
   "lastEpochMicrosec":151983,
   "sourceName":"5GRAN_DU",
   "startEpochMicrosec":15198378,
   "timeZoneOffset":"UTC+05:00",
   "compression":"gzip",
   "fileFormatType":"org.3GPP.32.435#measCollec",
   "fileFormatVersion":"V10",
   "name":"5GRAN_DU/A20220418.1900-1915_seliitdus00487.xml",
   "changeIdentifier":"PM_MEAS_FILES",
   "objectStoreBucket":"ropfiles"
}