Create flow for notifyNewAlarm
[oam.git] / solution / smo / apps / flows / data / flows.json
1 [
2     {
3         "id": "51e83a0892da060e",
4         "type": "tab",
5         "label": "Event Streaming (VES)",
6         "disabled": false,
7         "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,
15         "info": "Subscribes to Kafka topics ",
16         "env": []
17     },
18     {
19         "id": "7ba02ed596e8cde5",
20         "type": "tab",
21         "label": "OpenFronthaul",
22         "disabled": false,
23         "info": "",
24         "env": []
25     },
26     {
27         "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,
62         "y": 460,
63         "wires": [
64             [
65                 "b5533c10604af5a6",
66                 "f8e64d1cb25eb4ab"
67             ]
68         ]
69     },
70     {
71         "id": "b5533c10604af5a6",
72         "type": "function",
73         "z": "51e83a0892da060e",
74         "name": "vesHeader",
75         "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    notifyNewAlarm: '3GPP-FaultSupervision',\n    notifyFileReady: 'file-ready'\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;",
76         "outputs": 1,
77         "noerr": 0,
78         "initialize": "",
79         "finalize": "",
80         "libs": [],
81         "x": 430,
82         "y": 260,
83         "wires": [
84             [
85                 "f65b1c13e0243ef6"
86             ]
87         ]
88     },
89     {
90         "id": "f8e64d1cb25eb4ab",
91         "type": "function",
92         "z": "51e83a0892da060e",
93         "name": "vesStndDefindBody",
94         "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;",
95         "outputs": 1,
96         "noerr": 0,
97         "initialize": "",
98         "finalize": "",
99         "libs": [],
100         "x": 470,
101         "y": 460,
102         "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": "",
128         "x": 690,
129         "y": 280,
130         "wires": [
131             [
132                 "1d6949a57bce82ab"
133             ]
134         ]
135     },
136     {
137         "id": "1d6949a57bce82ab",
138         "type": "function",
139         "z": "51e83a0892da060e",
140         "name": "createVesEvent",
141         "func": "msg.payload = {\n  event: msg.payload\n};\nreturn msg;",
142         "outputs": 1,
143         "noerr": 0,
144         "initialize": "",
145         "finalize": "",
146         "libs": [],
147         "x": 840,
148         "y": 280,
149         "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",
164         "url": "https://ves-collector.oam.smo.o-ran-sc.org/eventListener/v7",
165         "tls": "7b2f4859e5963695",
166         "persist": true,
167         "proxy": "",
168         "insecureHTTPParser": false,
169         "authType": "basic",
170         "senderr": false,
171         "headers": [],
172         "x": 1030,
173         "y": 280,
174         "wires": [
175             [
176                 "f3412bcb9e134063"
177             ]
178         ]
179     },
180     {
181         "id": "f3412bcb9e134063",
182         "type": "debug",
183         "z": "51e83a0892da060e",
184         "name": "VesCollectorResponse",
185         "active": true,
186         "tosidebar": true,
187         "console": false,
188         "tostatus": false,
189         "complete": "payload",
190         "targetType": "msg",
191         "statusVal": "",
192         "statusType": "auto",
193         "x": 1220,
194         "y": 280,
195         "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": [],
238         "x": 440,
239         "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",
251         "active": false,
252         "tosidebar": true,
253         "console": false,
254         "tostatus": false,
255         "complete": "payload",
256         "targetType": "msg",
257         "statusVal": "",
258         "statusType": "auto",
259         "x": 1050,
260         "y": 320,
261         "wires": []
262     },
263     {
264         "id": "7d589030272c0a94",
265         "type": "inject",
266         "z": "51e83a0892da060e",
267         "d": true,
268         "name": "notifyHeartbeat",
269         "props": [
270             {
271                 "p": "payload"
272             },
273             {
274                 "p": "topic",
275                 "vt": "str"
276             }
277         ],
278         "repeat": "3",
279         "crontab": "",
280         "once": true,
281         "onceDelay": 0.1,
282         "topic": "notifyHeartbeat",
283         "payload": "",
284         "payloadType": "date",
285         "x": 130,
286         "y": 420,
287         "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,
306         "y": 420,
307         "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,
320         "y": 380,
321         "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         ],
357         "repeat": "",
358         "crontab": "",
359         "once": false,
360         "onceDelay": 0.1,
361         "topic": "o1NotifyPnfRegistration",
362         "payload": "",
363         "payloadType": "date",
364         "x": 140,
365         "y": 180,
366         "wires": [
367             [
368                 "b5533c10604af5a6",
369                 "51f5fa54867b7e65"
370             ]
371         ]
372     },
373     {
374         "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",
405         "type": "function",
406         "z": "51e83a0892da060e",
407         "name": "vesStndDefindBody",
408         "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;",
409         "outputs": 1,
410         "noerr": 0,
411         "initialize": "",
412         "finalize": "",
413         "libs": [],
414         "x": 470,
415         "y": 180,
416         "wires": [
417             [
418                 "f65b1c13e0243ef6"
419             ]
420         ]
421     },
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     {
442         "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",
462         "x": 820,
463         "y": 820,
464         "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": [],
482         "x": 1150,
483         "y": 820,
484         "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",
511         "x": 830,
512         "y": 860,
513         "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": [],
531         "x": 1150,
532         "y": 860,
533         "wires": [
534             [
535                 "f65b1c13e0243ef6"
536             ]
537         ]
538     },
539     {
540         "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     {
1271         "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,
1292         "y": 500,
1293         "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,
1312         "y": 500,
1313         "wires": [
1314             [
1315                 "f65b1c13e0243ef6"
1316             ]
1317         ]
1318     },
1319     {
1320         "id": "910dfec7eb74df65",
1321         "type": "inject",
1322         "z": "c5746e29f53f72ce",
1323         "name": "pnfRegistration",
1324         "props": [
1325             {
1326                 "p": "payload"
1327             },
1328             {
1329                 "p": "topic",
1330                 "vt": "str"
1331             }
1332         ],
1333         "repeat": "",
1334         "crontab": "",
1335         "once": false,
1336         "onceDelay": 0.1,
1337         "topic": "pnfRegistration",
1338         "payload": "",
1339         "payloadType": "date",
1340         "x": 240,
1341         "y": 80,
1342         "wires": [
1343             [
1344                 "e5f66f4bd6777ca0"
1345             ]
1346         ]
1347     },
1348     {
1349         "id": "562063a080cb99d6",
1350         "type": "debug",
1351         "z": "c5746e29f53f72ce",
1352         "name": "eventData",
1353         "active": true,
1354         "tosidebar": true,
1355         "console": false,
1356         "tostatus": false,
1357         "complete": "payload",
1358         "targetType": "msg",
1359         "statusVal": "",
1360         "statusType": "auto",
1361         "x": 1150,
1362         "y": 220,
1363         "wires": []
1364     },
1365     {
1366         "id": "172060688d87f510",
1367         "type": "inject",
1368         "z": "c5746e29f53f72ce",
1369         "d": true,
1370         "name": "notifyHeartbeat",
1371         "props": [
1372             {
1373                 "p": "payload"
1374             },
1375             {
1376                 "p": "topic",
1377                 "vt": "str"
1378             }
1379         ],
1380         "repeat": "5",
1381         "crontab": "",
1382         "once": true,
1383         "onceDelay": 0.1,
1384         "topic": "notifyHeartbeat",
1385         "payload": "",
1386         "payloadType": "date",
1387         "x": 230,
1388         "y": 320,
1389         "wires": [
1390             [
1391                 "e5f66f4bd6777ca0"
1392             ]
1393         ]
1394     },
1395     {
1396         "id": "311c3b5d3d73fc24",
1397         "type": "inject",
1398         "z": "c5746e29f53f72ce",
1399         "name": "notifyFileReady",
1400         "props": [
1401             {
1402                 "p": "payload"
1403             },
1404             {
1405                 "p": "topic",
1406                 "vt": "str"
1407             }
1408         ],
1409         "repeat": "",
1410         "crontab": "",
1411         "once": false,
1412         "onceDelay": 0.1,
1413         "topic": "notifyFileReady",
1414         "payload": "",
1415         "payloadType": "date",
1416         "x": 240,
1417         "y": 360,
1418         "wires": [
1419             [
1420                 "e5f66f4bd6777ca0"
1421             ]
1422         ]
1423     },
1424     {
1425         "id": "5437e3fdfca300c9",
1426         "type": "http request",
1427         "z": "c5746e29f53f72ce",
1428         "name": "",
1429         "method": "GET",
1430         "ret": "txt",
1431         "paytoqs": "ignore",
1432         "url": "",
1433         "tls": "7b2f4859e5963695",
1434         "persist": true,
1435         "proxy": "",
1436         "insecureHTTPParser": true,
1437         "authType": "",
1438         "senderr": false,
1439         "headers": [],
1440         "x": 670,
1441         "y": 220,
1442         "wires": [
1443             [
1444                 "dc576b6355478428"
1445             ]
1446         ]
1447     },
1448     {
1449         "id": "dc576b6355478428",
1450         "type": "function",
1451         "z": "c5746e29f53f72ce",
1452         "name": "JSON",
1453         "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}\nreturn msg;",
1454         "outputs": 1,
1455         "noerr": 0,
1456         "initialize": "",
1457         "finalize": "",
1458         "libs": [],
1459         "x": 830,
1460         "y": 220,
1461         "wires": [
1462             [
1463                 "2a2e05d79287f4a0"
1464             ]
1465         ]
1466     },
1467     {
1468         "id": "e5f66f4bd6777ca0",
1469         "type": "function",
1470         "z": "c5746e29f53f72ce",
1471         "name": "SET msg.url",
1472         "func": "const base = 'https://messages.smo.o-ran-sc.org';\nconst path = 'events';\nconst urlMapping = {\n    pnfRegistration: \"unauthenticated.VES_PNFREG_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    notifyNewAlarm: 'unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT',\n    oRanOpenfrontManagementPlane: \"unauthenticated.VES_O_RAN_SC_OPENFRONTHAUL_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;",
1473         "outputs": 1,
1474         "noerr": 0,
1475         "initialize": "",
1476         "finalize": "",
1477         "libs": [],
1478         "x": 490,
1479         "y": 220,
1480         "wires": [
1481             [
1482                 "5437e3fdfca300c9"
1483             ]
1484         ]
1485     },
1486     {
1487         "id": "42275e9c12f8e52b",
1488         "type": "comment",
1489         "z": "c5746e29f53f72ce",
1490         "name": "from O-RAN-SC",
1491         "info": "",
1492         "x": 100,
1493         "y": 140,
1494         "wires": []
1495     },
1496     {
1497         "id": "e07fa97ebc66dce0",
1498         "type": "comment",
1499         "z": "c5746e29f53f72ce",
1500         "name": "from ONAP",
1501         "info": "",
1502         "x": 90,
1503         "y": 40,
1504         "wires": []
1505     },
1506     {
1507         "id": "44b8c2cc138777f1",
1508         "type": "comment",
1509         "z": "c5746e29f53f72ce",
1510         "name": "from SA5 R-18 branch",
1511         "info": "",
1512         "x": 120,
1513         "y": 280,
1514         "wires": []
1515     },
1516     {
1517         "id": "4480e5473a65a757",
1518         "type": "inject",
1519         "z": "c5746e29f53f72ce",
1520         "name": "oRanScDuHelloWorldPmStreaming",
1521         "props": [
1522             {
1523                 "p": "payload"
1524             },
1525             {
1526                 "p": "topic",
1527                 "vt": "str"
1528             }
1529         ],
1530         "repeat": "",
1531         "crontab": "",
1532         "once": false,
1533         "onceDelay": 0.1,
1534         "topic": "oRanScDuHelloWorldPmStreaming",
1535         "payload": "",
1536         "payloadType": "date",
1537         "x": 180,
1538         "y": 220,
1539         "wires": [
1540             [
1541                 "e5f66f4bd6777ca0"
1542             ]
1543         ]
1544     },
1545     {
1546         "id": "52f22ee054e5b4ac",
1547         "type": "inject",
1548         "z": "c5746e29f53f72ce",
1549         "name": "o1NotifyPnfRegistration",
1550         "props": [
1551             {
1552                 "p": "payload"
1553             },
1554             {
1555                 "p": "topic",
1556                 "vt": "str"
1557             }
1558         ],
1559         "repeat": "",
1560         "crontab": "",
1561         "once": false,
1562         "onceDelay": 0.1,
1563         "topic": "o1NotifyPnfRegistration",
1564         "payload": "",
1565         "payloadType": "date",
1566         "x": 220,
1567         "y": 180,
1568         "wires": [
1569             [
1570                 "e5f66f4bd6777ca0"
1571             ]
1572         ]
1573     },
1574     {
1575         "id": "3051f52553efaaa4",
1576         "type": "http request",
1577         "z": "c5746e29f53f72ce",
1578         "name": "",
1579         "method": "GET",
1580         "ret": "txt",
1581         "paytoqs": "ignore",
1582         "url": "https://messages.smo.o-ran-sc.org/topics",
1583         "tls": "7b2f4859e5963695",
1584         "persist": true,
1585         "proxy": "",
1586         "insecureHTTPParser": true,
1587         "authType": "",
1588         "senderr": false,
1589         "headers": [
1590             {
1591                 "keyType": "other",
1592                 "keyValue": "Accept",
1593                 "valueType": "other",
1594                 "valueValue": "application/json"
1595             }
1596         ],
1597         "x": 670,
1598         "y": 180,
1599         "wires": [
1600             [
1601                 "dc576b6355478428"
1602             ]
1603         ]
1604     },
1605     {
1606         "id": "0acceacb99b7981a",
1607         "type": "inject",
1608         "z": "c5746e29f53f72ce",
1609         "name": "Topics?",
1610         "props": [
1611             {
1612                 "p": "payload"
1613             },
1614             {
1615                 "p": "topic",
1616                 "vt": "str"
1617             }
1618         ],
1619         "repeat": "",
1620         "crontab": "",
1621         "once": false,
1622         "onceDelay": 0.1,
1623         "topic": "topics",
1624         "payload": "",
1625         "payloadType": "date",
1626         "x": 510,
1627         "y": 180,
1628         "wires": [
1629             [
1630                 "3051f52553efaaa4"
1631             ]
1632         ]
1633     },
1634     {
1635         "id": "34b7ac222692e06d",
1636         "type": "comment",
1637         "z": "c5746e29f53f72ce",
1638         "name": "from OpenFronthaul Management-Plane",
1639         "info": "",
1640         "x": 580,
1641         "y": 280,
1642         "wires": []
1643     },
1644     {
1645         "id": "25a3eca83bbc3489",
1646         "type": "inject",
1647         "z": "c5746e29f53f72ce",
1648         "name": "o-ran-supervision:supervision-notification",
1649         "props": [
1650             {
1651                 "p": "payload"
1652             },
1653             {
1654                 "p": "topic",
1655                 "vt": "str"
1656             }
1657         ],
1658         "repeat": "60",
1659         "crontab": "",
1660         "once": false,
1661         "onceDelay": 0.1,
1662         "topic": "o-ran-supervision:supervision-notification",
1663         "payload": "",
1664         "payloadType": "date",
1665         "x": 620,
1666         "y": 1040,
1667         "wires": [
1668             [
1669                 "e5f66f4bd6777ca0"
1670             ]
1671         ]
1672     },
1673     {
1674         "id": "0194d014ef8f6c5e",
1675         "type": "inject",
1676         "z": "c5746e29f53f72ce",
1677         "name": "o-ran-file-management:file-upload-notification",
1678         "props": [
1679             {
1680                 "p": "payload"
1681             },
1682             {
1683                 "p": "topic",
1684                 "vt": "str"
1685             }
1686         ],
1687         "repeat": "",
1688         "crontab": "",
1689         "once": false,
1690         "onceDelay": 0.1,
1691         "topic": "o-ran-file-management:file-upload-notification",
1692         "payload": "",
1693         "payloadType": "date",
1694         "x": 630,
1695         "y": 760,
1696         "wires": [
1697             [
1698                 "e5f66f4bd6777ca0"
1699             ]
1700         ]
1701     },
1702     {
1703         "id": "775aacf9e2cc0285",
1704         "type": "inject",
1705         "z": "c5746e29f53f72ce",
1706         "name": "o-ran-file-management:file-download-event",
1707         "props": [
1708             {
1709                 "p": "payload"
1710             },
1711             {
1712                 "p": "topic",
1713                 "vt": "str"
1714             }
1715         ],
1716         "repeat": "",
1717         "crontab": "",
1718         "once": false,
1719         "onceDelay": 0.1,
1720         "topic": "o-ran-file-management:file-download-event",
1721         "payload": "",
1722         "payloadType": "date",
1723         "x": 620,
1724         "y": 720,
1725         "wires": [
1726             [
1727                 "e5f66f4bd6777ca0"
1728             ]
1729         ]
1730     },
1731     {
1732         "id": "3e3be17a65a7d1bf",
1733         "type": "inject",
1734         "z": "c5746e29f53f72ce",
1735         "d": true,
1736         "name": "o-ran-ald-port:dc-enabled-status-change",
1737         "props": [
1738             {
1739                 "p": "payload"
1740             },
1741             {
1742                 "p": "topic",
1743                 "vt": "str"
1744             }
1745         ],
1746         "repeat": "",
1747         "crontab": "",
1748         "once": false,
1749         "onceDelay": 0.1,
1750         "topic": "o-ran-ald-port:dc-enabled-status-change",
1751         "payload": "",
1752         "payloadType": "date",
1753         "x": 620,
1754         "y": 320,
1755         "wires": [
1756             [
1757                 "e5f66f4bd6777ca0"
1758             ]
1759         ]
1760     },
1761     {
1762         "id": "665c45e5ccd1c9cb",
1763         "type": "inject",
1764         "z": "c5746e29f53f72ce",
1765         "d": true,
1766         "name": "o-ran-ald-port:overcurrent-report",
1767         "props": [
1768             {
1769                 "p": "payload"
1770             },
1771             {
1772                 "p": "topic",
1773                 "vt": "str"
1774             }
1775         ],
1776         "repeat": "",
1777         "crontab": "",
1778         "once": false,
1779         "onceDelay": 0.1,
1780         "topic": "o-ran-ald-port:overcurrent-report",
1781         "payload": "",
1782         "payloadType": "date",
1783         "x": 590,
1784         "y": 360,
1785         "wires": [
1786             [
1787                 "e5f66f4bd6777ca0"
1788             ]
1789         ]
1790     },
1791     {
1792         "id": "5520ce3b83578f17",
1793         "type": "inject",
1794         "z": "c5746e29f53f72ce",
1795         "d": true,
1796         "name": "o-ran-antenna-calibration:antenna-calibration-coordinated",
1797         "props": [
1798             {
1799                 "p": "payload"
1800             },
1801             {
1802                 "p": "topic",
1803                 "vt": "str"
1804             }
1805         ],
1806         "repeat": "",
1807         "crontab": "",
1808         "once": false,
1809         "onceDelay": 0.1,
1810         "topic": "o-ran-antenna-calibration:antenna-calibration-coordinated",
1811         "payload": "",
1812         "payloadType": "date",
1813         "x": 670,
1814         "y": 400,
1815         "wires": [
1816             [
1817                 "e5f66f4bd6777ca0"
1818             ]
1819         ]
1820     },
1821     {
1822         "id": "fda3090fb4f1e9d4",
1823         "type": "inject",
1824         "z": "c5746e29f53f72ce",
1825         "d": true,
1826         "name": "o-ran-antenna-calibration:antenna-calibration-multiple-time-resource-params",
1827         "props": [
1828             {
1829                 "p": "payload"
1830             },
1831             {
1832                 "p": "topic",
1833                 "vt": "str"
1834             }
1835         ],
1836         "repeat": "",
1837         "crontab": "",
1838         "once": false,
1839         "onceDelay": 0.1,
1840         "topic": "o-ran-antenna-calibration:antenna-calibration-multiple-time-resource-params",
1841         "payload": "",
1842         "payloadType": "date",
1843         "x": 730,
1844         "y": 440,
1845         "wires": [
1846             [
1847                 "e5f66f4bd6777ca0"
1848             ]
1849         ]
1850     },
1851     {
1852         "id": "2551bb6c9746a7c2",
1853         "type": "inject",
1854         "z": "c5746e29f53f72ce",
1855         "d": true,
1856         "name": "o-ran-antenna-calibration:antenna-calibration-required",
1857         "props": [
1858             {
1859                 "p": "payload"
1860             },
1861             {
1862                 "p": "topic",
1863                 "vt": "str"
1864             }
1865         ],
1866         "repeat": "",
1867         "crontab": "",
1868         "once": false,
1869         "onceDelay": 0.1,
1870         "topic": "o-ran-antenna-calibration:antenna-calibration-required",
1871         "payload": "",
1872         "payloadType": "date",
1873         "x": 660,
1874         "y": 480,
1875         "wires": [
1876             [
1877                 "e5f66f4bd6777ca0"
1878             ]
1879         ]
1880     },
1881     {
1882         "id": "0dcc72d0235e6336",
1883         "type": "inject",
1884         "z": "c5746e29f53f72ce",
1885         "d": true,
1886         "name": "o-ran-antenna-calibration:antenna-calibration-result",
1887         "props": [
1888             {
1889                 "p": "payload"
1890             },
1891             {
1892                 "p": "topic",
1893                 "vt": "str"
1894             }
1895         ],
1896         "repeat": "",
1897         "crontab": "",
1898         "once": false,
1899         "onceDelay": 0.1,
1900         "topic": "o-ran-antenna-calibration:antenna-calibration-result",
1901         "payload": "",
1902         "payloadType": "date",
1903         "x": 650,
1904         "y": 520,
1905         "wires": [
1906             [
1907                 "e5f66f4bd6777ca0"
1908             ]
1909         ]
1910     },
1911     {
1912         "id": "0abafa5c1a4ebd33",
1913         "type": "inject",
1914         "z": "c5746e29f53f72ce",
1915         "d": true,
1916         "name": "o-ran-beamforming:beamforming-information-update",
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": "o-ran-beamforming:beamforming-information-update",
1931         "payload": "",
1932         "payloadType": "date",
1933         "x": 650,
1934         "y": 560,
1935         "wires": [
1936             [
1937                 "e5f66f4bd6777ca0"
1938             ]
1939         ]
1940     },
1941     {
1942         "id": "d74c5f1885485d8c",
1943         "type": "inject",
1944         "z": "c5746e29f53f72ce",
1945         "d": true,
1946         "name": "o-ran-beamforming:capability-group-beamforming-information-update",
1947         "props": [
1948             {
1949                 "p": "payload"
1950             },
1951             {
1952                 "p": "topic",
1953                 "vt": "str"
1954             }
1955         ],
1956         "repeat": "",
1957         "crontab": "",
1958         "once": false,
1959         "onceDelay": 0.1,
1960         "topic": "o-ran-beamforming:capability-group-beamforming-information-update",
1961         "payload": "",
1962         "payloadType": "date",
1963         "x": 700,
1964         "y": 600,
1965         "wires": [
1966             [
1967                 "e5f66f4bd6777ca0"
1968             ]
1969         ]
1970     },
1971     {
1972         "id": "8d755b355a3d5557",
1973         "type": "inject",
1974         "z": "c5746e29f53f72ce",
1975         "d": true,
1976         "name": "o-ran-beamforming:predefined-beam-tilt-offset-complete",
1977         "props": [
1978             {
1979                 "p": "payload"
1980             },
1981             {
1982                 "p": "topic",
1983                 "vt": "str"
1984             }
1985         ],
1986         "repeat": "",
1987         "crontab": "",
1988         "once": false,
1989         "onceDelay": 0.1,
1990         "topic": "o-ran-beamforming:predefined-beam-tilt-offset-complete",
1991         "payload": "",
1992         "payloadType": "date",
1993         "x": 660,
1994         "y": 640,
1995         "wires": [
1996             []
1997         ]
1998     },
1999     {
2000         "id": "6ebe4693c580ae00",
2001         "type": "inject",
2002         "z": "c5746e29f53f72ce",
2003         "d": true,
2004         "name": "o-ran-externalio:external-input-change",
2005         "props": [
2006             {
2007                 "p": "payload"
2008             },
2009             {
2010                 "p": "topic",
2011                 "vt": "str"
2012             }
2013         ],
2014         "repeat": "",
2015         "crontab": "",
2016         "once": false,
2017         "onceDelay": 0.1,
2018         "topic": "o-ran-externalio:external-input-change",
2019         "payload": "",
2020         "payloadType": "date",
2021         "x": 610,
2022         "y": 680,
2023         "wires": [
2024             []
2025         ]
2026     },
2027     {
2028         "id": "89144928a6ead625",
2029         "type": "inject",
2030         "z": "c5746e29f53f72ce",
2031         "d": true,
2032         "name": "o-ran-fm:alarm-notif",
2033         "props": [
2034             {
2035                 "p": "payload"
2036             },
2037             {
2038                 "p": "topic",
2039                 "vt": "str"
2040             }
2041         ],
2042         "repeat": "",
2043         "crontab": "",
2044         "once": false,
2045         "onceDelay": 0.1,
2046         "topic": "o-ran-fm:alarm-notif",
2047         "payload": "",
2048         "payloadType": "date",
2049         "x": 550,
2050         "y": 800,
2051         "wires": [
2052             [
2053                 "e5f66f4bd6777ca0"
2054             ]
2055         ]
2056     },
2057     {
2058         "id": "8ebca0cd456a9763",
2059         "type": "inject",
2060         "z": "c5746e29f53f72ce",
2061         "d": true,
2062         "name": "o-ran-laa-operations:measurement-result",
2063         "props": [
2064             {
2065                 "p": "payload"
2066             },
2067             {
2068                 "p": "topic",
2069                 "vt": "str"
2070             }
2071         ],
2072         "repeat": "",
2073         "crontab": "",
2074         "once": false,
2075         "onceDelay": 0.1,
2076         "topic": "o-ran-laa-operations:measurement-result",
2077         "payload": "",
2078         "payloadType": "date",
2079         "x": 620,
2080         "y": 840,
2081         "wires": [
2082             [
2083                 "e5f66f4bd6777ca0"
2084             ]
2085         ]
2086     },
2087     {
2088         "id": "4778511387bc7449",
2089         "type": "inject",
2090         "z": "c5746e29f53f72ce",
2091         "d": true,
2092         "name": "o-ran-performance-management:measurement-result-stats",
2093         "props": [
2094             {
2095                 "p": "payload"
2096             },
2097             {
2098                 "p": "topic",
2099                 "vt": "str"
2100             }
2101         ],
2102         "repeat": "",
2103         "crontab": "",
2104         "once": false,
2105         "onceDelay": 0.1,
2106         "topic": "o-ran-performance-management:measurement-result-stats",
2107         "payload": "",
2108         "payloadType": "date",
2109         "x": 670,
2110         "y": 880,
2111         "wires": [
2112             [
2113                 "e5f66f4bd6777ca0"
2114             ]
2115         ]
2116     },
2117     {
2118         "id": "c106623d629fbe54",
2119         "type": "inject",
2120         "z": "c5746e29f53f72ce",
2121         "d": true,
2122         "name": "o-ran-software-management:activation-event",
2123         "props": [
2124             {
2125                 "p": "payload"
2126             },
2127             {
2128                 "p": "topic",
2129                 "vt": "str"
2130             }
2131         ],
2132         "repeat": "",
2133         "crontab": "",
2134         "once": false,
2135         "onceDelay": 0.1,
2136         "topic": "o-ran-software-management:activation-event",
2137         "payload": "",
2138         "payloadType": "date",
2139         "x": 630,
2140         "y": 920,
2141         "wires": [
2142             [
2143                 "e5f66f4bd6777ca0"
2144             ]
2145         ]
2146     },
2147     {
2148         "id": "4db0e5b915d76ddb",
2149         "type": "inject",
2150         "z": "c5746e29f53f72ce",
2151         "d": true,
2152         "name": "o-ran-software-management:download-event",
2153         "props": [
2154             {
2155                 "p": "payload"
2156             },
2157             {
2158                 "p": "topic",
2159                 "vt": "str"
2160             }
2161         ],
2162         "repeat": "",
2163         "crontab": "",
2164         "once": false,
2165         "onceDelay": 0.1,
2166         "topic": "o-ran-software-management:download-event",
2167         "payload": "",
2168         "payloadType": "date",
2169         "x": 630,
2170         "y": 960,
2171         "wires": [
2172             [
2173                 "e5f66f4bd6777ca0"
2174             ]
2175         ]
2176     },
2177     {
2178         "id": "8d3fab47729a807d",
2179         "type": "inject",
2180         "z": "c5746e29f53f72ce",
2181         "d": true,
2182         "name": "o-ran-software-management:install-event",
2183         "props": [
2184             {
2185                 "p": "payload"
2186             },
2187             {
2188                 "p": "topic",
2189                 "vt": "str"
2190             }
2191         ],
2192         "repeat": "",
2193         "crontab": "",
2194         "once": false,
2195         "onceDelay": 0.1,
2196         "topic": "o-ran-software-management:install-event",
2197         "payload": "",
2198         "payloadType": "date",
2199         "x": 620,
2200         "y": 1000,
2201         "wires": [
2202             [
2203                 "e5f66f4bd6777ca0"
2204             ]
2205         ]
2206     },
2207     {
2208         "id": "7ac87519cb59151d",
2209         "type": "inject",
2210         "z": "c5746e29f53f72ce",
2211         "d": true,
2212         "name": "o-ran-sync:gnss-state-change",
2213         "props": [
2214             {
2215                 "p": "payload"
2216             },
2217             {
2218                 "p": "topic",
2219                 "vt": "str"
2220             }
2221         ],
2222         "repeat": "",
2223         "crontab": "",
2224         "once": false,
2225         "onceDelay": 0.1,
2226         "topic": "o-ran-sync:gnss-state-change",
2227         "payload": "",
2228         "payloadType": "date",
2229         "x": 580,
2230         "y": 1080,
2231         "wires": [
2232             [
2233                 "e5f66f4bd6777ca0"
2234             ]
2235         ]
2236     },
2237     {
2238         "id": "55725b18e27c1a27",
2239         "type": "inject",
2240         "z": "c5746e29f53f72ce",
2241         "d": true,
2242         "name": "o-ran-sync:ptp-state-change",
2243         "props": [
2244             {
2245                 "p": "payload"
2246             },
2247             {
2248                 "p": "topic",
2249                 "vt": "str"
2250             }
2251         ],
2252         "repeat": "",
2253         "crontab": "",
2254         "once": false,
2255         "onceDelay": 0.1,
2256         "topic": "o-ran-sync:ptp-state-change",
2257         "payload": "",
2258         "payloadType": "date",
2259         "x": 580,
2260         "y": 1120,
2261         "wires": [
2262             [
2263                 "e5f66f4bd6777ca0"
2264             ]
2265         ]
2266     },
2267     {
2268         "id": "dde01e699dec844f",
2269         "type": "inject",
2270         "z": "c5746e29f53f72ce",
2271         "d": true,
2272         "name": "o-ran-sync:synce-state-change",
2273         "props": [
2274             {
2275                 "p": "payload"
2276             },
2277             {
2278                 "p": "topic",
2279                 "vt": "str"
2280             }
2281         ],
2282         "repeat": "",
2283         "crontab": "",
2284         "once": false,
2285         "onceDelay": 0.1,
2286         "topic": "o-ran-sync:synce-state-change",
2287         "payload": "",
2288         "payloadType": "date",
2289         "x": 590,
2290         "y": 1160,
2291         "wires": [
2292             [
2293                 "e5f66f4bd6777ca0"
2294             ]
2295         ]
2296     },
2297     {
2298         "id": "5457d995823e58f6",
2299         "type": "inject",
2300         "z": "c5746e29f53f72ce",
2301         "d": true,
2302         "name": "o-ran-sync:synchronization-state-change",
2303         "props": [
2304             {
2305                 "p": "payload"
2306             },
2307             {
2308                 "p": "topic",
2309                 "vt": "str"
2310             }
2311         ],
2312         "repeat": "",
2313         "crontab": "",
2314         "once": false,
2315         "onceDelay": 0.1,
2316         "topic": "o-ran-sync:synchronization-state-change",
2317         "payload": "",
2318         "payloadType": "date",
2319         "x": 620,
2320         "y": 1200,
2321         "wires": [
2322             [
2323                 "e5f66f4bd6777ca0"
2324             ]
2325         ]
2326     },
2327     {
2328         "id": "ca9f765b3838d5ff",
2329         "type": "inject",
2330         "z": "c5746e29f53f72ce",
2331         "d": true,
2332         "name": "o-ran-trace:trace-log-generated",
2333         "props": [
2334             {
2335                 "p": "payload"
2336             },
2337             {
2338                 "p": "topic",
2339                 "vt": "str"
2340             }
2341         ],
2342         "repeat": "",
2343         "crontab": "",
2344         "once": false,
2345         "onceDelay": 0.1,
2346         "topic": "o-ran-trace:trace-log-generated",
2347         "payload": "",
2348         "payloadType": "date",
2349         "x": 590,
2350         "y": 1240,
2351         "wires": [
2352             [
2353                 "e5f66f4bd6777ca0"
2354             ]
2355         ]
2356     },
2357     {
2358         "id": "0a837c4beaa140e0",
2359         "type": "inject",
2360         "z": "c5746e29f53f72ce",
2361         "d": true,
2362         "name": "o-ran-uplane-conf:rx-array-carriers-state-change",
2363         "props": [
2364             {
2365                 "p": "payload"
2366             },
2367             {
2368                 "p": "topic",
2369                 "vt": "str"
2370             }
2371         ],
2372         "repeat": "",
2373         "crontab": "",
2374         "once": false,
2375         "onceDelay": 0.1,
2376         "topic": "o-ran-uplane-conf:rx-array-carriers-state-change",
2377         "payload": "",
2378         "payloadType": "date",
2379         "x": 640,
2380         "y": 1320,
2381         "wires": [
2382             [
2383                 "e5f66f4bd6777ca0"
2384             ]
2385         ]
2386     },
2387     {
2388         "id": "3dfb5349f08c5ea9",
2389         "type": "inject",
2390         "z": "c5746e29f53f72ce",
2391         "d": true,
2392         "name": "o-ran-troubleshooting:troubleshooting-log-generated",
2393         "props": [
2394             {
2395                 "p": "payload"
2396             },
2397             {
2398                 "p": "topic",
2399                 "vt": "str"
2400             }
2401         ],
2402         "repeat": "",
2403         "crontab": "",
2404         "once": false,
2405         "onceDelay": 0.1,
2406         "topic": "o-ran-troubleshooting:troubleshooting-log-generated",
2407         "payload": "",
2408         "payloadType": "date",
2409         "x": 650,
2410         "y": 1280,
2411         "wires": [
2412             [
2413                 "e5f66f4bd6777ca0"
2414             ]
2415         ]
2416     },
2417     {
2418         "id": "030a6e7e6371402e",
2419         "type": "inject",
2420         "z": "c5746e29f53f72ce",
2421         "d": true,
2422         "name": "o-ran-uplane-conf:tx-array-carriers-state-change",
2423         "props": [
2424             {
2425                 "p": "payload"
2426             },
2427             {
2428                 "p": "topic",
2429                 "vt": "str"
2430             }
2431         ],
2432         "repeat": "",
2433         "crontab": "",
2434         "once": false,
2435         "onceDelay": 0.1,
2436         "topic": "o-ran-uplane-conf:tx-array-carriers-state-change",
2437         "payload": "",
2438         "payloadType": "date",
2439         "x": 640,
2440         "y": 1360,
2441         "wires": [
2442             [
2443                 "e5f66f4bd6777ca0"
2444             ]
2445         ]
2446     },
2447     {
2448         "id": "2a2e05d79287f4a0",
2449         "type": "function",
2450         "z": "c5746e29f53f72ce",
2451         "name": "Provider",
2452         "func": "global.set('topicData', msg.payload)\nreturn msg;",
2453         "outputs": 1,
2454         "noerr": 0,
2455         "initialize": "",
2456         "finalize": "",
2457         "libs": [],
2458         "x": 980,
2459         "y": 220,
2460         "wires": [
2461             [
2462                 "562063a080cb99d6"
2463             ]
2464         ]
2465     },
2466     {
2467         "id": "d932661ae80274a1",
2468         "type": "inject",
2469         "z": "c5746e29f53f72ce",
2470         "name": "notifyNewAlarm",
2471         "props": [
2472             {
2473                 "p": "payload"
2474             },
2475             {
2476                 "p": "topic",
2477                 "vt": "str"
2478             }
2479         ],
2480         "repeat": "",
2481         "crontab": "",
2482         "once": false,
2483         "onceDelay": 0.1,
2484         "topic": "notifyNewAlarm",
2485         "payload": "",
2486         "payloadType": "date",
2487         "x": 240,
2488         "y": 400,
2489         "wires": [
2490             [
2491                 "e5f66f4bd6777ca0"
2492             ]
2493         ]
2494     },
2495     {
2496         "id": "c5648c1528804847",
2497         "type": "inject",
2498         "z": "7ba02ed596e8cde5",
2499         "name": "supervision-watchdog-reset for O-RU-11221",
2500         "props": [
2501             {
2502                 "p": "payload"
2503             },
2504             {
2505                 "p": "topic",
2506                 "vt": "str"
2507             }
2508         ],
2509         "repeat": "",
2510         "crontab": "",
2511         "once": false,
2512         "onceDelay": 0.1,
2513         "topic": "supervision-watchdog-reset",
2514         "payload": "[\"O-RU-11221\"]",
2515         "payloadType": "json",
2516         "x": 230,
2517         "y": 100,
2518         "wires": [
2519             [
2520                 "2bd693b8c7e5a3cb"
2521             ]
2522         ]
2523     },
2524     {
2525         "id": "329e838eb4bf63f4",
2526         "type": "function",
2527         "z": "7ba02ed596e8cde5",
2528         "name": "ResetActionData",
2529         "func": "const base = 'https://odlux.oam.smo.o-ran-sc.org';\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';\n\nmsg.url = [base,path + nodeId, mount, action].join('/');\nmsg.payload = { \n  \"o-ran-supervision:input\": \n    {\n      \"supervision-notification-interval\": 60, \n      \"guard-timer-overhead\": 10\n    }\n}\nreturn msg;",
2530         "outputs": 1,
2531         "noerr": 0,
2532         "initialize": "",
2533         "finalize": "",
2534         "libs": [],
2535         "x": 570,
2536         "y": 220,
2537         "wires": [
2538             [
2539                 "1a4b6a4ec23c8f9f",
2540                 "2bd693b8c7e5a3cb"
2541             ]
2542         ]
2543     },
2544     {
2545         "id": "1a4b6a4ec23c8f9f",
2546         "type": "http request",
2547         "z": "7ba02ed596e8cde5",
2548         "name": "RESTCONF request",
2549         "method": "POST",
2550         "ret": "txt",
2551         "paytoqs": "ignore",
2552         "url": "",
2553         "tls": "7b2f4859e5963695",
2554         "persist": true,
2555         "proxy": "",
2556         "insecureHTTPParser": true,
2557         "authType": "basic",
2558         "senderr": false,
2559         "headers": [
2560             {
2561                 "keyType": "other",
2562                 "keyValue": "Accept",
2563                 "valueType": "other",
2564                 "valueValue": "application/json"
2565             },
2566             {
2567                 "keyType": "other",
2568                 "keyValue": "Content-Type",
2569                 "valueType": "other",
2570                 "valueValue": "application/json"
2571             }
2572         ],
2573         "x": 800,
2574         "y": 220,
2575         "wires": [
2576             [
2577                 "eb6c2de759c8eb54"
2578             ]
2579         ]
2580     },
2581     {
2582         "id": "eb6c2de759c8eb54",
2583         "type": "debug",
2584         "z": "7ba02ed596e8cde5",
2585         "name": "Response",
2586         "active": true,
2587         "tosidebar": true,
2588         "console": false,
2589         "tostatus": false,
2590         "complete": "payload",
2591         "targetType": "msg",
2592         "statusVal": "",
2593         "statusType": "auto",
2594         "x": 1000,
2595         "y": 220,
2596         "wires": []
2597     },
2598     {
2599         "id": "0d3ade9a80560c04",
2600         "type": "inject",
2601         "z": "7ba02ed596e8cde5",
2602         "name": "Every 5s",
2603         "props": [],
2604         "repeat": "5",
2605         "crontab": "",
2606         "once": false,
2607         "onceDelay": 0.1,
2608         "topic": "",
2609         "x": 120,
2610         "y": 140,
2611         "wires": [
2612             [
2613                 "5322d78ad66fcb96"
2614             ]
2615         ]
2616     },
2617     {
2618         "id": "5322d78ad66fcb96",
2619         "type": "function",
2620         "z": "7ba02ed596e8cde5",
2621         "name": "Consumer (new Data?)",
2622         "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; ",
2623         "outputs": 1,
2624         "noerr": 0,
2625         "initialize": "",
2626         "finalize": "",
2627         "libs": [],
2628         "x": 310,
2629         "y": 140,
2630         "wires": [
2631             [
2632                 "2bd693b8c7e5a3cb"
2633             ]
2634         ]
2635     },
2636     {
2637         "id": "2bd693b8c7e5a3cb",
2638         "type": "loop",
2639         "z": "7ba02ed596e8cde5",
2640         "name": "Loop through O-RUs",
2641         "kind": "enum",
2642         "count": "",
2643         "initial": "1",
2644         "step": "1",
2645         "condition": "",
2646         "conditionType": "js",
2647         "when": "before",
2648         "enumeration": "payload",
2649         "enumerationType": "msg",
2650         "limit": "",
2651         "loopPayload": "loop-val",
2652         "finalPayload": "final-last",
2653         "x": 580,
2654         "y": 140,
2655         "wires": [
2656             [],
2657             [
2658                 "329e838eb4bf63f4"
2659             ]
2660         ]
2661     },
2662     {
2663         "id": "f7dc363e5421d1cf",
2664         "type": "comment",
2665         "z": "7ba02ed596e8cde5",
2666         "name": "Supervision",
2667         "info": "",
2668         "x": 90,
2669         "y": 40,
2670         "wires": []
2671     },
2672     {
2673         "id": "a72d8f5e9683dd39",
2674         "type": "comment",
2675         "z": "7ba02ed596e8cde5",
2676         "name": "The Consumer checks for data on the message router provided by the \"Massage Topics\" flow.",
2677         "info": "The Consumer checks for data on the message router provided by the \"Massage Topics\" flow.",
2678         "x": 520,
2679         "y": 260,
2680         "wires": []
2681     }
2682 ]