Documentation of RAN PM
[nonrtric/plt/ranpm.git] / kafka-pm-producer / docs / overview.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. SPDX-License-Identifier: CC-BY-4.0
3 .. Copyright (C) 2023 Nordix
4
5
6 PM Data Converter
7 ~~~~~~~~~~~~~~~~~
8
9
10 ********
11 Overview
12 ********
13
14 The task of the PM Data Converter is to convert PM Measurement report files,
15 (XML formatted according to 3GPP TS 32.432 and 3GPP TS 32.435) into Json.
16
17 The component receives objects from kafka that indicates that new PM Report files
18 are collected from the RAN. The event is sent by the Data File Collector.
19
20 The XML file is read from the storage, converted to Json, gzipped and stored.
21
22 A Json object indicating that a new Json PM Mesurement report is available is sent on
23 a Kafka topic to be picked up by other components for further processing,
24
25 .. image:: ./Architecture.png
26    :width: 500pt
27
28
29
30 This product is a part of :doc:`NONRTRIC <nonrtric:index>`.
31
32
33
34 *********************
35 Output PM Measurement
36 *********************
37
38 The Json format of the PM mesaurememt follows the same structure as the input XML format (defined by 3GPP).
39
40 Here follows an example:
41
42 .. code-block:: javascript
43
44    {
45       "event":{
46          "commonEventHeader":{
47             "domain":"perf3gpp",
48             "eventId":"9efa1210-f285-455f-9c6a-3a659b1f1882",
49             "eventName":"perf3gpp_gnb-Ericsson_pmMeasResult",
50             "sourceName":"O-DU-1122",
51             "reportingEntityName":"",
52             "startEpochMicrosec":951912000000,
53             "lastEpochMicrosec":951912900000,
54             "timeZoneOffset":"+00:00"
55          },
56          "perf3gppFields":{
57             "perf3gppFieldsVersion":"1.0",
58             "measDataCollection":{
59                "granularityPeriod":900,
60                "measuredEntityUserName":"RNC Telecomville",
61                "measuredEntityDn":"SubNetwork=CountryNN,MeContext=MEC-Gbg-1,ManagedElement=RNC-Gbg-1",
62                "measuredEntitySoftwareVersion":"",
63                "measInfoList":[
64                   {
65                      "measInfoId":{
66                         "sMeasInfoId":"PM=1,PmGroup=NRCellDU_GNBDU"
67                      },
68                      "measTypes":{
69                         "sMeasTypesList":[
70                            "succImmediateAssignProcs"
71                         ]
72                      },
73                      "measValuesList":[
74                         {
75                            "measObjInstId":"RncFunction=RF-1,UtranCell=Gbg-997",
76                            "suspectFlag":"false",
77                            "measResults":[
78                               {
79                                  "p":1,
80                                  "sValue":"1113"
81                               }
82                            ]
83                         },
84                         {
85                            "measObjInstId":"RncFunction=RF-1,UtranCell=Gbg-998",
86                            "suspectFlag":"false",
87                            "measResults":[
88                               {
89                                  "p":1,
90                                  "sValue":"234"
91                               }
92                            ]
93                         },
94                         {
95                            "measObjInstId":"RncFunction=RF-1,UtranCell=Gbg-999",
96                            "suspectFlag":"true",
97                            "measResults":[
98                               {
99                                  "p":1,
100                                  "sValue":"789"
101                               }
102                            ]
103                         }
104                      ]
105                   }
106                ]
107             }
108          }
109       }
110    }
111
112
113 **************************
114 Output File Ready Message
115 **************************
116
117 Here follows an example of the sent object indicating that a new Json file is available.
118 It only contains the name of the stored file. The name of the bucket and the minio endpoint
119 must be known by the event receiver.
120
121 .. code-block:: javascript
122
123    {
124       "filename": "xyz.json.gzip"
125    }
126
127
128
129