Documentation of RAN PM
[nonrtric/plt/ranpm.git] / pm-file-converter / docs / overview.rst
diff --git a/pm-file-converter/docs/overview.rst b/pm-file-converter/docs/overview.rst
new file mode 100644 (file)
index 0000000..438cdf1
--- /dev/null
@@ -0,0 +1,154 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. SPDX-License-Identifier: CC-BY-4.0
+.. Copyright (C) 2023 Nordix
+
+
+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 Mesurement report is available is sent on
+a Kafka topic to be picked up by other components for further processing,
+
+.. image:: ./Architecture.png
+   :width: 500pt
+
+
+
+This product is a part of :doc:`NONRTRIC <nonrtric:index>`.
+
+
+
+*********************
+Output PM Measurement
+*********************
+
+The Json format of the PM mesaurememt follows the same structure as the input XML format (defined by 3GPP).
+
+Here follows an example:
+
+.. code-block:: javascript
+
+   {
+      "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.
+
+.. code-block:: javascript
+
+   {
+      "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 elemts used by this component are sourceName, name and
+objectStoreBucket.
+
+.. code-block:: javascript
+
+   {
+     "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"
+  }
+
+
+