blob: e16c5e6536bedc9ccf8b2375ce8ac68960c85a67 [file] [log] [blame]
Martin Skorupski61f529a2023-02-05 19:11:49 +01001[
2 {
3 "id": "51e83a0892da060e",
4 "type": "tab",
Martin Skorupskied47c7e2023-02-11 16:19:39 +01005 "label": "Event Streaming (VES)",
Martin Skorupski61f529a2023-02-05 19:11:49 +01006 "disabled": false,
Martin Skorupskied47c7e2023-02-11 16:19:39 +01007 "info": "Sends a VES messages with body defined by 3GPP TS 28.532.\n",
8 "env": []
9 },
10 {
11 "id": "c5746e29f53f72ce",
12 "type": "tab",
13 "label": "Message Topics",
14 "disabled": false,
Martin Skorupski303c4f92023-04-27 16:58:12 +020015 "info": "Subscribes to Kafka topics",
Martin Skorupski61f529a2023-02-05 19:11:49 +010016 "env": []
17 },
18 {
Martin Skorupskidf57ed92023-04-14 09:39:04 +020019 "id": "7ba02ed596e8cde5",
20 "type": "tab",
21 "label": "OpenFronthaul",
22 "disabled": false,
23 "info": "",
24 "env": []
25 },
26 {
Martin Skorupski61f529a2023-02-05 19:11:49 +010027 "id": "7b2f4859e5963695",
28 "type": "tls-config",
29 "name": "",
30 "cert": "",
31 "key": "",
32 "ca": "",
33 "certname": "",
34 "keyname": "",
35 "caname": "",
36 "servername": "",
37 "verifyservercert": false,
38 "alpnprotocol": ""
39 },
40 {
41 "id": "91a1f8d3ce84ceda",
42 "type": "inject",
43 "z": "51e83a0892da060e",
44 "name": "notifyFileReady",
45 "props": [
46 {
47 "p": "payload"
48 },
49 {
50 "p": "topic",
51 "vt": "str"
52 }
53 ],
54 "repeat": "",
55 "crontab": "",
56 "once": false,
57 "onceDelay": 0.1,
58 "topic": "notifyFileReady",
59 "payload": "",
60 "payloadType": "date",
61 "x": 120,
Martin Skorupskia39b3c12023-04-17 15:25:28 +020062 "y": 500,
Martin Skorupski61f529a2023-02-05 19:11:49 +010063 "wires": [
64 [
65 "b5533c10604af5a6",
66 "f8e64d1cb25eb4ab"
67 ]
68 ]
69 },
70 {
71 "id": "b5533c10604af5a6",
72 "type": "function",
73 "z": "51e83a0892da060e",
74 "name": "vesHeader",
Martin Skorupskia39b3c12023-04-17 15:25:28 +020075 "func": "const timeStamp = new Date(msg.payload);\nconst eventType = msg.topic;\nlet domain = \"stndDefined\";\n// handle domain expecption for 'pnfRegistration'\nif (eventType === 'pnfRegistration') {\n domain = eventType;\n} \nconst nfNamingCode = env.get('APP_NETWORK_FUNCTION_ID');\nconst namespaces = {\n pnfRegistration: undefined,\n o1NotifyPnfRegistration: 'o1-notify-pnf-registration',\n oRanScDuHelloWorldPmStreaming: 'o-ran-sc-du-hello-world-pm-streaming-oas3',\n notifyHeartbeat: '3GPP-Heartbeat',\n notifyFileReady: 'file-ready',\n notifyFilePreparationError: 'file-ready',\n notifyNewAlarm: '3GPP-FaultSupervision',\n notifyChangedAlarm: '3GPP-FaultSupervision',\n notifyChangedAlarmGeneral: '3GPP-FaultSupervision',\n notifyAckStateChanged: '3GPP-FaultSupervision',\n notifyCorrelatedNotificationChanged: '3GPP-FaultSupervision',\n notifyComments: '3GPP-FaultSupervision',\n notifyClearedAlarm: '3GPP-FaultSupervision',\n notifyAlarmListRebuilt: '3GPP-FaultSupervision',\n notifyPotentialFaultyAlarmList: '3GPP-FaultSupervision'\n};\nconst topic = namespaces[eventType] || msg.topic;\n\nmsg.topic = \"commonEventHeader\"\nmsg.payload = {\n domain: domain,\n eventType: eventType,\n eventId:[nfNamingCode, eventType, msg._msgid].join('_'),\n eventName: [domain, eventType].join('_'),\n sequence: Number(timeStamp),\n priority: \"Low\",\n reportingEntityId: \"c2b7d6e9-ee35-459a-ab8e-717a6fc1fde6\",\n reportingEntityName: global.get('os').hostname(),\n sourceId: \"378e9904-6d39-40ea-9994-0596fe2235a3\",\n sourceName: env.get('APP_SOURCE'),\n startEpochMicrosec: timeStamp.getTime() * 1000,\n lastEpochMicrosec: timeStamp.getTime() * 1000,\n nfNamingCode: nfNamingCode,\n nfVendorName: env.get('APP_VENDOR'),\n timeZoneOffset: \"+00:00\",\n stndDefinedNamespace: topic,\n version: \"4.1\",\n vesEventListenerVersion: \"7.2.1\"\n}\nreturn msg;",
Martin Skorupski61f529a2023-02-05 19:11:49 +010076 "outputs": 1,
77 "noerr": 0,
78 "initialize": "",
79 "finalize": "",
80 "libs": [],
Martin Skorupskied47c7e2023-02-11 16:19:39 +010081 "x": 430,
82 "y": 260,
Martin Skorupski61f529a2023-02-05 19:11:49 +010083 "wires": [
84 [
85 "f65b1c13e0243ef6"
86 ]
87 ]
88 },
89 {
90 "id": "f8e64d1cb25eb4ab",
91 "type": "function",
92 "z": "51e83a0892da060e",
93 "name": "vesStndDefindBody",
Martin Skorupskied47c7e2023-02-11 16:19:39 +010094 "func": "const timeStamp = new Date(msg.payload);\nconst startTime = new Date(Math.floor(Number(timeStamp) / 900000) * 900000);\nconst endTime = new Date(Number(startTime) + 900000);\nconst paddy = (num, padlen, padchar) => {\n const pad_char = typeof padchar !== 'undefined' ? padchar : '0';\n const pad = new Array(1 + padlen).join(pad_char);\n return (pad + num).slice(-pad.length);\n}\nconst fileStartTime = [\n paddy(startTime.getFullYear(), 4),\n paddy(startTime.getMonth() + 1, 2),\n paddy(startTime.getDate(), 2),\n '.',\n paddy(startTime.getHours(), 2),\n paddy(startTime.getMinutes(), 2),\n '+0000'\n].join('');\nconst fileEndTime = [\n paddy(endTime.getHours(), 2),\n paddy(endTime.getMinutes(), 2),\n '+0000'\n].join('');\nconst fileLocation = ['/pm-data-files/A', fileStartTime, '-', fileEndTime, '_', env.get('APP_NETWORK_FUNCTION_ID'), '.xml'].join('');\nmsg.payload = {\n schemaReference: 'https://forge.3gpp.org/rep/sa5/MnS/raw/Rel-18/OpenAPI/TS28532_FileDataReportingMnS.yaml#components/schemas/NotifyFileReady',\n stndDefinedFieldsVersion: '1.0',\n data: {\n href: global.get('os').hostname(),\n notificationId: Number(startTime),\n notificationType: msg.topic,\n eventTime: timeStamp.toISOString(),\n systemDN: '/',\n fileInfoList: [\n {\n fileLocation: fileLocation,\n fileSize: 1234,\n fileReadyTime: startTime.toISOString(),\n fileExpirationTime: endTime.toISOString(),\n fileCompression: 'no',\n fileFormat: 'xml',\n fileDataType: 'Performance'\n }\n ],\n additionalText: 'Have fun!'\n }\n};\nmsg.topic = 'stndDefinedFields';\nreturn msg;",
Martin Skorupski61f529a2023-02-05 19:11:49 +010095 "outputs": 1,
96 "noerr": 0,
97 "initialize": "",
98 "finalize": "",
99 "libs": [],
Martin Skorupskied47c7e2023-02-11 16:19:39 +0100100 "x": 470,
Martin Skorupskia39b3c12023-04-17 15:25:28 +0200101 "y": 500,
Martin Skorupski61f529a2023-02-05 19:11:49 +0100102 "wires": [
103 [
104 "f65b1c13e0243ef6"
105 ]
106 ]
107 },
108 {
109 "id": "f65b1c13e0243ef6",
110 "type": "join",
111 "z": "51e83a0892da060e",
112 "name": "",
113 "mode": "custom",
114 "build": "object",
115 "property": "payload",
116 "propertyType": "msg",
117 "key": "topic",
118 "joiner": "\\n",
119 "joinerType": "str",
120 "accumulate": false,
121 "timeout": "",
122 "count": "2",
123 "reduceRight": false,
124 "reduceExp": "",
125 "reduceInit": "",
126 "reduceInitType": "",
127 "reduceFixup": "",
Martin Skorupskied47c7e2023-02-11 16:19:39 +0100128 "x": 690,
129 "y": 280,
Martin Skorupski61f529a2023-02-05 19:11:49 +0100130 "wires": [
131 [
132 "1d6949a57bce82ab"
133 ]
134 ]
135 },
136 {
137 "id": "1d6949a57bce82ab",
138 "type": "function",
139 "z": "51e83a0892da060e",
Martin Skorupski303c4f92023-04-27 16:58:12 +0200140 "name": "http-preparation",
141 "func": "const protocol = env.get('VES_ENDPOINT_PROTOCOL');\nconst host = env.get('VES_ENDPOINT_HOST');\nconst port = env.get('VES_ENDPOINT_PORT');\nconst base = protocol + '://' + host + ':' + port;\nconst path = 'eventListener/v7';\nmsg.url = [base, path].join('/');\n\nconst user = env.get('VES_ENDPOINT_USERNAME');\nconst password = env.get('VES_ENDPOINT_PASSWORD');\nconst auth = Buffer.from([user, password].join(':')).toString('base64')\nconst basicAuth = ['Basic', auth].join(' ');\n\nmsg.headers = {};\nmsg.headers['Content-Type'] = 'application/json';\nmsg.headers['Accept'] = 'application/json';\nmsg.headers['Authorization'] = basicAuth;\n\nmsg.payload = {\n event: msg.payload\n};\nreturn msg;",
Martin Skorupski61f529a2023-02-05 19:11:49 +0100142 "outputs": 1,
143 "noerr": 0,
144 "initialize": "",
145 "finalize": "",
146 "libs": [],
Martin Skorupskied47c7e2023-02-11 16:19:39 +0100147 "x": 840,
148 "y": 280,
Martin Skorupski61f529a2023-02-05 19:11:49 +0100149 "wires": [
150 [
151 "27e1d8d1e9b8fd93",
152 "9ab2b4d9caf52c14"
153 ]
154 ]
155 },
156 {
157 "id": "27e1d8d1e9b8fd93",
158 "type": "http request",
159 "z": "51e83a0892da060e",
160 "name": "",
161 "method": "POST",
162 "ret": "txt",
163 "paytoqs": "ignore",
Martin Skorupski303c4f92023-04-27 16:58:12 +0200164 "url": "",
Martin Skorupski61f529a2023-02-05 19:11:49 +0100165 "tls": "7b2f4859e5963695",
Martin Skorupskifcd1a3f2023-04-17 12:59:04 +0200166 "persist": true,
Martin Skorupski61f529a2023-02-05 19:11:49 +0100167 "proxy": "",
168 "insecureHTTPParser": false,
Martin Skorupski303c4f92023-04-27 16:58:12 +0200169 "authType": "",
Martin Skorupski61f529a2023-02-05 19:11:49 +0100170 "senderr": false,
171 "headers": [],
Martin Skorupskied47c7e2023-02-11 16:19:39 +0100172 "x": 1030,
173 "y": 280,
Martin Skorupski61f529a2023-02-05 19:11:49 +0100174 "wires": [
175 [
176 "f3412bcb9e134063"
177 ]
178 ]
179 },
180 {
181 "id": "f3412bcb9e134063",
182 "type": "debug",
183 "z": "51e83a0892da060e",
184 "name": "VesCollectorResponse",
Martin Skorupski0ed2b692023-04-08 11:11:38 +0200185 "active": true,
Martin Skorupski303c4f92023-04-27 16:58:12 +0200186 "tosidebar": false,
187 "console": true,
188 "tostatus": true,
Martin Skorupski61f529a2023-02-05 19:11:49 +0100189 "complete": "payload",
190 "targetType": "msg",
Martin Skorupski303c4f92023-04-27 16:58:12 +0200191 "statusVal": "payload",
Martin Skorupski61f529a2023-02-05 19:11:49 +0100192 "statusType": "auto",
Martin Skorupski303c4f92023-04-27 16:58:12 +0200193 "x": 1230,
Martin Skorupskied47c7e2023-02-11 16:19:39 +0100194 "y": 280,
Martin Skorupski61f529a2023-02-05 19:11:49 +0100195 "wires": []
196 },
197 {
198 "id": "b5e1e7a83051b5b6",
199 "type": "inject",
200 "z": "51e83a0892da060e",
201 "name": "pnfRegistration",
202 "props": [
203 {
204 "p": "payload"
205 },
206 {
207 "p": "topic",
208 "vt": "str"
209 }
210 ],
211 "repeat": "",
212 "crontab": "",
213 "once": false,
214 "onceDelay": 0.1,
215 "topic": "pnfRegistration",
216 "payload": "",
217 "payloadType": "date",
218 "x": 120,
219 "y": 80,
220 "wires": [
221 [
222 "bd43459cf3907a5a",
223 "b5533c10604af5a6"
224 ]
225 ]
226 },
227 {
228 "id": "bd43459cf3907a5a",
229 "type": "function",
230 "z": "51e83a0892da060e",
231 "name": "vesBody",
232 "func": "msg.topic = 'pnfRegistrationFields';\nmsg.payload = {\n pnfRegistrationFieldsVersion: '2.1',\n lastServiceDate: '2023-02-05',\n macAddress: '02:42:f7:d4:62:ce',\n manufactureDate: '2021-01-16',\n modelNumber: 'O-RAN-SC Model',\n oamV4IpAddress: '10.10.10.11',\n oamV6IpAddress: '0:0:0:0:0:ffff:a0a:011',\n serialNumber: 'VENDORA-PNF2-10.10.10.11-pnf2 BestInClass',\n softwareVersion: '2.3.5',\n unitFamily: \"O-RAN-SC\",\n unitType: 'PNF2',\n vendorName: env.get('APP_VENDOR'),\n additionalFields: {\n oamPort: '830',\n protocol: 'SSH',\n username: 'netconf',\n password: 'netconf!',\n reconnectOnChangedSchema: 'false',\n 'sleep-factor': '1.5',\n tcpOnly: 'false',\n connectionTimeout: '20000',\n maxConnectionAttempts: '100',\n betweenAttemptsTimeout: '2000',\n keepaliveDelay: '120'\n}\n};\nreturn msg;",
233 "outputs": 1,
234 "noerr": 0,
235 "initialize": "",
236 "finalize": "",
237 "libs": [],
Martin Skorupskied47c7e2023-02-11 16:19:39 +0100238 "x": 440,
Martin Skorupski61f529a2023-02-05 19:11:49 +0100239 "y": 80,
240 "wires": [
241 [
242 "f65b1c13e0243ef6"
243 ]
244 ]
245 },
246 {
247 "id": "9ab2b4d9caf52c14",
248 "type": "debug",
249 "z": "51e83a0892da060e",
250 "name": "ves-message-data",
Martin Skorupski303c4f92023-04-27 16:58:12 +0200251 "active": true,
252 "tosidebar": false,
Martin Skorupski61f529a2023-02-05 19:11:49 +0100253 "console": false,
Martin Skorupski303c4f92023-04-27 16:58:12 +0200254 "tostatus": true,
Martin Skorupski61f529a2023-02-05 19:11:49 +0100255 "complete": "payload",
256 "targetType": "msg",
Martin Skorupski303c4f92023-04-27 16:58:12 +0200257 "statusVal": "payload.event.commonEventHeader.stndDefinedNamespace",
258 "statusType": "msg",
Martin Skorupskied47c7e2023-02-11 16:19:39 +0100259 "x": 1050,
Martin Skorupski303c4f92023-04-27 16:58:12 +0200260 "y": 220,
Martin Skorupski61f529a2023-02-05 19:11:49 +0100261 "wires": []
262 },
263 {
264 "id": "7d589030272c0a94",
265 "type": "inject",
266 "z": "51e83a0892da060e",
Martin Skorupskied47c7e2023-02-11 16:19:39 +0100267 "d": true,
Martin Skorupski61f529a2023-02-05 19:11:49 +0100268 "name": "notifyHeartbeat",
269 "props": [
270 {
271 "p": "payload"
272 },
273 {
274 "p": "topic",
275 "vt": "str"
276 }
277 ],
Martin Skorupskied47c7e2023-02-11 16:19:39 +0100278 "repeat": "3",
279 "crontab": "",
280 "once": true,
281 "onceDelay": 0.1,
282 "topic": "notifyHeartbeat",
283 "payload": "",
284 "payloadType": "date",
285 "x": 130,
Martin Skorupski0ed2b692023-04-08 11:11:38 +0200286 "y": 420,
Martin Skorupskied47c7e2023-02-11 16:19:39 +0100287 "wires": [
288 [
289 "b5533c10604af5a6",
290 "ab3bc53f12d28d8f"
291 ]
292 ]
293 },
294 {
295 "id": "ab3bc53f12d28d8f",
296 "type": "function",
297 "z": "51e83a0892da060e",
298 "name": "vesStndDefindBody",
299 "func": "const timeStamp = new Date(msg.payload);\nmsg.payload = {\n schemaReference: 'https://forge.3gpp.org/rep/sa5/MnS/raw/Rel-18/OpenAPI/TS28532_HeartbeatNtf.yaml#components/schemas/NotifyHeartbeat',\n stndDefinedFieldsVersion: '1.0',\n data: {\n href: global.get('os').hostname(),\n notificationId: Number(timeStamp),\n notificationType: msg.topic,\n eventTime: timeStamp.toISOString(),\n systemDN: \"/\",\n heartbeatNtfPeriod: 120\n }\n};\nmsg.topic = \"stndDefinedFields\";\nreturn msg;",
300 "outputs": 1,
301 "noerr": 0,
302 "initialize": "",
303 "finalize": "",
304 "libs": [],
305 "x": 470,
Martin Skorupski0ed2b692023-04-08 11:11:38 +0200306 "y": 420,
Martin Skorupskied47c7e2023-02-11 16:19:39 +0100307 "wires": [
308 [
309 "f65b1c13e0243ef6"
310 ]
311 ]
312 },
313 {
314 "id": "1bada25ea9a5aa01",
315 "type": "comment",
316 "z": "51e83a0892da060e",
317 "name": "from SA5 R-18 branch",
318 "info": "",
319 "x": 120,
Martin Skorupski0ed2b692023-04-08 11:11:38 +0200320 "y": 380,
Martin Skorupskied47c7e2023-02-11 16:19:39 +0100321 "wires": []
322 },
323 {
324 "id": "f4f4670363ec760f",
325 "type": "comment",
326 "z": "51e83a0892da060e",
327 "name": "from O-RAN-SC",
328 "info": "",
329 "x": 100,
330 "y": 140,
331 "wires": []
332 },
333 {
334 "id": "e4dc4647c388ab77",
335 "type": "comment",
336 "z": "51e83a0892da060e",
337 "name": "from ONAP",
338 "info": "",
339 "x": 90,
340 "y": 40,
341 "wires": []
342 },
343 {
344 "id": "fb6413675e22dc71",
345 "type": "inject",
346 "z": "51e83a0892da060e",
347 "name": "o1NotifyPnfRegistration",
348 "props": [
349 {
350 "p": "payload"
351 },
352 {
353 "p": "topic",
354 "vt": "str"
355 }
356 ],
Martin Skorupski61f529a2023-02-05 19:11:49 +0100357 "repeat": "",
358 "crontab": "",
359 "once": false,
360 "onceDelay": 0.1,
Martin Skorupskied47c7e2023-02-11 16:19:39 +0100361 "topic": "o1NotifyPnfRegistration",
Martin Skorupski61f529a2023-02-05 19:11:49 +0100362 "payload": "",
363 "payloadType": "date",
Martin Skorupskied47c7e2023-02-11 16:19:39 +0100364 "x": 140,
365 "y": 180,
Martin Skorupski61f529a2023-02-05 19:11:49 +0100366 "wires": [
367 [
368 "b5533c10604af5a6",
Martin Skorupskied47c7e2023-02-11 16:19:39 +0100369 "51f5fa54867b7e65"
Martin Skorupski61f529a2023-02-05 19:11:49 +0100370 ]
371 ]
372 },
373 {
Martin Skorupskied47c7e2023-02-11 16:19:39 +0100374 "id": "73beab79d5024f4b",
375 "type": "inject",
376 "z": "51e83a0892da060e",
377 "name": "oRanScDuHelloWorldPmStreaming",
378 "props": [
379 {
380 "p": "payload"
381 },
382 {
383 "p": "topic",
384 "vt": "str"
385 }
386 ],
387 "repeat": "",
388 "crontab": "",
389 "once": false,
390 "onceDelay": 0.1,
391 "topic": "oRanScDuHelloWorldPmStreaming",
392 "payload": "",
393 "payloadType": "date",
394 "x": 180,
395 "y": 220,
396 "wires": [
397 [
398 "5c6f93626fac58b5",
399 "b5533c10604af5a6"
400 ]
401 ]
402 },
403 {
404 "id": "51f5fa54867b7e65",
Martin Skorupski61f529a2023-02-05 19:11:49 +0100405 "type": "function",
406 "z": "51e83a0892da060e",
407 "name": "vesStndDefindBody",
Martin Skorupskied47c7e2023-02-11 16:19:39 +0100408 "func": "const timeStamp = new Date(msg.payload);\nmsg.payload = {\n schemaReference: 'https://gerrit.o-ran-sc.org/r/gitweb?p=scp/oam/modeling.git;a=blob_plain;f=data-model/yang/working/o-ran-sc/template/yes-o1-notify-pnf-registration.yang',\n stndDefinedFieldsVersion: '1.0',\n data: {\n 'object-class': 'managed-element',\n 'object-instance': global.get('os').hostname(),\n 'notification-identifier': Number(timeStamp),\n 'notification-type': msg.topic,\n 'event-time': timeStamp.toISOString(),\n systemDN: \"/\",\n 'vendor-pen': '57272',\n 'vendor-name': 'highstreet technologies USA Corp.',\n 'oam-host': global.get('os').networkInterfaces()['eth0'][0].address || global.get('os').hostname(),\n 'oam-port': 830,\n 'unit-family': 'O-RAN-SC',\n 'unit-type': 'PNF2',\n 'restart-reason': 'system-reboot',\n 'serial-number': 'O-RAN-SC-PNF2-10.10.10.11-pnf2 BestInClass',\n 'macAddress': global.get('os').networkInterfaces()['eth0'][0].mac || '00:00:00:00:00:00',\n 'modelNumber': 'O-RAN-SC Model',\n 'softwareVersion': '2.3.5',\n 'manufactureDate': '2021-01-16',\n 'lastServiceDate': '2021-03-26',\n 'transport-protocol': 'SSH',\n 'username': 'netconf',\n 'password': 'netconf!',\n 'reconnect-on-changed-schema': 'false',\n 'sleep-factor': '1.5',\n 'tcpOnly': 'false',\n 'connection-timeout': '20000',\n 'max-connection-attempts': '100',\n 'between-attempts-timeout': '2000',\n 'keepalive-delay': '120'\n }\n};\nmsg.topic = \"stndDefinedFields\";\nreturn msg;",
Martin Skorupski61f529a2023-02-05 19:11:49 +0100409 "outputs": 1,
410 "noerr": 0,
411 "initialize": "",
412 "finalize": "",
413 "libs": [],
Martin Skorupskied47c7e2023-02-11 16:19:39 +0100414 "x": 470,
415 "y": 180,
Martin Skorupski61f529a2023-02-05 19:11:49 +0100416 "wires": [
417 [
418 "f65b1c13e0243ef6"
419 ]
420 ]
Martin Skorupskied47c7e2023-02-11 16:19:39 +0100421 },
422 {
423 "id": "5c6f93626fac58b5",
424 "type": "function",
425 "z": "51e83a0892da060e",
426 "name": "vesStndDefindBody",
427 "func": "const timeStamp = new Date(msg.payload);\nmsg.payload = {\n schemaReference: 'https://gerrit.o-ran-sc.org/r/gitweb?p=scp/oam/modeling.git;a=blob_plain;f=data-model/oas3/experimental/o-ran-sc-du-hello-world-pm-streaming-oas3.yaml#components/schemas/performance-measurement-job',\n stndDefinedFieldsVersion: '1.0',\n data: {\n id: 'id:' + Number(timeStamp),\n 'start-time': timeStamp.toISOString(),\n 'administrative-state': 'unlocked',\n 'operational-state': 'enabled',\n 'user-label': 'pm-kpis',\n 'job-tag': '1a0827b7-25e7-4292-959f-6b8ab46f14c2',\n 'granularity-period': 900,\n measurements: [\n {\n 'measurement-type-instance-reference': 'user-equipment-average-throughput-downlink',\n value: 300000000,\n unit: 'kBis/s'\n },\n {\n 'measurement-type-instance-reference': 'user-equipment-average-throughput-uplink',\n value: 300000000,\n unit: 'kBis/s'\n }\n ]\n }\n};\nmsg.topic = \"stndDefinedFields\";\nreturn msg;\n\n",
428 "outputs": 1,
429 "noerr": 0,
430 "initialize": "",
431 "finalize": "",
432 "libs": [],
433 "x": 470,
434 "y": 220,
435 "wires": [
436 [
437 "f65b1c13e0243ef6"
438 ]
439 ]
440 },
441 {
Martin Skorupski0ed2b692023-04-08 11:11:38 +0200442 "id": "456597d0477d239f",
443 "type": "inject",
444 "z": "51e83a0892da060e",
445 "name": "o-ran-file-management:file-download-event",
446 "props": [
447 {
448 "p": "payload"
449 },
450 {
451 "p": "topic",
452 "vt": "str"
453 }
454 ],
455 "repeat": "",
456 "crontab": "",
457 "once": false,
458 "onceDelay": 0.1,
459 "topic": "o-ran-file-management:file-download-event",
460 "payload": "",
461 "payloadType": "date",
Martin Skorupski119a6d12023-04-13 15:11:05 +0200462 "x": 820,
463 "y": 820,
Martin Skorupski0ed2b692023-04-08 11:11:38 +0200464 "wires": [
465 [
466 "f40d1d16c7044edc",
467 "b5533c10604af5a6"
468 ]
469 ]
470 },
471 {
472 "id": "f40d1d16c7044edc",
473 "type": "function",
474 "z": "51e83a0892da060e",
475 "name": "vesStndDefindBody",
476 "func": "const eventTime = new Date(msg.payload).toISOString();\nmsg.payload = {\n schemaReference: 'https://gerrit.o-ran-sc.org/r/gitweb?p=scp/oam/modeling.git;a=blob_plain;f=data-model/yang/published/o-ran/ru-fh/o-ran-file-management.yang#components/schemas/ofhm-event-stream',\n stndDefinedFieldsVersion: '1.0',\n data: {\n 'ietf:notification': {\n 'eventTime': eventTime,\n 'o-ran-file-management:file-download-event': {\n 'local-logical-file-path': 'o-ran/log',\n 'remote-file-path': 'ftpes://username@ftpes.oam.smo.o-ran-sc/downloads',\n 'status': 'FAILURE',\n 'reject-reason': 'FTPes Server not reachable.'\n }\n }\n }\n};\nmsg.topic = 'stndDefinedFields';\nreturn msg;",
477 "outputs": 1,
478 "noerr": 0,
479 "initialize": "",
480 "finalize": "",
481 "libs": [],
Martin Skorupski119a6d12023-04-13 15:11:05 +0200482 "x": 1150,
483 "y": 820,
Martin Skorupski0ed2b692023-04-08 11:11:38 +0200484 "wires": [
485 [
486 "f65b1c13e0243ef6"
487 ]
488 ]
489 },
490 {
491 "id": "3d8f8180f204d804",
492 "type": "inject",
493 "z": "51e83a0892da060e",
494 "name": "o-ran-file-management:file-upload-notification",
495 "props": [
496 {
497 "p": "payload"
498 },
499 {
500 "p": "topic",
501 "vt": "str"
502 }
503 ],
504 "repeat": "",
505 "crontab": "",
506 "once": false,
507 "onceDelay": 0.1,
508 "topic": "o-ran-file-management:file-upload-notification",
509 "payload": "",
510 "payloadType": "date",
Martin Skorupski119a6d12023-04-13 15:11:05 +0200511 "x": 830,
512 "y": 860,
Martin Skorupski0ed2b692023-04-08 11:11:38 +0200513 "wires": [
514 [
515 "d473bf42d8169599",
516 "b5533c10604af5a6"
517 ]
518 ]
519 },
520 {
521 "id": "d473bf42d8169599",
522 "type": "function",
523 "z": "51e83a0892da060e",
524 "name": "vesStndDefindBody",
525 "func": "const eventTime = new Date(msg.payload).toISOString();\nmsg.payload = {\n schemaReference: 'https://gerrit.o-ran-sc.org/r/gitweb?p=scp/oam/modeling.git;a=blob_plain;f=data-model/yang/published/o-ran/ru-fh/o-ran-file-management.yang#components/schemas/ofhm-event-stream',\n stndDefinedFieldsVersion: '1.0',\n data: {\n 'ietf:notification': {\n 'eventTime': eventTime,\n 'o-ran-file-management:file-upload-notification': {\n 'local-logical-file-path': 'o-ran/log',\n 'remote-file-path': 'ftpes://username@ftpes.oam.smo.o-ran-sc/downloads',\n 'status': 'FAILURE',\n 'reject-reason': 'FTPes Server not reachable.'\n }\n }\n }\n};\nmsg.topic = 'stndDefinedFields';\nreturn msg;",
526 "outputs": 1,
527 "noerr": 0,
528 "initialize": "",
529 "finalize": "",
530 "libs": [],
Martin Skorupski119a6d12023-04-13 15:11:05 +0200531 "x": 1150,
532 "y": 860,
Martin Skorupski0ed2b692023-04-08 11:11:38 +0200533 "wires": [
534 [
535 "f65b1c13e0243ef6"
536 ]
537 ]
538 },
539 {
Martin Skorupski119a6d12023-04-13 15:11:05 +0200540 "id": "ec85f2a64f79450d",
541 "type": "inject",
542 "z": "51e83a0892da060e",
543 "name": "o-ran-supervision:supervision-notification",
544 "props": [
545 {
546 "p": "payload"
547 },
548 {
549 "p": "topic",
550 "vt": "str"
551 }
552 ],
553 "repeat": "",
554 "crontab": "",
555 "once": false,
556 "onceDelay": 0.1,
557 "topic": "o-ran-supervision:supervision-notification",
558 "payload": "",
559 "payloadType": "date",
560 "x": 820,
561 "y": 1140,
562 "wires": [
563 [
564 "96ea9b3d7d4121dc",
565 "b5533c10604af5a6"
566 ]
567 ]
568 },
569 {
570 "id": "96ea9b3d7d4121dc",
571 "type": "function",
572 "z": "51e83a0892da060e",
573 "name": "vesStndDefindBody",
574 "func": "const eventTime = new Date(msg.payload).toISOString();\nmsg.payload = {\n schemaReference: 'https://gerrit.o-ran-sc.org/r/gitweb?p=scp/oam/modeling.git;a=blob_plain;f=data-model/yang/published/o-ran/ru-fh/o-ran-supervision.yang#components/schemas/ofhm-event-stream',\n stndDefinedFieldsVersion: '1.0',\n data: {\n 'ietf:notification': {\n 'eventTime': eventTime,\n 'o-ran-supervision:supervision-notification': {\n 'session-id': 999999\n }\n }\n }\n};\nmsg.topic = 'stndDefinedFields';\nreturn msg;",
575 "outputs": 1,
576 "noerr": 0,
577 "initialize": "",
578 "finalize": "",
579 "libs": [],
580 "x": 1150,
581 "y": 1140,
582 "wires": [
583 [
584 "f65b1c13e0243ef6"
585 ]
586 ]
587 },
588 {
589 "id": "027098b9ba7cd1e6",
590 "type": "comment",
591 "z": "51e83a0892da060e",
592 "name": "from OpenFronthaul Management-Plane",
593 "info": "",
594 "x": 780,
595 "y": 380,
596 "wires": []
597 },
598 {
599 "id": "e80ff3c876a343e5",
600 "type": "inject",
601 "z": "51e83a0892da060e",
602 "d": true,
603 "name": "o-ran-ald-port:dc-enabled-status-change",
604 "props": [
605 {
606 "p": "payload"
607 },
608 {
609 "p": "topic",
610 "vt": "str"
611 }
612 ],
613 "repeat": "",
614 "crontab": "",
615 "once": false,
616 "onceDelay": 0.1,
617 "topic": "o-ran-ald-port:dc-enabled-status-change",
618 "payload": "",
619 "payloadType": "date",
620 "x": 820,
621 "y": 420,
622 "wires": [
623 []
624 ]
625 },
626 {
627 "id": "c61fe1f3bdb954d5",
628 "type": "inject",
629 "z": "51e83a0892da060e",
630 "d": true,
631 "name": "o-ran-ald-port:overcurrent-report",
632 "props": [
633 {
634 "p": "payload"
635 },
636 {
637 "p": "topic",
638 "vt": "str"
639 }
640 ],
641 "repeat": "",
642 "crontab": "",
643 "once": false,
644 "onceDelay": 0.1,
645 "topic": "o-ran-ald-port:overcurrent-report",
646 "payload": "",
647 "payloadType": "date",
648 "x": 790,
649 "y": 460,
650 "wires": [
651 []
652 ]
653 },
654 {
655 "id": "939ac153e888cc93",
656 "type": "inject",
657 "z": "51e83a0892da060e",
658 "d": true,
659 "name": "o-ran-antenna-calibration:antenna-calibration-coordinated",
660 "props": [
661 {
662 "p": "payload"
663 },
664 {
665 "p": "topic",
666 "vt": "str"
667 }
668 ],
669 "repeat": "",
670 "crontab": "",
671 "once": false,
672 "onceDelay": 0.1,
673 "topic": "o-ran-antenna-calibration:antenna-calibration-coordinated",
674 "payload": "",
675 "payloadType": "date",
676 "x": 870,
677 "y": 500,
678 "wires": [
679 []
680 ]
681 },
682 {
683 "id": "f7834ee33e7731fb",
684 "type": "inject",
685 "z": "51e83a0892da060e",
686 "d": true,
687 "name": "o-ran-antenna-calibration:antenna-calibration-multiple-time-resource-params",
688 "props": [
689 {
690 "p": "payload"
691 },
692 {
693 "p": "topic",
694 "vt": "str"
695 }
696 ],
697 "repeat": "",
698 "crontab": "",
699 "once": false,
700 "onceDelay": 0.1,
701 "topic": "o-ran-antenna-calibration:antenna-calibration-multiple-time-resource-params",
702 "payload": "",
703 "payloadType": "date",
704 "x": 930,
705 "y": 540,
706 "wires": [
707 []
708 ]
709 },
710 {
711 "id": "8e98d432fcaef200",
712 "type": "inject",
713 "z": "51e83a0892da060e",
714 "d": true,
715 "name": "o-ran-antenna-calibration:antenna-calibration-required",
716 "props": [
717 {
718 "p": "payload"
719 },
720 {
721 "p": "topic",
722 "vt": "str"
723 }
724 ],
725 "repeat": "",
726 "crontab": "",
727 "once": false,
728 "onceDelay": 0.1,
729 "topic": "o-ran-antenna-calibration:antenna-calibration-required",
730 "payload": "",
731 "payloadType": "date",
732 "x": 860,
733 "y": 580,
734 "wires": [
735 []
736 ]
737 },
738 {
739 "id": "554cb2ce5934b36c",
740 "type": "inject",
741 "z": "51e83a0892da060e",
742 "d": true,
743 "name": "o-ran-antenna-calibration:antenna-calibration-result",
744 "props": [
745 {
746 "p": "payload"
747 },
748 {
749 "p": "topic",
750 "vt": "str"
751 }
752 ],
753 "repeat": "",
754 "crontab": "",
755 "once": false,
756 "onceDelay": 0.1,
757 "topic": "o-ran-antenna-calibration:antenna-calibration-result",
758 "payload": "",
759 "payloadType": "date",
760 "x": 850,
761 "y": 620,
762 "wires": [
763 []
764 ]
765 },
766 {
767 "id": "391ce0bfa3b8003d",
768 "type": "inject",
769 "z": "51e83a0892da060e",
770 "d": true,
771 "name": "o-ran-beamforming:beamforming-information-update",
772 "props": [
773 {
774 "p": "payload"
775 },
776 {
777 "p": "topic",
778 "vt": "str"
779 }
780 ],
781 "repeat": "",
782 "crontab": "",
783 "once": false,
784 "onceDelay": 0.1,
785 "topic": "o-ran-beamforming:beamforming-information-update",
786 "payload": "",
787 "payloadType": "date",
788 "x": 850,
789 "y": 660,
790 "wires": [
791 []
792 ]
793 },
794 {
795 "id": "966ca15e87b419f5",
796 "type": "inject",
797 "z": "51e83a0892da060e",
798 "d": true,
799 "name": "o-ran-beamforming:capability-group-beamforming-information-update",
800 "props": [
801 {
802 "p": "payload"
803 },
804 {
805 "p": "topic",
806 "vt": "str"
807 }
808 ],
809 "repeat": "",
810 "crontab": "",
811 "once": false,
812 "onceDelay": 0.1,
813 "topic": "o-ran-beamforming:capability-group-beamforming-information-update",
814 "payload": "",
815 "payloadType": "date",
816 "x": 900,
817 "y": 700,
818 "wires": [
819 []
820 ]
821 },
822 {
823 "id": "243cffacec890e26",
824 "type": "inject",
825 "z": "51e83a0892da060e",
826 "d": true,
827 "name": "o-ran-beamforming:predefined-beam-tilt-offset-complete",
828 "props": [
829 {
830 "p": "payload"
831 },
832 {
833 "p": "topic",
834 "vt": "str"
835 }
836 ],
837 "repeat": "",
838 "crontab": "",
839 "once": false,
840 "onceDelay": 0.1,
841 "topic": "o-ran-beamforming:predefined-beam-tilt-offset-complete",
842 "payload": "",
843 "payloadType": "date",
844 "x": 860,
845 "y": 740,
846 "wires": [
847 []
848 ]
849 },
850 {
851 "id": "843c4093e2ddd914",
852 "type": "inject",
853 "z": "51e83a0892da060e",
854 "d": true,
855 "name": "o-ran-externalio:external-input-change",
856 "props": [
857 {
858 "p": "payload"
859 },
860 {
861 "p": "topic",
862 "vt": "str"
863 }
864 ],
865 "repeat": "",
866 "crontab": "",
867 "once": false,
868 "onceDelay": 0.1,
869 "topic": "o-ran-externalio:external-input-change",
870 "payload": "",
871 "payloadType": "date",
872 "x": 810,
873 "y": 780,
874 "wires": [
875 []
876 ]
877 },
878 {
879 "id": "627b31335d7e5b6f",
880 "type": "inject",
881 "z": "51e83a0892da060e",
882 "d": true,
883 "name": "o-ran-fm:alarm-notif",
884 "props": [
885 {
886 "p": "payload"
887 },
888 {
889 "p": "topic",
890 "vt": "str"
891 }
892 ],
893 "repeat": "",
894 "crontab": "",
895 "once": false,
896 "onceDelay": 0.1,
897 "topic": "o-ran-fm:alarm-notif",
898 "payload": "",
899 "payloadType": "date",
900 "x": 750,
901 "y": 900,
902 "wires": [
903 []
904 ]
905 },
906 {
907 "id": "87c1e3e0e87bd7c1",
908 "type": "inject",
909 "z": "51e83a0892da060e",
910 "d": true,
911 "name": "o-ran-laa-operations:measurement-result",
912 "props": [
913 {
914 "p": "payload"
915 },
916 {
917 "p": "topic",
918 "vt": "str"
919 }
920 ],
921 "repeat": "",
922 "crontab": "",
923 "once": false,
924 "onceDelay": 0.1,
925 "topic": "o-ran-laa-operations:measurement-result",
926 "payload": "",
927 "payloadType": "date",
928 "x": 820,
929 "y": 940,
930 "wires": [
931 []
932 ]
933 },
934 {
935 "id": "27d98684362bee02",
936 "type": "inject",
937 "z": "51e83a0892da060e",
938 "d": true,
939 "name": "o-ran-performance-management:measurement-result-stats",
940 "props": [
941 {
942 "p": "payload"
943 },
944 {
945 "p": "topic",
946 "vt": "str"
947 }
948 ],
949 "repeat": "",
950 "crontab": "",
951 "once": false,
952 "onceDelay": 0.1,
953 "topic": "o-ran-performance-management:measurement-result-stats",
954 "payload": "",
955 "payloadType": "date",
956 "x": 870,
957 "y": 980,
958 "wires": [
959 []
960 ]
961 },
962 {
963 "id": "03292a70960f7d50",
964 "type": "inject",
965 "z": "51e83a0892da060e",
966 "d": true,
967 "name": "o-ran-software-management:activation-event",
968 "props": [
969 {
970 "p": "payload"
971 },
972 {
973 "p": "topic",
974 "vt": "str"
975 }
976 ],
977 "repeat": "",
978 "crontab": "",
979 "once": false,
980 "onceDelay": 0.1,
981 "topic": "o-ran-software-management:activation-event",
982 "payload": "",
983 "payloadType": "date",
984 "x": 830,
985 "y": 1020,
986 "wires": [
987 []
988 ]
989 },
990 {
991 "id": "652dbf9c0ef73057",
992 "type": "inject",
993 "z": "51e83a0892da060e",
994 "d": true,
995 "name": "o-ran-software-management:download-event",
996 "props": [
997 {
998 "p": "payload"
999 },
1000 {
1001 "p": "topic",
1002 "vt": "str"
1003 }
1004 ],
1005 "repeat": "",
1006 "crontab": "",
1007 "once": false,
1008 "onceDelay": 0.1,
1009 "topic": "o-ran-software-management:download-event",
1010 "payload": "",
1011 "payloadType": "date",
1012 "x": 830,
1013 "y": 1060,
1014 "wires": [
1015 []
1016 ]
1017 },
1018 {
1019 "id": "0636add6c6d4d5e2",
1020 "type": "inject",
1021 "z": "51e83a0892da060e",
1022 "d": true,
1023 "name": "o-ran-software-management:install-event",
1024 "props": [
1025 {
1026 "p": "payload"
1027 },
1028 {
1029 "p": "topic",
1030 "vt": "str"
1031 }
1032 ],
1033 "repeat": "",
1034 "crontab": "",
1035 "once": false,
1036 "onceDelay": 0.1,
1037 "topic": "o-ran-software-management:install-event",
1038 "payload": "",
1039 "payloadType": "date",
1040 "x": 820,
1041 "y": 1100,
1042 "wires": [
1043 []
1044 ]
1045 },
1046 {
1047 "id": "4c274d02a62c7565",
1048 "type": "inject",
1049 "z": "51e83a0892da060e",
1050 "d": true,
1051 "name": "o-ran-sync:gnss-state-change",
1052 "props": [
1053 {
1054 "p": "payload"
1055 },
1056 {
1057 "p": "topic",
1058 "vt": "str"
1059 }
1060 ],
1061 "repeat": "",
1062 "crontab": "",
1063 "once": false,
1064 "onceDelay": 0.1,
1065 "topic": "o-ran-sync:gnss-state-change",
1066 "payload": "",
1067 "payloadType": "date",
1068 "x": 780,
1069 "y": 1180,
1070 "wires": [
1071 []
1072 ]
1073 },
1074 {
1075 "id": "ad0e319d109512e7",
1076 "type": "inject",
1077 "z": "51e83a0892da060e",
1078 "d": true,
1079 "name": "o-ran-sync:ptp-state-change",
1080 "props": [
1081 {
1082 "p": "payload"
1083 },
1084 {
1085 "p": "topic",
1086 "vt": "str"
1087 }
1088 ],
1089 "repeat": "",
1090 "crontab": "",
1091 "once": false,
1092 "onceDelay": 0.1,
1093 "topic": "o-ran-sync:ptp-state-change",
1094 "payload": "",
1095 "payloadType": "date",
1096 "x": 780,
1097 "y": 1220,
1098 "wires": [
1099 []
1100 ]
1101 },
1102 {
1103 "id": "de24c11aa05ce94e",
1104 "type": "inject",
1105 "z": "51e83a0892da060e",
1106 "d": true,
1107 "name": "o-ran-sync:synce-state-change",
1108 "props": [
1109 {
1110 "p": "payload"
1111 },
1112 {
1113 "p": "topic",
1114 "vt": "str"
1115 }
1116 ],
1117 "repeat": "",
1118 "crontab": "",
1119 "once": false,
1120 "onceDelay": 0.1,
1121 "topic": "o-ran-sync:synce-state-change",
1122 "payload": "",
1123 "payloadType": "date",
1124 "x": 790,
1125 "y": 1260,
1126 "wires": [
1127 []
1128 ]
1129 },
1130 {
1131 "id": "a9b33c01b841cc78",
1132 "type": "inject",
1133 "z": "51e83a0892da060e",
1134 "d": true,
1135 "name": "o-ran-sync:synchronization-state-change",
1136 "props": [
1137 {
1138 "p": "payload"
1139 },
1140 {
1141 "p": "topic",
1142 "vt": "str"
1143 }
1144 ],
1145 "repeat": "",
1146 "crontab": "",
1147 "once": false,
1148 "onceDelay": 0.1,
1149 "topic": "o-ran-sync:synchronization-state-change",
1150 "payload": "",
1151 "payloadType": "date",
1152 "x": 820,
1153 "y": 1300,
1154 "wires": [
1155 []
1156 ]
1157 },
1158 {
1159 "id": "f4a87018c664902f",
1160 "type": "inject",
1161 "z": "51e83a0892da060e",
1162 "d": true,
1163 "name": "o-ran-trace:trace-log-generated",
1164 "props": [
1165 {
1166 "p": "payload"
1167 },
1168 {
1169 "p": "topic",
1170 "vt": "str"
1171 }
1172 ],
1173 "repeat": "",
1174 "crontab": "",
1175 "once": false,
1176 "onceDelay": 0.1,
1177 "topic": "o-ran-trace:trace-log-generated",
1178 "payload": "",
1179 "payloadType": "date",
1180 "x": 790,
1181 "y": 1340,
1182 "wires": [
1183 []
1184 ]
1185 },
1186 {
1187 "id": "7cbe4e4faa26098b",
1188 "type": "inject",
1189 "z": "51e83a0892da060e",
1190 "d": true,
1191 "name": "o-ran-uplane-conf:rx-array-carriers-state-change",
1192 "props": [
1193 {
1194 "p": "payload"
1195 },
1196 {
1197 "p": "topic",
1198 "vt": "str"
1199 }
1200 ],
1201 "repeat": "",
1202 "crontab": "",
1203 "once": false,
1204 "onceDelay": 0.1,
1205 "topic": "o-ran-uplane-conf:rx-array-carriers-state-change",
1206 "payload": "",
1207 "payloadType": "date",
1208 "x": 840,
1209 "y": 1420,
1210 "wires": [
1211 []
1212 ]
1213 },
1214 {
1215 "id": "a5eeb9d399c203ca",
1216 "type": "inject",
1217 "z": "51e83a0892da060e",
1218 "d": true,
1219 "name": "o-ran-troubleshooting:troubleshooting-log-generated",
1220 "props": [
1221 {
1222 "p": "payload"
1223 },
1224 {
1225 "p": "topic",
1226 "vt": "str"
1227 }
1228 ],
1229 "repeat": "",
1230 "crontab": "",
1231 "once": false,
1232 "onceDelay": 0.1,
1233 "topic": "o-ran-troubleshooting:troubleshooting-log-generated",
1234 "payload": "",
1235 "payloadType": "date",
1236 "x": 850,
1237 "y": 1380,
1238 "wires": [
1239 []
1240 ]
1241 },
1242 {
1243 "id": "b9d72e03c66c78b3",
1244 "type": "inject",
1245 "z": "51e83a0892da060e",
1246 "d": true,
1247 "name": "o-ran-uplane-conf:tx-array-carriers-state-change",
1248 "props": [
1249 {
1250 "p": "payload"
1251 },
1252 {
1253 "p": "topic",
1254 "vt": "str"
1255 }
1256 ],
1257 "repeat": "",
1258 "crontab": "",
1259 "once": false,
1260 "onceDelay": 0.1,
1261 "topic": "o-ran-uplane-conf:tx-array-carriers-state-change",
1262 "payload": "",
1263 "payloadType": "date",
1264 "x": 840,
1265 "y": 1460,
1266 "wires": [
1267 []
1268 ]
1269 },
1270 {
Martin Skorupski067772b2023-04-17 13:46:09 +02001271 "id": "bfa425cb3d578d07",
1272 "type": "inject",
1273 "z": "51e83a0892da060e",
1274 "name": "notifyNewAlarm",
1275 "props": [
1276 {
1277 "p": "payload"
1278 },
1279 {
1280 "p": "topic",
1281 "vt": "str"
1282 }
1283 ],
1284 "repeat": "",
1285 "crontab": "",
1286 "once": false,
1287 "onceDelay": 0.1,
1288 "topic": "notifyNewAlarm",
1289 "payload": "",
1290 "payloadType": "date",
1291 "x": 120,
Martin Skorupskia39b3c12023-04-17 15:25:28 +02001292 "y": 620,
Martin Skorupski067772b2023-04-17 13:46:09 +02001293 "wires": [
1294 [
1295 "f71ebd595a7de756",
1296 "b5533c10604af5a6"
1297 ]
1298 ]
1299 },
1300 {
1301 "id": "f71ebd595a7de756",
1302 "type": "function",
1303 "z": "51e83a0892da060e",
1304 "name": "vesStndDefindBody",
1305 "func": "const timeStamp = new Date(msg.payload);\nconst alarm = 'Connection Loss';\nconst severity = 'CRITICAL';\n\nmsg.payload = {\n schemaReference: 'https://forge.3gpp.org/rep/sa5/MnS/raw/Rel-18/OpenAPI/TS28532_FaultMnS.yaml#components/schemas/NotifyNewAlarm',\n stndDefinedFieldsVersion: '1.0',\n data: {\n href: global.get('os').hostname(),\n notificationId: Number(timeStamp),\n notificationType: msg.topic,\n eventTime: timeStamp.toISOString(),\n systemDN: '/',\n alarmId: alarm,\n alarmType: 'COMMUNICATIONS_ALARM',\n probableCause: alarm,\n specificProblem: alarm,\n perceivedSeverity: severity,\n backedUpStatus: true,\n backUpObject: 'xyz',\n trendIndication: 'MORE_SEVERE',\n thresholdInfo: {\n observedMeasurement: 'new',\n observedValue: 123.1\n },\n correlatedNotifications: [],\n stateChangeDefinition: [{ 'operational-state': 'DISABLED' }],\n monitoredAttributes: {\n interface: 'uuid-of-the-interface'\n },\n proposedRepairActions: 'Call the police!',\n additionalText: 'O-RAN Software Community OAM',\n additionalInformation: {\n description: 'a test alarm'\n },\n rootCauseIndicator: false\n }\n\n};\nmsg.topic = 'stndDefinedFields';\nreturn msg;",
1306 "outputs": 1,
1307 "noerr": 0,
1308 "initialize": "",
1309 "finalize": "",
1310 "libs": [],
1311 "x": 470,
Martin Skorupskia39b3c12023-04-17 15:25:28 +02001312 "y": 620,
1313 "wires": [
1314 [
1315 "f65b1c13e0243ef6"
1316 ]
1317 ]
1318 },
1319 {
1320 "id": "82da4e47972195a4",
1321 "type": "inject",
1322 "z": "51e83a0892da060e",
1323 "d": true,
1324 "name": "notifyChangedAlarm",
1325 "props": [
1326 {
1327 "p": "payload"
1328 },
1329 {
1330 "p": "topic",
1331 "vt": "str"
1332 }
1333 ],
1334 "repeat": "",
1335 "crontab": "",
1336 "once": false,
1337 "onceDelay": 0.1,
1338 "topic": "notifyChangedAlarm",
1339 "payload": "",
1340 "payloadType": "date",
1341 "x": 130,
1342 "y": 660,
1343 "wires": [
1344 []
1345 ]
1346 },
1347 {
1348 "id": "a3d85c62bee11dad",
1349 "type": "inject",
1350 "z": "51e83a0892da060e",
1351 "d": true,
1352 "name": "notifyChangedAlarmGeneral",
1353 "props": [
1354 {
1355 "p": "payload"
1356 },
1357 {
1358 "p": "topic",
1359 "vt": "str"
1360 }
1361 ],
1362 "repeat": "",
1363 "crontab": "",
1364 "once": false,
1365 "onceDelay": 0.1,
1366 "topic": "notifyChangedAlarmGeneral",
1367 "payload": "",
1368 "payloadType": "date",
1369 "x": 160,
1370 "y": 700,
1371 "wires": [
1372 []
1373 ]
1374 },
1375 {
1376 "id": "e4651c07a56f2448",
1377 "type": "inject",
1378 "z": "51e83a0892da060e",
1379 "d": true,
1380 "name": "notifyAckStateChanged",
1381 "props": [
1382 {
1383 "p": "payload"
1384 },
1385 {
1386 "p": "topic",
1387 "vt": "str"
1388 }
1389 ],
1390 "repeat": "",
1391 "crontab": "",
1392 "once": false,
1393 "onceDelay": 0.1,
1394 "topic": "notifyAckStateChanged",
1395 "payload": "",
1396 "payloadType": "date",
1397 "x": 140,
1398 "y": 740,
1399 "wires": [
1400 []
1401 ]
1402 },
1403 {
1404 "id": "e949006e1b1fe0f0",
1405 "type": "inject",
1406 "z": "51e83a0892da060e",
1407 "d": true,
1408 "name": "notifyCorrelatedNotificationChanged",
1409 "props": [
1410 {
1411 "p": "payload"
1412 },
1413 {
1414 "p": "topic",
1415 "vt": "str"
1416 }
1417 ],
1418 "repeat": "",
1419 "crontab": "",
1420 "once": false,
1421 "onceDelay": 0.1,
1422 "topic": "notifyCorrelatedNotificationChanged",
1423 "payload": "",
1424 "payloadType": "date",
1425 "x": 180,
1426 "y": 780,
1427 "wires": [
1428 []
1429 ]
1430 },
1431 {
1432 "id": "a80169493419d5d0",
1433 "type": "inject",
1434 "z": "51e83a0892da060e",
1435 "d": true,
1436 "name": "notifyComments",
1437 "props": [
1438 {
1439 "p": "payload"
1440 },
1441 {
1442 "p": "topic",
1443 "vt": "str"
1444 }
1445 ],
1446 "repeat": "",
1447 "crontab": "",
1448 "once": false,
1449 "onceDelay": 0.1,
1450 "topic": "notifyComments",
1451 "payload": "",
1452 "payloadType": "date",
1453 "x": 120,
1454 "y": 820,
1455 "wires": [
1456 []
1457 ]
1458 },
1459 {
1460 "id": "9e0f49b3d9b0a5ef",
1461 "type": "inject",
1462 "z": "51e83a0892da060e",
1463 "name": "notifyClearedAlarm",
1464 "props": [
1465 {
1466 "p": "payload"
1467 },
1468 {
1469 "p": "topic",
1470 "vt": "str"
1471 }
1472 ],
1473 "repeat": "",
1474 "crontab": "",
1475 "once": false,
1476 "onceDelay": 0.1,
1477 "topic": "notifyClearedAlarm",
1478 "payload": "",
1479 "payloadType": "date",
1480 "x": 130,
1481 "y": 860,
1482 "wires": [
1483 [
1484 "69b8d53969426ebf",
1485 "b5533c10604af5a6"
1486 ]
1487 ]
1488 },
1489 {
1490 "id": "418d585d7406029b",
1491 "type": "inject",
1492 "z": "51e83a0892da060e",
1493 "d": true,
1494 "name": "notifyAlarmListRebuilt",
1495 "props": [
1496 {
1497 "p": "payload"
1498 },
1499 {
1500 "p": "topic",
1501 "vt": "str"
1502 }
1503 ],
1504 "repeat": "",
1505 "crontab": "",
1506 "once": false,
1507 "onceDelay": 0.1,
1508 "topic": "notifyAlarmListRebuilt",
1509 "payload": "",
1510 "payloadType": "date",
1511 "x": 140,
1512 "y": 900,
1513 "wires": [
1514 []
1515 ]
1516 },
1517 {
1518 "id": "f856982bb3c3a65c",
1519 "type": "inject",
1520 "z": "51e83a0892da060e",
1521 "d": true,
1522 "name": "notifyPotentialFaultyAlarmList",
1523 "props": [
1524 {
1525 "p": "payload"
1526 },
1527 {
1528 "p": "topic",
1529 "vt": "str"
1530 }
1531 ],
1532 "repeat": "",
1533 "crontab": "",
1534 "once": false,
1535 "onceDelay": 0.1,
1536 "topic": "notifyPotentialFaultyAlarmList",
1537 "payload": "",
1538 "payloadType": "date",
1539 "x": 160,
1540 "y": 940,
1541 "wires": [
1542 []
1543 ]
1544 },
1545 {
1546 "id": "4617f66b8940469e",
1547 "type": "comment",
1548 "z": "51e83a0892da060e",
1549 "name": "TS28532_FaultMnS.yaml",
1550 "info": "",
1551 "x": 130,
1552 "y": 580,
1553 "wires": []
1554 },
1555 {
1556 "id": "69b8d53969426ebf",
1557 "type": "function",
1558 "z": "51e83a0892da060e",
1559 "name": "vesStndDefindBody",
1560 "func": "const timeStamp = new Date(msg.payload);\nconst alarm = 'Connection Loss';\nconst severity = 'CRITICAL';\n\nmsg.payload = {\n schemaReference: 'https://forge.3gpp.org/rep/sa5/MnS/raw/Rel-18/OpenAPI/TS28532_FaultMnS.yaml#components/schemas/NotifyClearedAlarm',\n stndDefinedFieldsVersion: '1.0',\n data: {\n href: global.get('os').hostname(),\n notificationId: Number(timeStamp),\n notificationType: msg.topic,\n eventTime: timeStamp.toISOString(),\n systemDN: '/',\n alarmId: alarm,\n alarmType: 'COMMUNICATIONS_ALARM',\n probableCause: alarm,\n perceivedSeverity: severity,\n correlatedNotifications: [],\n clearSystemId: global.get('os').hostname()\n }\n\n};\nmsg.topic = 'stndDefinedFields';\nreturn msg;",
1561 "outputs": 1,
1562 "noerr": 0,
1563 "initialize": "",
1564 "finalize": "",
1565 "libs": [],
1566 "x": 470,
1567 "y": 860,
1568 "wires": [
1569 [
1570 "f65b1c13e0243ef6"
1571 ]
1572 ]
1573 },
1574 {
1575 "id": "01e14b971772ee0a",
1576 "type": "comment",
1577 "z": "51e83a0892da060e",
1578 "name": "TS28532_FileDataReportingMnS.yaml",
1579 "info": "",
1580 "x": 170,
1581 "y": 460,
1582 "wires": []
1583 },
1584 {
1585 "id": "ea15cafd2325d76f",
1586 "type": "inject",
1587 "z": "51e83a0892da060e",
1588 "name": "notifyFilePreparationError",
1589 "props": [
1590 {
1591 "p": "payload"
1592 },
1593 {
1594 "p": "topic",
1595 "vt": "str"
1596 }
1597 ],
1598 "repeat": "",
1599 "crontab": "",
1600 "once": false,
1601 "onceDelay": 0.1,
1602 "topic": "notifyFilePreparationError",
1603 "payload": "",
1604 "payloadType": "date",
1605 "x": 150,
1606 "y": 540,
1607 "wires": [
1608 [
1609 "9f4bc0920fa3c0eb",
1610 "b5533c10604af5a6"
1611 ]
1612 ]
1613 },
1614 {
1615 "id": "9f4bc0920fa3c0eb",
1616 "type": "function",
1617 "z": "51e83a0892da060e",
1618 "name": "vesStndDefindBody",
1619 "func": "const timeStamp = new Date(msg.payload);\nconst startTime = new Date(Math.floor(Number(timeStamp) / 900000) * 900000);\nconst endTime = new Date(Number(startTime) + 900000);\nconst paddy = (num, padlen, padchar) => {\n const pad_char = typeof padchar !== 'undefined' ? padchar : '0';\n const pad = new Array(1 + padlen).join(pad_char);\n return (pad + num).slice(-pad.length);\n}\nconst fileStartTime = [\n paddy(startTime.getFullYear(), 4),\n paddy(startTime.getMonth() + 1, 2),\n paddy(startTime.getDate(), 2),\n '.',\n paddy(startTime.getHours(), 2),\n paddy(startTime.getMinutes(), 2),\n '+0000'\n].join('');\nconst fileEndTime = [\n paddy(endTime.getHours(), 2),\n paddy(endTime.getMinutes(), 2),\n '+0000'\n].join('');\nconst fileLocation = ['/pm-data-files/A', fileStartTime, '-', fileEndTime, '_', env.get('APP_NETWORK_FUNCTION_ID'), '.xml'].join('');\nmsg.payload = {\n schemaReference: 'https://forge.3gpp.org/rep/sa5/MnS/raw/Rel-18/OpenAPI/TS28532_FileDataReportingMnS.yaml#components/schemas/NotifyFilePreparationError',\n stndDefinedFieldsVersion: '1.0',\n data: {\n href: global.get('os').hostname(),\n notificationId: Number(startTime),\n notificationType: msg.topic,\n eventTime: timeStamp.toISOString(),\n systemDN: '/',\n fileInfoList: [\n {\n fileLocation: fileLocation,\n fileSize: 1234,\n fileReadyTime: startTime.toISOString(),\n fileExpirationTime: endTime.toISOString(),\n fileCompression: 'no',\n fileFormat: 'xml',\n fileDataType: 'Performance'\n }\n ],\n reason: 'No Measurements',\n additionalText: 'Please consult customer documentation!'\n }\n};\nmsg.topic = 'stndDefinedFields';\nreturn msg;",
1620 "outputs": 1,
1621 "noerr": 0,
1622 "initialize": "",
1623 "finalize": "",
1624 "libs": [],
1625 "x": 470,
1626 "y": 540,
Martin Skorupski067772b2023-04-17 13:46:09 +02001627 "wires": [
1628 [
1629 "f65b1c13e0243ef6"
1630 ]
1631 ]
1632 },
1633 {
Martin Skorupskied47c7e2023-02-11 16:19:39 +01001634 "id": "910dfec7eb74df65",
1635 "type": "inject",
1636 "z": "c5746e29f53f72ce",
1637 "name": "pnfRegistration",
1638 "props": [
1639 {
1640 "p": "payload"
1641 },
1642 {
1643 "p": "topic",
1644 "vt": "str"
1645 }
1646 ],
Martin Skorupski303c4f92023-04-27 16:58:12 +02001647 "repeat": "60",
Martin Skorupskied47c7e2023-02-11 16:19:39 +01001648 "crontab": "",
1649 "once": false,
1650 "onceDelay": 0.1,
1651 "topic": "pnfRegistration",
1652 "payload": "",
1653 "payloadType": "date",
Martin Skorupski0ed2b692023-04-08 11:11:38 +02001654 "x": 240,
Martin Skorupskied47c7e2023-02-11 16:19:39 +01001655 "y": 80,
1656 "wires": [
1657 [
1658 "e5f66f4bd6777ca0"
1659 ]
1660 ]
1661 },
1662 {
1663 "id": "562063a080cb99d6",
1664 "type": "debug",
1665 "z": "c5746e29f53f72ce",
1666 "name": "eventData",
Martin Skorupski067772b2023-04-17 13:46:09 +02001667 "active": true,
Martin Skorupskied47c7e2023-02-11 16:19:39 +01001668 "tosidebar": true,
Martin Skorupski303c4f92023-04-27 16:58:12 +02001669 "console": true,
1670 "tostatus": true,
Martin Skorupskied47c7e2023-02-11 16:19:39 +01001671 "complete": "payload",
1672 "targetType": "msg",
Martin Skorupski303c4f92023-04-27 16:58:12 +02001673 "statusVal": "payload.length",
1674 "statusType": "msg",
1675 "x": 1170,
Martin Skorupskied47c7e2023-02-11 16:19:39 +01001676 "y": 220,
1677 "wires": []
1678 },
1679 {
1680 "id": "172060688d87f510",
1681 "type": "inject",
1682 "z": "c5746e29f53f72ce",
1683 "d": true,
1684 "name": "notifyHeartbeat",
1685 "props": [
1686 {
1687 "p": "payload"
1688 },
1689 {
1690 "p": "topic",
1691 "vt": "str"
1692 }
1693 ],
1694 "repeat": "5",
1695 "crontab": "",
1696 "once": true,
1697 "onceDelay": 0.1,
1698 "topic": "notifyHeartbeat",
1699 "payload": "",
1700 "payloadType": "date",
Martin Skorupski0ed2b692023-04-08 11:11:38 +02001701 "x": 230,
Martin Skorupski303c4f92023-04-27 16:58:12 +02001702 "y": 400,
Martin Skorupskied47c7e2023-02-11 16:19:39 +01001703 "wires": [
1704 [
1705 "e5f66f4bd6777ca0"
1706 ]
1707 ]
1708 },
1709 {
1710 "id": "311c3b5d3d73fc24",
1711 "type": "inject",
1712 "z": "c5746e29f53f72ce",
1713 "name": "notifyFileReady",
1714 "props": [
1715 {
1716 "p": "payload"
1717 },
1718 {
1719 "p": "topic",
1720 "vt": "str"
1721 }
1722 ],
1723 "repeat": "",
1724 "crontab": "",
1725 "once": false,
1726 "onceDelay": 0.1,
1727 "topic": "notifyFileReady",
1728 "payload": "",
1729 "payloadType": "date",
Martin Skorupski0ed2b692023-04-08 11:11:38 +02001730 "x": 240,
Martin Skorupski303c4f92023-04-27 16:58:12 +02001731 "y": 480,
Martin Skorupskied47c7e2023-02-11 16:19:39 +01001732 "wires": [
1733 [
1734 "e5f66f4bd6777ca0"
1735 ]
1736 ]
1737 },
1738 {
1739 "id": "5437e3fdfca300c9",
1740 "type": "http request",
1741 "z": "c5746e29f53f72ce",
1742 "name": "",
1743 "method": "GET",
1744 "ret": "txt",
1745 "paytoqs": "ignore",
1746 "url": "",
1747 "tls": "7b2f4859e5963695",
1748 "persist": true,
1749 "proxy": "",
1750 "insecureHTTPParser": true,
1751 "authType": "",
1752 "senderr": false,
1753 "headers": [],
Martin Skorupski303c4f92023-04-27 16:58:12 +02001754 "x": 850,
Martin Skorupskied47c7e2023-02-11 16:19:39 +01001755 "y": 220,
1756 "wires": [
1757 [
1758 "dc576b6355478428"
1759 ]
1760 ]
1761 },
1762 {
1763 "id": "dc576b6355478428",
1764 "type": "function",
1765 "z": "c5746e29f53f72ce",
Martin Skorupski303c4f92023-04-27 16:58:12 +02001766 "name": "Provider",
1767 "func": "const string = msg.payload;\nconst array = JSON.parse(string);\nif (Array.isArray(array)) {\n msg.payload = array.map( (item) => {\n if (typeof item === 'string' || item instanceof String) {\n return JSON.parse(item);\n }\n });\n} else {\n msg.payload = array;\n}\nglobal.set('topicData', msg.payload)\nreturn msg;",
Martin Skorupskied47c7e2023-02-11 16:19:39 +01001768 "outputs": 1,
1769 "noerr": 0,
1770 "initialize": "",
1771 "finalize": "",
1772 "libs": [],
Martin Skorupski303c4f92023-04-27 16:58:12 +02001773 "x": 1020,
Martin Skorupskied47c7e2023-02-11 16:19:39 +01001774 "y": 220,
1775 "wires": [
1776 [
Martin Skorupski303c4f92023-04-27 16:58:12 +02001777 "562063a080cb99d6"
Martin Skorupskied47c7e2023-02-11 16:19:39 +01001778 ]
1779 ]
1780 },
1781 {
1782 "id": "e5f66f4bd6777ca0",
1783 "type": "function",
1784 "z": "c5746e29f53f72ce",
Martin Skorupski303c4f92023-04-27 16:58:12 +02001785 "name": "http-preparation",
1786 "func": "const protocol = env.get('MESSAGES_PROTOCOL');\nconst host = env.get('MESSAGES_HOST');\nconst port = env.get('MESSAGES_PORT');;\nconst base = protocol + '://' + host + ':' + port;\n\nconst path = 'events';\nconst urlMapping = {\n pnfRegistration: 'unauthenticated.VES_PNFREG_OUTPUT',\n heartbeat: 'unauthenticated.SEC_HEARTBEAT_OUTPUT',\n fault: 'unauthenticated.SEC_FAULT_OUTPUT',\n o1NotifyPnfRegistration: 'unauthenticated.VES_O1_NOTIFY_PNF_REGISTRATION_OUTPUT',\n oRanScDuHelloWorldPmStreaming: 'unauthenticated.VES_O_RAN_SC_HELLO_WORLD_PM_STREAMING_OUTPUT',\n notifyHeartbeat: 'unauthenticated.SEC_3GPP_HEARTBEAT_OUTPUT',\n notifyFileReady: 'unauthenticated.VES_FILE_READY_OUTPUT',\n notifyFilePreparationError: 'unauthenticated.VES_FILE_READY_OUTPUT',\n oRanOpenfrontManagementPlane: 'unauthenticated.VES_O_RAN_SC_OPENFRONTHAUL_OUTPUT',\n notifyNewAlarm: 'unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT',\n notifyChangedAlarm: 'unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT',\n notifyChangedAlarmGeneral: 'unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT',\n notifyAckStateChanged: 'unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT',\n notifyCorrelatedNotificationChanged: 'unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT',\n notifyComments: 'unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT',\n notifyClearedAlarm: 'unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT',\n notifyAlarmListRebuilt: 'unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT',\n notifyPotentialFaultyAlarmList: 'unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT'\n};\nconst longPolling = '?timeout=60000'\nconst urlTopic = urlMapping[msg.topic] || msg.topic.replace(':', '-');\nmsg.url = [base, path, urlTopic, '1', '1'].join('/') + longPolling;\nreturn msg;",
Martin Skorupskied47c7e2023-02-11 16:19:39 +01001787 "outputs": 1,
1788 "noerr": 0,
1789 "initialize": "",
1790 "finalize": "",
1791 "libs": [],
Martin Skorupski303c4f92023-04-27 16:58:12 +02001792 "x": 500,
Martin Skorupskied47c7e2023-02-11 16:19:39 +01001793 "y": 220,
1794 "wires": [
1795 [
1796 "5437e3fdfca300c9"
1797 ]
1798 ]
1799 },
1800 {
1801 "id": "42275e9c12f8e52b",
1802 "type": "comment",
1803 "z": "c5746e29f53f72ce",
1804 "name": "from O-RAN-SC",
1805 "info": "",
1806 "x": 100,
Martin Skorupski303c4f92023-04-27 16:58:12 +02001807 "y": 220,
Martin Skorupskied47c7e2023-02-11 16:19:39 +01001808 "wires": []
1809 },
1810 {
1811 "id": "e07fa97ebc66dce0",
1812 "type": "comment",
1813 "z": "c5746e29f53f72ce",
1814 "name": "from ONAP",
1815 "info": "",
1816 "x": 90,
1817 "y": 40,
1818 "wires": []
1819 },
1820 {
1821 "id": "44b8c2cc138777f1",
1822 "type": "comment",
1823 "z": "c5746e29f53f72ce",
1824 "name": "from SA5 R-18 branch",
1825 "info": "",
1826 "x": 120,
Martin Skorupski303c4f92023-04-27 16:58:12 +02001827 "y": 360,
Martin Skorupskied47c7e2023-02-11 16:19:39 +01001828 "wires": []
1829 },
1830 {
1831 "id": "4480e5473a65a757",
1832 "type": "inject",
1833 "z": "c5746e29f53f72ce",
1834 "name": "oRanScDuHelloWorldPmStreaming",
1835 "props": [
1836 {
1837 "p": "payload"
1838 },
1839 {
1840 "p": "topic",
1841 "vt": "str"
1842 }
1843 ],
1844 "repeat": "",
1845 "crontab": "",
1846 "once": false,
1847 "onceDelay": 0.1,
1848 "topic": "oRanScDuHelloWorldPmStreaming",
1849 "payload": "",
1850 "payloadType": "date",
1851 "x": 180,
Martin Skorupski303c4f92023-04-27 16:58:12 +02001852 "y": 300,
Martin Skorupskied47c7e2023-02-11 16:19:39 +01001853 "wires": [
1854 [
1855 "e5f66f4bd6777ca0"
1856 ]
1857 ]
1858 },
1859 {
1860 "id": "52f22ee054e5b4ac",
1861 "type": "inject",
1862 "z": "c5746e29f53f72ce",
1863 "name": "o1NotifyPnfRegistration",
1864 "props": [
1865 {
1866 "p": "payload"
1867 },
1868 {
1869 "p": "topic",
1870 "vt": "str"
1871 }
1872 ],
1873 "repeat": "",
1874 "crontab": "",
1875 "once": false,
1876 "onceDelay": 0.1,
1877 "topic": "o1NotifyPnfRegistration",
1878 "payload": "",
1879 "payloadType": "date",
Martin Skorupski0ed2b692023-04-08 11:11:38 +02001880 "x": 220,
Martin Skorupski303c4f92023-04-27 16:58:12 +02001881 "y": 260,
Martin Skorupskied47c7e2023-02-11 16:19:39 +01001882 "wires": [
1883 [
1884 "e5f66f4bd6777ca0"
1885 ]
1886 ]
Martin Skorupski0ed2b692023-04-08 11:11:38 +02001887 },
1888 {
1889 "id": "3051f52553efaaa4",
1890 "type": "http request",
1891 "z": "c5746e29f53f72ce",
1892 "name": "",
1893 "method": "GET",
1894 "ret": "txt",
1895 "paytoqs": "ignore",
Martin Skorupski303c4f92023-04-27 16:58:12 +02001896 "url": "",
Martin Skorupski0ed2b692023-04-08 11:11:38 +02001897 "tls": "7b2f4859e5963695",
1898 "persist": true,
1899 "proxy": "",
1900 "insecureHTTPParser": true,
1901 "authType": "",
1902 "senderr": false,
Martin Skorupski303c4f92023-04-27 16:58:12 +02001903 "headers": [],
1904 "x": 850,
Martin Skorupski0ed2b692023-04-08 11:11:38 +02001905 "y": 180,
1906 "wires": [
1907 [
1908 "dc576b6355478428"
1909 ]
1910 ]
1911 },
1912 {
1913 "id": "0acceacb99b7981a",
1914 "type": "inject",
1915 "z": "c5746e29f53f72ce",
1916 "name": "Topics?",
1917 "props": [
1918 {
1919 "p": "payload"
1920 },
1921 {
1922 "p": "topic",
1923 "vt": "str"
1924 }
1925 ],
1926 "repeat": "",
1927 "crontab": "",
1928 "once": false,
1929 "onceDelay": 0.1,
1930 "topic": "topics",
1931 "payload": "",
1932 "payloadType": "date",
Martin Skorupski303c4f92023-04-27 16:58:12 +02001933 "x": 530,
Martin Skorupski0ed2b692023-04-08 11:11:38 +02001934 "y": 180,
1935 "wires": [
1936 [
Martin Skorupski303c4f92023-04-27 16:58:12 +02001937 "e4ec70e46406674f"
Martin Skorupski0ed2b692023-04-08 11:11:38 +02001938 ]
1939 ]
1940 },
1941 {
1942 "id": "34b7ac222692e06d",
1943 "type": "comment",
1944 "z": "c5746e29f53f72ce",
1945 "name": "from OpenFronthaul Management-Plane",
1946 "info": "",
Martin Skorupski119a6d12023-04-13 15:11:05 +02001947 "x": 580,
Martin Skorupski0ed2b692023-04-08 11:11:38 +02001948 "y": 280,
1949 "wires": []
1950 },
1951 {
Martin Skorupski119a6d12023-04-13 15:11:05 +02001952 "id": "25a3eca83bbc3489",
Martin Skorupski0ed2b692023-04-08 11:11:38 +02001953 "type": "inject",
1954 "z": "c5746e29f53f72ce",
Martin Skorupski119a6d12023-04-13 15:11:05 +02001955 "name": "o-ran-supervision:supervision-notification",
Martin Skorupski0ed2b692023-04-08 11:11:38 +02001956 "props": [
1957 {
1958 "p": "payload"
1959 },
1960 {
1961 "p": "topic",
1962 "vt": "str"
1963 }
1964 ],
Martin Skorupskifcd1a3f2023-04-17 12:59:04 +02001965 "repeat": "60",
Martin Skorupski0ed2b692023-04-08 11:11:38 +02001966 "crontab": "",
1967 "once": false,
1968 "onceDelay": 0.1,
Martin Skorupski119a6d12023-04-13 15:11:05 +02001969 "topic": "o-ran-supervision:supervision-notification",
Martin Skorupski0ed2b692023-04-08 11:11:38 +02001970 "payload": "",
1971 "payloadType": "date",
Martin Skorupski119a6d12023-04-13 15:11:05 +02001972 "x": 620,
1973 "y": 1040,
1974 "wires": [
1975 [
1976 "e5f66f4bd6777ca0"
1977 ]
1978 ]
1979 },
1980 {
1981 "id": "0194d014ef8f6c5e",
1982 "type": "inject",
1983 "z": "c5746e29f53f72ce",
1984 "name": "o-ran-file-management:file-upload-notification",
1985 "props": [
1986 {
1987 "p": "payload"
1988 },
1989 {
1990 "p": "topic",
1991 "vt": "str"
1992 }
1993 ],
1994 "repeat": "",
1995 "crontab": "",
1996 "once": false,
1997 "onceDelay": 0.1,
1998 "topic": "o-ran-file-management:file-upload-notification",
1999 "payload": "",
2000 "payloadType": "date",
2001 "x": 630,
2002 "y": 760,
2003 "wires": [
2004 [
2005 "e5f66f4bd6777ca0"
2006 ]
2007 ]
2008 },
2009 {
2010 "id": "775aacf9e2cc0285",
2011 "type": "inject",
2012 "z": "c5746e29f53f72ce",
2013 "name": "o-ran-file-management:file-download-event",
2014 "props": [
2015 {
2016 "p": "payload"
2017 },
2018 {
2019 "p": "topic",
2020 "vt": "str"
2021 }
2022 ],
2023 "repeat": "",
2024 "crontab": "",
2025 "once": false,
2026 "onceDelay": 0.1,
2027 "topic": "o-ran-file-management:file-download-event",
2028 "payload": "",
2029 "payloadType": "date",
2030 "x": 620,
2031 "y": 720,
2032 "wires": [
2033 [
2034 "e5f66f4bd6777ca0"
2035 ]
2036 ]
2037 },
2038 {
2039 "id": "3e3be17a65a7d1bf",
2040 "type": "inject",
2041 "z": "c5746e29f53f72ce",
2042 "d": true,
2043 "name": "o-ran-ald-port:dc-enabled-status-change",
2044 "props": [
2045 {
2046 "p": "payload"
2047 },
2048 {
2049 "p": "topic",
2050 "vt": "str"
2051 }
2052 ],
2053 "repeat": "",
2054 "crontab": "",
2055 "once": false,
2056 "onceDelay": 0.1,
2057 "topic": "o-ran-ald-port:dc-enabled-status-change",
2058 "payload": "",
2059 "payloadType": "date",
2060 "x": 620,
Martin Skorupski0ed2b692023-04-08 11:11:38 +02002061 "y": 320,
2062 "wires": [
2063 [
2064 "e5f66f4bd6777ca0"
2065 ]
2066 ]
Martin Skorupski119a6d12023-04-13 15:11:05 +02002067 },
2068 {
2069 "id": "665c45e5ccd1c9cb",
2070 "type": "inject",
2071 "z": "c5746e29f53f72ce",
2072 "d": true,
2073 "name": "o-ran-ald-port:overcurrent-report",
2074 "props": [
2075 {
2076 "p": "payload"
2077 },
2078 {
2079 "p": "topic",
2080 "vt": "str"
2081 }
2082 ],
2083 "repeat": "",
2084 "crontab": "",
2085 "once": false,
2086 "onceDelay": 0.1,
2087 "topic": "o-ran-ald-port:overcurrent-report",
2088 "payload": "",
2089 "payloadType": "date",
2090 "x": 590,
2091 "y": 360,
2092 "wires": [
2093 [
2094 "e5f66f4bd6777ca0"
2095 ]
2096 ]
2097 },
2098 {
2099 "id": "5520ce3b83578f17",
2100 "type": "inject",
2101 "z": "c5746e29f53f72ce",
2102 "d": true,
2103 "name": "o-ran-antenna-calibration:antenna-calibration-coordinated",
2104 "props": [
2105 {
2106 "p": "payload"
2107 },
2108 {
2109 "p": "topic",
2110 "vt": "str"
2111 }
2112 ],
2113 "repeat": "",
2114 "crontab": "",
2115 "once": false,
2116 "onceDelay": 0.1,
2117 "topic": "o-ran-antenna-calibration:antenna-calibration-coordinated",
2118 "payload": "",
2119 "payloadType": "date",
2120 "x": 670,
2121 "y": 400,
2122 "wires": [
2123 [
2124 "e5f66f4bd6777ca0"
2125 ]
2126 ]
2127 },
2128 {
2129 "id": "fda3090fb4f1e9d4",
2130 "type": "inject",
2131 "z": "c5746e29f53f72ce",
2132 "d": true,
2133 "name": "o-ran-antenna-calibration:antenna-calibration-multiple-time-resource-params",
2134 "props": [
2135 {
2136 "p": "payload"
2137 },
2138 {
2139 "p": "topic",
2140 "vt": "str"
2141 }
2142 ],
2143 "repeat": "",
2144 "crontab": "",
2145 "once": false,
2146 "onceDelay": 0.1,
2147 "topic": "o-ran-antenna-calibration:antenna-calibration-multiple-time-resource-params",
2148 "payload": "",
2149 "payloadType": "date",
2150 "x": 730,
2151 "y": 440,
2152 "wires": [
2153 [
2154 "e5f66f4bd6777ca0"
2155 ]
2156 ]
2157 },
2158 {
2159 "id": "2551bb6c9746a7c2",
2160 "type": "inject",
2161 "z": "c5746e29f53f72ce",
2162 "d": true,
2163 "name": "o-ran-antenna-calibration:antenna-calibration-required",
2164 "props": [
2165 {
2166 "p": "payload"
2167 },
2168 {
2169 "p": "topic",
2170 "vt": "str"
2171 }
2172 ],
2173 "repeat": "",
2174 "crontab": "",
2175 "once": false,
2176 "onceDelay": 0.1,
2177 "topic": "o-ran-antenna-calibration:antenna-calibration-required",
2178 "payload": "",
2179 "payloadType": "date",
2180 "x": 660,
2181 "y": 480,
2182 "wires": [
2183 [
2184 "e5f66f4bd6777ca0"
2185 ]
2186 ]
2187 },
2188 {
2189 "id": "0dcc72d0235e6336",
2190 "type": "inject",
2191 "z": "c5746e29f53f72ce",
2192 "d": true,
2193 "name": "o-ran-antenna-calibration:antenna-calibration-result",
2194 "props": [
2195 {
2196 "p": "payload"
2197 },
2198 {
2199 "p": "topic",
2200 "vt": "str"
2201 }
2202 ],
2203 "repeat": "",
2204 "crontab": "",
2205 "once": false,
2206 "onceDelay": 0.1,
2207 "topic": "o-ran-antenna-calibration:antenna-calibration-result",
2208 "payload": "",
2209 "payloadType": "date",
2210 "x": 650,
2211 "y": 520,
2212 "wires": [
2213 [
2214 "e5f66f4bd6777ca0"
2215 ]
2216 ]
2217 },
2218 {
2219 "id": "0abafa5c1a4ebd33",
2220 "type": "inject",
2221 "z": "c5746e29f53f72ce",
2222 "d": true,
2223 "name": "o-ran-beamforming:beamforming-information-update",
2224 "props": [
2225 {
2226 "p": "payload"
2227 },
2228 {
2229 "p": "topic",
2230 "vt": "str"
2231 }
2232 ],
2233 "repeat": "",
2234 "crontab": "",
2235 "once": false,
2236 "onceDelay": 0.1,
2237 "topic": "o-ran-beamforming:beamforming-information-update",
2238 "payload": "",
2239 "payloadType": "date",
2240 "x": 650,
2241 "y": 560,
2242 "wires": [
2243 [
2244 "e5f66f4bd6777ca0"
2245 ]
2246 ]
2247 },
2248 {
2249 "id": "d74c5f1885485d8c",
2250 "type": "inject",
2251 "z": "c5746e29f53f72ce",
2252 "d": true,
2253 "name": "o-ran-beamforming:capability-group-beamforming-information-update",
2254 "props": [
2255 {
2256 "p": "payload"
2257 },
2258 {
2259 "p": "topic",
2260 "vt": "str"
2261 }
2262 ],
2263 "repeat": "",
2264 "crontab": "",
2265 "once": false,
2266 "onceDelay": 0.1,
2267 "topic": "o-ran-beamforming:capability-group-beamforming-information-update",
2268 "payload": "",
2269 "payloadType": "date",
2270 "x": 700,
2271 "y": 600,
2272 "wires": [
2273 [
2274 "e5f66f4bd6777ca0"
2275 ]
2276 ]
2277 },
2278 {
2279 "id": "8d755b355a3d5557",
2280 "type": "inject",
2281 "z": "c5746e29f53f72ce",
2282 "d": true,
2283 "name": "o-ran-beamforming:predefined-beam-tilt-offset-complete",
2284 "props": [
2285 {
2286 "p": "payload"
2287 },
2288 {
2289 "p": "topic",
2290 "vt": "str"
2291 }
2292 ],
2293 "repeat": "",
2294 "crontab": "",
2295 "once": false,
2296 "onceDelay": 0.1,
2297 "topic": "o-ran-beamforming:predefined-beam-tilt-offset-complete",
2298 "payload": "",
2299 "payloadType": "date",
2300 "x": 660,
2301 "y": 640,
2302 "wires": [
2303 []
2304 ]
2305 },
2306 {
2307 "id": "6ebe4693c580ae00",
2308 "type": "inject",
2309 "z": "c5746e29f53f72ce",
2310 "d": true,
2311 "name": "o-ran-externalio:external-input-change",
2312 "props": [
2313 {
2314 "p": "payload"
2315 },
2316 {
2317 "p": "topic",
2318 "vt": "str"
2319 }
2320 ],
2321 "repeat": "",
2322 "crontab": "",
2323 "once": false,
2324 "onceDelay": 0.1,
2325 "topic": "o-ran-externalio:external-input-change",
2326 "payload": "",
2327 "payloadType": "date",
2328 "x": 610,
2329 "y": 680,
2330 "wires": [
2331 []
2332 ]
2333 },
2334 {
2335 "id": "89144928a6ead625",
2336 "type": "inject",
2337 "z": "c5746e29f53f72ce",
2338 "d": true,
2339 "name": "o-ran-fm:alarm-notif",
2340 "props": [
2341 {
2342 "p": "payload"
2343 },
2344 {
2345 "p": "topic",
2346 "vt": "str"
2347 }
2348 ],
2349 "repeat": "",
2350 "crontab": "",
2351 "once": false,
2352 "onceDelay": 0.1,
2353 "topic": "o-ran-fm:alarm-notif",
2354 "payload": "",
2355 "payloadType": "date",
2356 "x": 550,
2357 "y": 800,
2358 "wires": [
2359 [
2360 "e5f66f4bd6777ca0"
2361 ]
2362 ]
2363 },
2364 {
2365 "id": "8ebca0cd456a9763",
2366 "type": "inject",
2367 "z": "c5746e29f53f72ce",
2368 "d": true,
2369 "name": "o-ran-laa-operations:measurement-result",
2370 "props": [
2371 {
2372 "p": "payload"
2373 },
2374 {
2375 "p": "topic",
2376 "vt": "str"
2377 }
2378 ],
2379 "repeat": "",
2380 "crontab": "",
2381 "once": false,
2382 "onceDelay": 0.1,
2383 "topic": "o-ran-laa-operations:measurement-result",
2384 "payload": "",
2385 "payloadType": "date",
2386 "x": 620,
2387 "y": 840,
2388 "wires": [
2389 [
2390 "e5f66f4bd6777ca0"
2391 ]
2392 ]
2393 },
2394 {
2395 "id": "4778511387bc7449",
2396 "type": "inject",
2397 "z": "c5746e29f53f72ce",
2398 "d": true,
2399 "name": "o-ran-performance-management:measurement-result-stats",
2400 "props": [
2401 {
2402 "p": "payload"
2403 },
2404 {
2405 "p": "topic",
2406 "vt": "str"
2407 }
2408 ],
2409 "repeat": "",
2410 "crontab": "",
2411 "once": false,
2412 "onceDelay": 0.1,
2413 "topic": "o-ran-performance-management:measurement-result-stats",
2414 "payload": "",
2415 "payloadType": "date",
2416 "x": 670,
2417 "y": 880,
2418 "wires": [
2419 [
2420 "e5f66f4bd6777ca0"
2421 ]
2422 ]
2423 },
2424 {
2425 "id": "c106623d629fbe54",
2426 "type": "inject",
2427 "z": "c5746e29f53f72ce",
2428 "d": true,
2429 "name": "o-ran-software-management:activation-event",
2430 "props": [
2431 {
2432 "p": "payload"
2433 },
2434 {
2435 "p": "topic",
2436 "vt": "str"
2437 }
2438 ],
2439 "repeat": "",
2440 "crontab": "",
2441 "once": false,
2442 "onceDelay": 0.1,
2443 "topic": "o-ran-software-management:activation-event",
2444 "payload": "",
2445 "payloadType": "date",
2446 "x": 630,
2447 "y": 920,
2448 "wires": [
2449 [
2450 "e5f66f4bd6777ca0"
2451 ]
2452 ]
2453 },
2454 {
2455 "id": "4db0e5b915d76ddb",
2456 "type": "inject",
2457 "z": "c5746e29f53f72ce",
2458 "d": true,
2459 "name": "o-ran-software-management:download-event",
2460 "props": [
2461 {
2462 "p": "payload"
2463 },
2464 {
2465 "p": "topic",
2466 "vt": "str"
2467 }
2468 ],
2469 "repeat": "",
2470 "crontab": "",
2471 "once": false,
2472 "onceDelay": 0.1,
2473 "topic": "o-ran-software-management:download-event",
2474 "payload": "",
2475 "payloadType": "date",
2476 "x": 630,
2477 "y": 960,
2478 "wires": [
2479 [
2480 "e5f66f4bd6777ca0"
2481 ]
2482 ]
2483 },
2484 {
2485 "id": "8d3fab47729a807d",
2486 "type": "inject",
2487 "z": "c5746e29f53f72ce",
2488 "d": true,
2489 "name": "o-ran-software-management:install-event",
2490 "props": [
2491 {
2492 "p": "payload"
2493 },
2494 {
2495 "p": "topic",
2496 "vt": "str"
2497 }
2498 ],
2499 "repeat": "",
2500 "crontab": "",
2501 "once": false,
2502 "onceDelay": 0.1,
2503 "topic": "o-ran-software-management:install-event",
2504 "payload": "",
2505 "payloadType": "date",
2506 "x": 620,
2507 "y": 1000,
2508 "wires": [
2509 [
2510 "e5f66f4bd6777ca0"
2511 ]
2512 ]
2513 },
2514 {
2515 "id": "7ac87519cb59151d",
2516 "type": "inject",
2517 "z": "c5746e29f53f72ce",
2518 "d": true,
2519 "name": "o-ran-sync:gnss-state-change",
2520 "props": [
2521 {
2522 "p": "payload"
2523 },
2524 {
2525 "p": "topic",
2526 "vt": "str"
2527 }
2528 ],
2529 "repeat": "",
2530 "crontab": "",
2531 "once": false,
2532 "onceDelay": 0.1,
2533 "topic": "o-ran-sync:gnss-state-change",
2534 "payload": "",
2535 "payloadType": "date",
2536 "x": 580,
2537 "y": 1080,
2538 "wires": [
2539 [
2540 "e5f66f4bd6777ca0"
2541 ]
2542 ]
2543 },
2544 {
2545 "id": "55725b18e27c1a27",
2546 "type": "inject",
2547 "z": "c5746e29f53f72ce",
2548 "d": true,
2549 "name": "o-ran-sync:ptp-state-change",
2550 "props": [
2551 {
2552 "p": "payload"
2553 },
2554 {
2555 "p": "topic",
2556 "vt": "str"
2557 }
2558 ],
2559 "repeat": "",
2560 "crontab": "",
2561 "once": false,
2562 "onceDelay": 0.1,
2563 "topic": "o-ran-sync:ptp-state-change",
2564 "payload": "",
2565 "payloadType": "date",
2566 "x": 580,
2567 "y": 1120,
2568 "wires": [
2569 [
2570 "e5f66f4bd6777ca0"
2571 ]
2572 ]
2573 },
2574 {
2575 "id": "dde01e699dec844f",
2576 "type": "inject",
2577 "z": "c5746e29f53f72ce",
2578 "d": true,
2579 "name": "o-ran-sync:synce-state-change",
2580 "props": [
2581 {
2582 "p": "payload"
2583 },
2584 {
2585 "p": "topic",
2586 "vt": "str"
2587 }
2588 ],
2589 "repeat": "",
2590 "crontab": "",
2591 "once": false,
2592 "onceDelay": 0.1,
2593 "topic": "o-ran-sync:synce-state-change",
2594 "payload": "",
2595 "payloadType": "date",
2596 "x": 590,
2597 "y": 1160,
2598 "wires": [
2599 [
2600 "e5f66f4bd6777ca0"
2601 ]
2602 ]
2603 },
2604 {
2605 "id": "5457d995823e58f6",
2606 "type": "inject",
2607 "z": "c5746e29f53f72ce",
2608 "d": true,
2609 "name": "o-ran-sync:synchronization-state-change",
2610 "props": [
2611 {
2612 "p": "payload"
2613 },
2614 {
2615 "p": "topic",
2616 "vt": "str"
2617 }
2618 ],
2619 "repeat": "",
2620 "crontab": "",
2621 "once": false,
2622 "onceDelay": 0.1,
2623 "topic": "o-ran-sync:synchronization-state-change",
2624 "payload": "",
2625 "payloadType": "date",
2626 "x": 620,
2627 "y": 1200,
2628 "wires": [
2629 [
2630 "e5f66f4bd6777ca0"
2631 ]
2632 ]
2633 },
2634 {
2635 "id": "ca9f765b3838d5ff",
2636 "type": "inject",
2637 "z": "c5746e29f53f72ce",
2638 "d": true,
2639 "name": "o-ran-trace:trace-log-generated",
2640 "props": [
2641 {
2642 "p": "payload"
2643 },
2644 {
2645 "p": "topic",
2646 "vt": "str"
2647 }
2648 ],
2649 "repeat": "",
2650 "crontab": "",
2651 "once": false,
2652 "onceDelay": 0.1,
2653 "topic": "o-ran-trace:trace-log-generated",
2654 "payload": "",
2655 "payloadType": "date",
2656 "x": 590,
2657 "y": 1240,
2658 "wires": [
2659 [
2660 "e5f66f4bd6777ca0"
2661 ]
2662 ]
2663 },
2664 {
2665 "id": "0a837c4beaa140e0",
2666 "type": "inject",
2667 "z": "c5746e29f53f72ce",
2668 "d": true,
2669 "name": "o-ran-uplane-conf:rx-array-carriers-state-change",
2670 "props": [
2671 {
2672 "p": "payload"
2673 },
2674 {
2675 "p": "topic",
2676 "vt": "str"
2677 }
2678 ],
2679 "repeat": "",
2680 "crontab": "",
2681 "once": false,
2682 "onceDelay": 0.1,
2683 "topic": "o-ran-uplane-conf:rx-array-carriers-state-change",
2684 "payload": "",
2685 "payloadType": "date",
2686 "x": 640,
2687 "y": 1320,
2688 "wires": [
2689 [
2690 "e5f66f4bd6777ca0"
2691 ]
2692 ]
2693 },
2694 {
2695 "id": "3dfb5349f08c5ea9",
2696 "type": "inject",
2697 "z": "c5746e29f53f72ce",
2698 "d": true,
2699 "name": "o-ran-troubleshooting:troubleshooting-log-generated",
2700 "props": [
2701 {
2702 "p": "payload"
2703 },
2704 {
2705 "p": "topic",
2706 "vt": "str"
2707 }
2708 ],
2709 "repeat": "",
2710 "crontab": "",
2711 "once": false,
2712 "onceDelay": 0.1,
2713 "topic": "o-ran-troubleshooting:troubleshooting-log-generated",
2714 "payload": "",
2715 "payloadType": "date",
2716 "x": 650,
2717 "y": 1280,
2718 "wires": [
2719 [
2720 "e5f66f4bd6777ca0"
2721 ]
2722 ]
2723 },
2724 {
2725 "id": "030a6e7e6371402e",
2726 "type": "inject",
2727 "z": "c5746e29f53f72ce",
2728 "d": true,
2729 "name": "o-ran-uplane-conf:tx-array-carriers-state-change",
2730 "props": [
2731 {
2732 "p": "payload"
2733 },
2734 {
2735 "p": "topic",
2736 "vt": "str"
2737 }
2738 ],
2739 "repeat": "",
2740 "crontab": "",
2741 "once": false,
2742 "onceDelay": 0.1,
2743 "topic": "o-ran-uplane-conf:tx-array-carriers-state-change",
2744 "payload": "",
2745 "payloadType": "date",
2746 "x": 640,
2747 "y": 1360,
2748 "wires": [
2749 [
2750 "e5f66f4bd6777ca0"
2751 ]
2752 ]
Martin Skorupskidf57ed92023-04-14 09:39:04 +02002753 },
2754 {
Martin Skorupski067772b2023-04-17 13:46:09 +02002755 "id": "d932661ae80274a1",
2756 "type": "inject",
2757 "z": "c5746e29f53f72ce",
2758 "name": "notifyNewAlarm",
2759 "props": [
2760 {
2761 "p": "payload"
2762 },
2763 {
2764 "p": "topic",
2765 "vt": "str"
2766 }
2767 ],
2768 "repeat": "",
2769 "crontab": "",
2770 "once": false,
2771 "onceDelay": 0.1,
2772 "topic": "notifyNewAlarm",
2773 "payload": "",
2774 "payloadType": "date",
2775 "x": 240,
Martin Skorupski303c4f92023-04-27 16:58:12 +02002776 "y": 600,
Martin Skorupskia39b3c12023-04-17 15:25:28 +02002777 "wires": [
2778 [
2779 "e5f66f4bd6777ca0"
2780 ]
2781 ]
2782 },
2783 {
2784 "id": "c4337f08252203ec",
2785 "type": "inject",
2786 "z": "c5746e29f53f72ce",
2787 "name": "notifyChangedAlarm",
2788 "props": [
2789 {
2790 "p": "payload"
2791 },
2792 {
2793 "p": "topic",
2794 "vt": "str"
2795 }
2796 ],
2797 "repeat": "",
2798 "crontab": "",
2799 "once": false,
2800 "onceDelay": 0.1,
2801 "topic": "notifyChangedAlarm",
2802 "payload": "",
2803 "payloadType": "date",
2804 "x": 230,
Martin Skorupski303c4f92023-04-27 16:58:12 +02002805 "y": 640,
Martin Skorupskia39b3c12023-04-17 15:25:28 +02002806 "wires": [
2807 [
2808 "e5f66f4bd6777ca0"
2809 ]
2810 ]
2811 },
2812 {
2813 "id": "62048992a866405d",
2814 "type": "inject",
2815 "z": "c5746e29f53f72ce",
2816 "name": "notifyChangedAlarmGeneral",
2817 "props": [
2818 {
2819 "p": "payload"
2820 },
2821 {
2822 "p": "topic",
2823 "vt": "str"
2824 }
2825 ],
2826 "repeat": "",
2827 "crontab": "",
2828 "once": false,
2829 "onceDelay": 0.1,
2830 "topic": "notifyChangedAlarmGeneral",
2831 "payload": "",
2832 "payloadType": "date",
2833 "x": 200,
Martin Skorupski303c4f92023-04-27 16:58:12 +02002834 "y": 680,
Martin Skorupskia39b3c12023-04-17 15:25:28 +02002835 "wires": [
2836 [
2837 "e5f66f4bd6777ca0"
2838 ]
2839 ]
2840 },
2841 {
2842 "id": "353e0a6e1e693ae5",
2843 "type": "inject",
2844 "z": "c5746e29f53f72ce",
2845 "name": "notifyAckStateChanged",
2846 "props": [
2847 {
2848 "p": "payload"
2849 },
2850 {
2851 "p": "topic",
2852 "vt": "str"
2853 }
2854 ],
2855 "repeat": "",
2856 "crontab": "",
2857 "once": false,
2858 "onceDelay": 0.1,
2859 "topic": "notifyAckStateChanged",
2860 "payload": "",
2861 "payloadType": "date",
2862 "x": 220,
Martin Skorupski303c4f92023-04-27 16:58:12 +02002863 "y": 720,
Martin Skorupskia39b3c12023-04-17 15:25:28 +02002864 "wires": [
2865 [
2866 "e5f66f4bd6777ca0"
2867 ]
2868 ]
2869 },
2870 {
2871 "id": "3879e3d1320f1459",
2872 "type": "inject",
2873 "z": "c5746e29f53f72ce",
2874 "name": "notifyCorrelatedNotificationChanged",
2875 "props": [
2876 {
2877 "p": "payload"
2878 },
2879 {
2880 "p": "topic",
2881 "vt": "str"
2882 }
2883 ],
2884 "repeat": "",
2885 "crontab": "",
2886 "once": false,
2887 "onceDelay": 0.1,
2888 "topic": "notifyCorrelatedNotificationChanged",
2889 "payload": "",
2890 "payloadType": "date",
2891 "x": 180,
Martin Skorupski303c4f92023-04-27 16:58:12 +02002892 "y": 760,
Martin Skorupskia39b3c12023-04-17 15:25:28 +02002893 "wires": [
2894 [
2895 "e5f66f4bd6777ca0"
2896 ]
2897 ]
2898 },
2899 {
2900 "id": "ea314b13220c8f40",
2901 "type": "inject",
2902 "z": "c5746e29f53f72ce",
2903 "name": "notifyComments",
2904 "props": [
2905 {
2906 "p": "payload"
2907 },
2908 {
2909 "p": "topic",
2910 "vt": "str"
2911 }
2912 ],
2913 "repeat": "",
2914 "crontab": "",
2915 "once": false,
2916 "onceDelay": 0.1,
2917 "topic": "notifyComments",
2918 "payload": "",
2919 "payloadType": "date",
2920 "x": 240,
Martin Skorupski303c4f92023-04-27 16:58:12 +02002921 "y": 800,
Martin Skorupskia39b3c12023-04-17 15:25:28 +02002922 "wires": [
2923 [
2924 "e5f66f4bd6777ca0"
2925 ]
2926 ]
2927 },
2928 {
2929 "id": "407c7befca74d24b",
2930 "type": "inject",
2931 "z": "c5746e29f53f72ce",
2932 "name": "notifyClearedAlarm",
2933 "props": [
2934 {
2935 "p": "payload"
2936 },
2937 {
2938 "p": "topic",
2939 "vt": "str"
2940 }
2941 ],
2942 "repeat": "",
2943 "crontab": "",
2944 "once": false,
2945 "onceDelay": 0.1,
2946 "topic": "notifyClearedAlarm",
2947 "payload": "",
2948 "payloadType": "date",
2949 "x": 230,
Martin Skorupski303c4f92023-04-27 16:58:12 +02002950 "y": 840,
Martin Skorupskia39b3c12023-04-17 15:25:28 +02002951 "wires": [
2952 [
2953 "e5f66f4bd6777ca0"
2954 ]
2955 ]
2956 },
2957 {
2958 "id": "c054dd03a80a4e48",
2959 "type": "inject",
2960 "z": "c5746e29f53f72ce",
2961 "name": "notifyAlarmListRebuilt",
2962 "props": [
2963 {
2964 "p": "payload"
2965 },
2966 {
2967 "p": "topic",
2968 "vt": "str"
2969 }
2970 ],
2971 "repeat": "",
2972 "crontab": "",
2973 "once": false,
2974 "onceDelay": 0.1,
2975 "topic": "notifyAlarmListRebuilt",
2976 "payload": "",
2977 "payloadType": "date",
2978 "x": 220,
Martin Skorupski303c4f92023-04-27 16:58:12 +02002979 "y": 880,
Martin Skorupskia39b3c12023-04-17 15:25:28 +02002980 "wires": [
2981 [
2982 "e5f66f4bd6777ca0"
2983 ]
2984 ]
2985 },
2986 {
2987 "id": "5c8b20a14ea5863a",
2988 "type": "inject",
2989 "z": "c5746e29f53f72ce",
2990 "name": "notifyPotentialFaultyAlarmList",
2991 "props": [
2992 {
2993 "p": "payload"
2994 },
2995 {
2996 "p": "topic",
2997 "vt": "str"
2998 }
2999 ],
3000 "repeat": "",
3001 "crontab": "",
3002 "once": false,
3003 "onceDelay": 0.1,
3004 "topic": "notifyPotentialFaultyAlarmList",
3005 "payload": "",
3006 "payloadType": "date",
3007 "x": 200,
Martin Skorupski303c4f92023-04-27 16:58:12 +02003008 "y": 920,
Martin Skorupskia39b3c12023-04-17 15:25:28 +02003009 "wires": [
3010 [
3011 "e5f66f4bd6777ca0"
3012 ]
3013 ]
3014 },
3015 {
3016 "id": "f5d7d173f1ac5213",
3017 "type": "comment",
3018 "z": "c5746e29f53f72ce",
3019 "name": "TS28532_FaultMnS.yaml",
3020 "info": "",
3021 "x": 130,
Martin Skorupski303c4f92023-04-27 16:58:12 +02003022 "y": 560,
Martin Skorupskia39b3c12023-04-17 15:25:28 +02003023 "wires": []
3024 },
3025 {
3026 "id": "c6687553f38611cd",
3027 "type": "comment",
3028 "z": "c5746e29f53f72ce",
3029 "name": "TS28532_FileDataReportingMnS.yaml",
3030 "info": "",
3031 "x": 170,
Martin Skorupski303c4f92023-04-27 16:58:12 +02003032 "y": 440,
Martin Skorupskia39b3c12023-04-17 15:25:28 +02003033 "wires": []
3034 },
3035 {
3036 "id": "64720217524b2f2c",
3037 "type": "inject",
3038 "z": "c5746e29f53f72ce",
3039 "name": "notifyFilePreparationError",
3040 "props": [
3041 {
3042 "p": "payload"
3043 },
3044 {
3045 "p": "topic",
3046 "vt": "str"
3047 }
3048 ],
3049 "repeat": "",
3050 "crontab": "",
3051 "once": false,
3052 "onceDelay": 0.1,
3053 "topic": "notifyFilePreparationError",
3054 "payload": "",
3055 "payloadType": "date",
3056 "x": 210,
Martin Skorupski303c4f92023-04-27 16:58:12 +02003057 "y": 520,
3058 "wires": [
3059 [
3060 "e5f66f4bd6777ca0"
3061 ]
3062 ]
3063 },
3064 {
3065 "id": "e4ec70e46406674f",
3066 "type": "function",
3067 "z": "c5746e29f53f72ce",
3068 "name": "http-preparation",
3069 "func": "const protocol = env.get('MESSAGES_PROTOCOL');\nconst host = env.get('MESSAGES_HOST');\nconst port = env.get('MESSAGES_PORT');\nconst base = protocol + '://' + host + ':' + port;\nconst path = msg.topic;\nmsg.url = [base, path].join('/');\nreturn msg;",
3070 "outputs": 1,
3071 "noerr": 0,
3072 "initialize": "",
3073 "finalize": "",
3074 "libs": [],
3075 "x": 680,
3076 "y": 180,
3077 "wires": [
3078 [
3079 "3051f52553efaaa4"
3080 ]
3081 ]
3082 },
3083 {
3084 "id": "58232148f55eafc9",
3085 "type": "inject",
3086 "z": "c5746e29f53f72ce",
3087 "name": "heartbeat (deprecated)",
3088 "props": [
3089 {
3090 "p": "payload"
3091 },
3092 {
3093 "p": "topic",
3094 "vt": "str"
3095 }
3096 ],
3097 "repeat": "60",
3098 "crontab": "",
3099 "once": false,
3100 "onceDelay": 0.1,
3101 "topic": "heartbeat",
3102 "payload": "",
3103 "payloadType": "date",
3104 "x": 210,
3105 "y": 120,
3106 "wires": [
3107 [
3108 "e5f66f4bd6777ca0"
3109 ]
3110 ]
3111 },
3112 {
3113 "id": "23cf0bc0546d281b",
3114 "type": "inject",
3115 "z": "c5746e29f53f72ce",
3116 "name": "fault (deprecated)",
3117 "props": [
3118 {
3119 "p": "payload"
3120 },
3121 {
3122 "p": "topic",
3123 "vt": "str"
3124 }
3125 ],
3126 "repeat": "60",
3127 "crontab": "",
3128 "once": false,
3129 "onceDelay": 0.1,
3130 "topic": "fault",
3131 "payload": "",
3132 "payloadType": "date",
3133 "x": 230,
3134 "y": 160,
Martin Skorupski067772b2023-04-17 13:46:09 +02003135 "wires": [
3136 [
3137 "e5f66f4bd6777ca0"
3138 ]
3139 ]
3140 },
3141 {
Martin Skorupskidf57ed92023-04-14 09:39:04 +02003142 "id": "c5648c1528804847",
3143 "type": "inject",
3144 "z": "7ba02ed596e8cde5",
Martin Skorupski115458a2023-04-14 12:14:23 +02003145 "name": "supervision-watchdog-reset for O-RU-11221",
Martin Skorupskidf57ed92023-04-14 09:39:04 +02003146 "props": [
3147 {
3148 "p": "payload"
3149 },
3150 {
3151 "p": "topic",
3152 "vt": "str"
3153 }
3154 ],
3155 "repeat": "",
3156 "crontab": "",
3157 "once": false,
3158 "onceDelay": 0.1,
3159 "topic": "supervision-watchdog-reset",
3160 "payload": "[\"O-RU-11221\"]",
3161 "payloadType": "json",
Martin Skorupski115458a2023-04-14 12:14:23 +02003162 "x": 230,
3163 "y": 100,
Martin Skorupskidf57ed92023-04-14 09:39:04 +02003164 "wires": [
3165 [
3166 "2bd693b8c7e5a3cb"
3167 ]
3168 ]
3169 },
3170 {
3171 "id": "329e838eb4bf63f4",
3172 "type": "function",
3173 "z": "7ba02ed596e8cde5",
Martin Skorupski303c4f92023-04-27 16:58:12 +02003174 "name": "http-preparation",
3175 "func": "const protocol = env.get('SDN_CONTROLLER_PROTOCOL');\nconst host = env.get('SDN_CONTROLLER_HOST');\nconst port = env.get('SDN_CONTROLLER_PORT');;\nconst base = protocol + '://' + host + ':' + port;\nconst path = 'rests/operations/network-topology:network-topology/topology=topology-netconf/node=';\nconst nodeId = msg.payload;\nconst mount = 'yang-ext:mount';\nconst action = 'o-ran-supervision:supervision-watchdog-reset';\nmsg.url = [base,path + nodeId, mount, action].join('/');\n\nconst user = env.get('SDN_CONTROLLER_USERNAME');\nconst password = env.get('SDN_CONTROLLER_PASSWORD');\nconst auth = Buffer.from([user, password].join(':')).toString('base64')\nconst basicAuth = ['Basic', auth].join(' ');\n\nmsg.headers = {};\nmsg.headers['Content-Type'] = 'application/yang-data+json';\nmsg.headers['Accept'] = 'application/yang-data+json';\nmsg.headers['Authorization'] = basicAuth;\n\nmsg.payload = { \n \"o-ran-supervision:input\": \n {\n \"supervision-notification-interval\": 60, \n \"guard-timer-overhead\": 10\n }\n}\nreturn msg;",
Martin Skorupskidf57ed92023-04-14 09:39:04 +02003176 "outputs": 1,
3177 "noerr": 0,
3178 "initialize": "",
3179 "finalize": "",
3180 "libs": [],
Martin Skorupski303c4f92023-04-27 16:58:12 +02003181 "x": 560,
Martin Skorupski115458a2023-04-14 12:14:23 +02003182 "y": 220,
Martin Skorupskidf57ed92023-04-14 09:39:04 +02003183 "wires": [
3184 [
3185 "1a4b6a4ec23c8f9f",
Martin Skorupski115458a2023-04-14 12:14:23 +02003186 "2bd693b8c7e5a3cb"
Martin Skorupskidf57ed92023-04-14 09:39:04 +02003187 ]
3188 ]
3189 },
3190 {
3191 "id": "1a4b6a4ec23c8f9f",
3192 "type": "http request",
3193 "z": "7ba02ed596e8cde5",
Martin Skorupski115458a2023-04-14 12:14:23 +02003194 "name": "RESTCONF request",
Martin Skorupskidf57ed92023-04-14 09:39:04 +02003195 "method": "POST",
3196 "ret": "txt",
3197 "paytoqs": "ignore",
3198 "url": "",
3199 "tls": "7b2f4859e5963695",
3200 "persist": true,
3201 "proxy": "",
3202 "insecureHTTPParser": true,
Martin Skorupski303c4f92023-04-27 16:58:12 +02003203 "authType": "",
Martin Skorupskidf57ed92023-04-14 09:39:04 +02003204 "senderr": false,
Martin Skorupski303c4f92023-04-27 16:58:12 +02003205 "headers": [],
Martin Skorupski115458a2023-04-14 12:14:23 +02003206 "x": 800,
3207 "y": 220,
Martin Skorupskidf57ed92023-04-14 09:39:04 +02003208 "wires": [
3209 [
3210 "eb6c2de759c8eb54"
3211 ]
3212 ]
3213 },
3214 {
3215 "id": "eb6c2de759c8eb54",
3216 "type": "debug",
3217 "z": "7ba02ed596e8cde5",
3218 "name": "Response",
3219 "active": true,
3220 "tosidebar": true,
Martin Skorupski303c4f92023-04-27 16:58:12 +02003221 "console": true,
3222 "tostatus": true,
Martin Skorupskidf57ed92023-04-14 09:39:04 +02003223 "complete": "payload",
3224 "targetType": "msg",
Martin Skorupski303c4f92023-04-27 16:58:12 +02003225 "statusVal": "payload.length",
3226 "statusType": "msg",
3227 "x": 1010,
Martin Skorupski115458a2023-04-14 12:14:23 +02003228 "y": 220,
Martin Skorupskidf57ed92023-04-14 09:39:04 +02003229 "wires": []
3230 },
3231 {
3232 "id": "0d3ade9a80560c04",
3233 "type": "inject",
3234 "z": "7ba02ed596e8cde5",
Martin Skorupski115458a2023-04-14 12:14:23 +02003235 "name": "Every 5s",
Martin Skorupskidf57ed92023-04-14 09:39:04 +02003236 "props": [],
Martin Skorupski115458a2023-04-14 12:14:23 +02003237 "repeat": "5",
Martin Skorupskidf57ed92023-04-14 09:39:04 +02003238 "crontab": "",
3239 "once": false,
3240 "onceDelay": 0.1,
3241 "topic": "",
Martin Skorupski115458a2023-04-14 12:14:23 +02003242 "x": 120,
3243 "y": 140,
Martin Skorupskidf57ed92023-04-14 09:39:04 +02003244 "wires": [
3245 [
3246 "5322d78ad66fcb96"
3247 ]
3248 ]
3249 },
3250 {
3251 "id": "5322d78ad66fcb96",
3252 "type": "function",
3253 "z": "7ba02ed596e8cde5",
Martin Skorupski115458a2023-04-14 12:14:23 +02003254 "name": "Consumer (new Data?)",
Martin Skorupskib50e1db2023-04-14 14:24:49 +02003255 "func": "// read topic data from global context\nconst topicData = global.get('topicData');\n// init result as array\nlet result = [];\nif (Array.isArray(topicData)) {\n result = topicData.filter(event => {\n return event.event.commonEventHeader.stndDefinedNamespace === 'o-ran-supervision:supervision-notification';\n }).map(event => {\n return event.event.commonEventHeader.sourceName;;\n });\n}\nmsg.payload = result;\nglobal.set('topicData', []);\nreturn msg; ",
Martin Skorupskidf57ed92023-04-14 09:39:04 +02003256 "outputs": 1,
3257 "noerr": 0,
3258 "initialize": "",
3259 "finalize": "",
3260 "libs": [],
Martin Skorupski115458a2023-04-14 12:14:23 +02003261 "x": 310,
3262 "y": 140,
Martin Skorupskidf57ed92023-04-14 09:39:04 +02003263 "wires": [
3264 [
3265 "2bd693b8c7e5a3cb"
3266 ]
3267 ]
3268 },
3269 {
3270 "id": "2bd693b8c7e5a3cb",
3271 "type": "loop",
3272 "z": "7ba02ed596e8cde5",
Martin Skorupski115458a2023-04-14 12:14:23 +02003273 "name": "Loop through O-RUs",
Martin Skorupskidf57ed92023-04-14 09:39:04 +02003274 "kind": "enum",
3275 "count": "",
3276 "initial": "1",
3277 "step": "1",
3278 "condition": "",
3279 "conditionType": "js",
3280 "when": "before",
3281 "enumeration": "payload",
3282 "enumerationType": "msg",
3283 "limit": "",
3284 "loopPayload": "loop-val",
3285 "finalPayload": "final-last",
Martin Skorupski115458a2023-04-14 12:14:23 +02003286 "x": 580,
3287 "y": 140,
Martin Skorupskidf57ed92023-04-14 09:39:04 +02003288 "wires": [
3289 [],
3290 [
3291 "329e838eb4bf63f4"
3292 ]
3293 ]
3294 },
3295 {
3296 "id": "f7dc363e5421d1cf",
3297 "type": "comment",
3298 "z": "7ba02ed596e8cde5",
3299 "name": "Supervision",
3300 "info": "",
3301 "x": 90,
3302 "y": 40,
3303 "wires": []
3304 },
3305 {
Martin Skorupski115458a2023-04-14 12:14:23 +02003306 "id": "a72d8f5e9683dd39",
3307 "type": "comment",
Martin Skorupskidf57ed92023-04-14 09:39:04 +02003308 "z": "7ba02ed596e8cde5",
Martin Skorupski115458a2023-04-14 12:14:23 +02003309 "name": "The Consumer checks for data on the message router provided by the \"Massage Topics\" flow.",
3310 "info": "The Consumer checks for data on the message router provided by the \"Massage Topics\" flow.",
3311 "x": 520,
Martin Skorupski303c4f92023-04-27 16:58:12 +02003312 "y": 280,
Martin Skorupskidf57ed92023-04-14 09:39:04 +02003313 "wires": []
Martin Skorupski61f529a2023-02-05 19:11:49 +01003314 }
3315]