TMF642 Alarm Management API REST Specification R17.0.1
TMF642 Alarm Management API REST Specification R17.0.1
Alarm Management
API REST Specification
TMF642
Release 17.0.1
December 2017
NOTICE
Copyright © TM Forum 2017. All Rights Reserved.
This document and translations of it may be copied and furnished to others, and derivative works that
comment on or otherwise explain it or assist in its implementation may be prepared, copied, published,
and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice
and this section are included on all such copies and derivative works. However, this document itself may
not be modified in any way, including by removing the copyright notice or references to TM FORUM,
except as needed for the purpose of developing any document or deliverable produced by a TM FORUM
Collaboration Project Team (in which case the rules applicable to copyrights, as set forth in the TM
FORUM IPR Policy, must be followed) or as required to translate it into languages other than English.
The limited permissions granted above are perpetual and will not be revoked by TM FORUM or its
successors or assigns.
This document and the information contained herein is provided on an "AS IS" basis and TM FORUM
DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY
OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE.
TM FORUM invites any TM FORUM Member or any other party that believes it has patent claims that
would necessarily be infringed by implementations of this TM Forum Standards Final Deliverable, to notify
the TM FORUM Team Administrator and provide an indication of its willingness to grant patent licenses to
such patent claims in a manner consistent with the IPR Mode of the TM FORUM Collaboration Project
Team that produced this deliverable.
The TM FORUM invites any party to contact the TM FORUM Team Administrator if it is aware of a claim
of ownership of any patent claims that would necessarily be infringed by implementations of this TM
FORUM Standards Final Deliverable by a patent holder that is not willing to provide a license to such
patent claims in a manner consistent with the IPR Mode of the TM FORUM Collaboration Project Team
that produced this TM FORUM Standards Final Deliverable. TM FORUM may include such claims on its
website, but disclaims any obligation to do so.
TM FORUM takes no position regarding the validity or scope of any intellectual property or other rights
that might be claimed to pertain to the implementation or use of the technology described in this TM
FORUM Standards Final Deliverable or the extent to which any license under such rights might or might
not be available; neither does it represent that it has made any effort to identify any such rights.
Information on TM FORUM's procedures with respect to rights in any document or deliverable produced
by a TM FORUM Collaboration Project Team can be found on the TM FORUM website. Copies of claims
of rights made available for publication and any assurances of licenses to be made available, or the result
of an attempt made to obtain a general license or permission for the use of such proprietary rights by
implementers or users of this TM FORUM Standards Final Deliverable, can be obtained from the TM
FORUM Team Administrator. TM FORUM makes no representation that any information or list of
intellectual property rights will at any time be complete, or that any claims in such list are, in fact, Essential
Claims.
TABLE OF CONTENTS
NOTICE........................................................................................................................................................................... 2
Introduction ..................................................................................................................................................................... 7
ALARM .................................................................................................................................................................. 11
alarmCleared Notification.......................................................................................................................................... 20
alarmChange Notification.......................................................................................................................................... 22
PATCH /API/alarm/{alarmId}..................................................................................................................................... 32
POST /API/ackAlarms............................................................................................................................................... 42
LIST OF TABLES
INTRODUCTION
The TM Forum Alarm Management API applies lessons that were learned in previous generations of similar APIs
that were implemented in the Telecommunication industry, starting from ITU recommendations, TM Forum OSS/J,
MTOSI and TIP interfaces, NGMN alignment initiative between 3GPP and TM Forum interfaces, and the more recent
ETSI work on requirements for NFV interfaces.
This document defines the REST API for Alarm Management. The API does not assume a particular management
layer, so the monitored objects can be either Resource, Service or Customer layer.
There is a strong desire from Service Providers to provide a Fault Management interface that can be used in a
simple way to do simple alarm reporting while also covering more complex OSS-to-OSS scenarios. The Alarm
Management interface should support both and should not add complexity when used in the context of simple Alarm
Reporting.
In real-life deployments we see various levels of fault management API needs starting from simple subscription on
alarm lifecycle events, up to full synchronization of acknowledgements and root cause analysis between two alarm
management systems.
In the first case, one party of the interface is an Alarm Management system (the alarm-owning system) and the
second party is a management function that is subscribed on events, mainly alarm life-cycle events. It cannot be
assumed that the subscribed function has a persistent view of the alarms, as it is not necessarily an alarm
management system. The subscriber party can be a UI, a communication hub, a Service Quality management
system, a BSS system, or any other function that is interested in alarm events. In this case, the operations that will
be used are typically:
The second case is where the two parties are both alarm management systems/functions and they have to
synchronize alarms in different aspects. Typically Alarm Management system A is one of the alarm data sources of
Alarm management system Z. In this case the operations will be slightly different with a tighter integration:
• Alarm management system A can raise, change and clear alarms in Alarm Managment system Z
• Alarm management system A can acknowledge alarms in Alarm Managment system Z
• Alarm Management system A can apply root cause analysis results in Alarm Management system Z by using
the Group and Ungroup operations.
• Alarm management system A can comment (annotate) alarms in Alarm Managment system Z
• Get Alarms operations used by the Management Function to get synchronized on the state of active alarms
in situatuations where snapshots of the active alarms are required, such as system start, or recovery from
communication failures. This operation may include a filter on the subset of alarms that are of interest.
In this scenario, since the level of integration is tighter, it is important that AlarmManagement System A gets the
information on the success of the oiperations in Alarm management system Z.
RESOURCE MODEL
ALARM
"id:": "ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"externalAlarmId": "cisco-7609-1937465789",
"alarmType": "QualityOfServiceAlarm",
"perceivedSeverity": "CRITICAL",
"alarmedObjectType": "ROUTER",
"alarmedObject": {
"id": "210875",
"SourceSystemId": "SYSTEM1",
"alarmState": "RAISED",
"alarmRaisedTime": "2017-06-15T07:04:15.665Z",
"alarmChangedTime": "2017-06-15T07:04:15.666Z",
"alarmClearedTime": "",
"alarmReportingTime": "2017-06-15T07:04:15.666Z",
"ackState": "ACKNOWLEDGED",
"ackTime": "2017-06-15T07:04:19.666Z",
"ackSystemId": "OSS",
"clearUserId": "",
"clearSystemId": "",
"plannedOutageIndication": "IN_SERVICE",
"alarmEscalation": 0,
"serviceAffecting": true,
"affectedService": [
"id": "Vlan_dot1_dot2",
"href": "http://api/service/Vlan_dot1_dot2"
],
"isRootCause": true,
"correlatedAlarm": [
],
"parentAlarm": [
"id": "",
"href": ""
],
"crossedThresholdInformation": {
"granularity": "5MINUTES",
"direction": "UP",
},
"comments": [
"time": "2017-06-15T07:04:20.666Z",
"systemId": "OSS_001",
Fields Description
The diagram below provides a more detailed view of the API data model.
The main data entity is naturally the Alarm. It may have the following associations:
ALARMCREATE NOTIFICATION
POST /client/listener
Accept: application/json
"eventType": "AlarmCreateNotification",
"eventTime": "2017-09-27T05:46:25.0Z",
"eventId": "1562233",
"event":
"alarm":
"id:": "ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"href": "http://api/alarm/ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--
Gi9/20@42",
"externalAlarmId": "cisco-7609-1937465789",
"alarmType": "QualityOfServiceAlarm",
"perceivedSeverity": "CRITICAL",
"alarmedObjectType": "ROUTER",
"alarmedObject": {
"id": "210875",
"SourceSystemId": "SYSTEM1",
"alarmState": "RAISED",
"alarmRaisedTime": "2017-06-15T07:04:15.665Z",
"alarmReportingTime": "2017-06-15T07:04:15.666Z",
"plannedOutageIndication": "IN_SERVICE",
"serviceAffecting": true,
"affectedService": [
"id": "Vlan_dot1_dot2",
"href": "http://api/service/Vlan_dot1_dot2"
],
"crossedThresholdInformation": {
"thresholdRef": "string",
"indicatorUnit": "MEGABITS",
"granularity": "5MINUTES",
"direction": "UP",
ALARMCLEARED NOTIFICATION
POST /client/listener
Accept: application/json
"eventType": "AlarmClearedNotification",
"eventTime": "2017-09-27T05:48:29.0Z",
"eventId": "1562233",
"event":
"alarm":
"id:": "ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"href": "http://api/alarm/ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--
Gi9/20@42",
"clearSystemId": "OSS_01",
ALARMACKSTATE NOTIFICATION
POST /client/listener
Accept: application/json
"eventType": "AlarmAckStatedNotification",
"eventTime": "2017-09-27T05:48:29.0Z",
"eventId": "1562233",
"event":
"alarm":
"id:": "ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"href": "http://api/alarm/ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--
Gi9/20@42",
"ackState": "ACKNOWLEDGED",
"ackTime": "2017-06-15T07:04:19.666Z",
"ackSystemId": "OSS"
}
}
}
ALARMCHANGE NOTIFICATION
POST /client/listener
Accept: application/json
"eventType": "AlarmChangeNotification",
"eventTime": "2017-09-27T05:48:29.0Z",
"eventId": "1562233",
"event":
"alarm":
"id:": "ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"externalAlarmId": "cisco-7609-1937465789",
"alarmType": "QualityOfServiceAlarm",
"perceivedSeverity": "CRITICAL",
"alarmedObjectType": "ROUTER",
"alarmedObject": {
"id": "210875",
"SourceSystemId": "OSS_1",
"alarmState": "UPDATED",
"alarmRaisedTime": "2017-06-15T07:04:15.665Z",
"alarmChangedTime": "2017-06-15T07:04:15.666Z",
"alarmClearedTime": "",
"alarmReportingTime": "2017-06-15T07:04:15.666Z",
"ackState": "ACKNOWLEDGED",
"ackTime": "2017-06-15T07:04:19.666Z",
"ackSystemId": "OSS",
"clearUserId": "",
"clearSystemId": "",
"plannedOutageIndication": "IN_SERVICE",
"alarmEscalation": 0,
"serviceAffecting": true,
"affectedService": [
"id": "Vlan_dot1_dot2",
],
"isRootCause": true,
"correlatedAlarm": [
],
"parentAlarm": [
"id": "",
"href": ""
],
"crossedThresholdInformation": {
"granularity": "5MINUTES",
"direction": "UP",
},
"comments": [
"time": "2017-06-15T07:04:20.666Z",
"systemId": "OSS_001",
}
}
}
For every single of operation on the entities use the following templates.
Other Request Methods POST on TASK Resource GET and POST must not
be used to tunnel other
request methods.
Filtering and attribute selection rules are described in the TMF REST Design Guidelines.
The following list of operation is [provided as part of the Alarm Management Interface:
POST /API/ALARM
The POST /api/alarm operation is used to create a new alarm at the target alarm management
system. The Mandatory and optional attributes are described in the table below.
The REQUEST message
id O Accepted in entity-creation
requests if the server
supports the incoming
identifier as the reference to
create new resources
externalAlarmId M
alarmType M
perceivedSeverity M
probableCause M
specificProblem O
alarmedObjectType O
alarmedObject M A structure
id M
href O
sourceSystemId M
alarmDetails O
state O
alarmRaisedTime O
proposedRepairActions O
alarmReportingTime O
plannedOutageIndication O
serviceAffecting O
affectedService O A structure
id M
href O
crossedThresholdInformation O A structure
thresholdId M
thresholdRef O
indicatorName O
observedValue O
indicatorUnit O
granularity O
direction O
thresholdCrossingDescription O
Behavior:
REQUEST
POST /api/alarm/
Content-type: application/json
{
"id:": "ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"href": "",
"externalAlarmId": "cisco-7609-1937465789",
"alarmType": "QualityOfServiceAlarm",
"perceivedSeverity": "CRITICAL",
"alarmedObjectType": "ROUTER",
"alarmedObject": {
"id": "210875",
"href": ""
"SourceSystemId": "OSS_1",
"alarmState": "RAISED",
"alarmRaisedTime": "2017-06-15T07:04:15.665Z",
"alarmReportingTime": "2017-06-15T07:04:15.666Z",
"plannedOutageIndication": "IN_SERVICE",
"serviceAffecting": true,
"affectedService": [
"id": "Vlan_dot1_dot2",
"href": ""
],
"crossedThresholdInformation": {
"thresholdRef": "string",
"granularity": "5MINUTES",
"direction": "UP",
RESPONSE
201
Content-Type: application/json
{
"id:": "ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"href": "http://api/alarm/ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"externalAlarmId": "cisco-7609-1937465789",
"alarmType": "QualityOfServiceAlarm",
"perceivedSeverity": "CRITICAL",
"alarmedObjectType": "ROUTER",
"alarmedObject": {
"id": "210875",
"href": "http://api/alarmedobject/210875"
"SourceSystemId": "TG",
"alarmState": "RAISED",
"alarmRaisedTime": "2017-06-15T07:04:15.665Z",
"alarmReportingTime": "2017-06-15T07:04:15.666Z",
"plannedOutageIndication": "IN_SERVICE",
"serviceAffecting": true,
"affectedService": [
"id": "Vlan_dot1_dot2",
"href": ""
],
"crossedThresholdInformation": {
"granularity": "5MINUTES",
"direction": "UP",
PATCH /API/ALARM/{ALARMID}
The PATCH /api/alarm/{alarmid} operation is used to modify an existing alarm at the target alarm
management system. The Mandatory and optional attributes are described in the table below.
href O
perceivedSeverity O
probableCause O
specificProblem O
alarmDetails O
alarmChangedTime O
proposedRepairActions O
plannedOutageIndication O
alarmEscalation O
serviceAffecting O
affectedService O A structure
id M
href O
crossedThresholdInformation O A structure
thresholdId M
thresholdRef O
indicatorName O
observedValue O
indicatorUnit O
granularity O
direction O
thresholdCrossingDescription O
id M
href M
alarmChangedTime M
Note: It is assumed that the system/user that is modifying an alarm is the same system/user that created it.
Behavior:
REQUEST
PATCH /api/alarm/ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42
Content-type: application/merge-patch+json
{
"id:": "ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"href": "http://api/alarm/ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"perceivedSeverity": "CRITICAL",
"alarmChangedTime": "2017-06-15T07:04:15.666Z",
"plannedOutageIndication": "IN_SERVICE",
"alarmEscalation": 0,
"serviceAffecting": true,
"affectedService": [
"id": "Vlan_dot1_dot2",
"href": ""
],
"crossedThresholdInformation": {
"thresholdRef": "",
"granularity": "5MINUTES",
"direction": "UP",
RESPONSE
201
Content-Type: application/json
{
"id:": "ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"href": "http://api/alarm/ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"alarmChangedTime": "2017-06-15T07:04:15.666Z",
POST /API/ALARM/{ALARMID}/CLEAR
The POST /api/alarm/{ALARMID}/Clear operation is used to clear an alarm at the target alarm
management system. The Mandatory and optional attributes are described in the table below.
The REQUEST message
alarmClearedTime O
id M
href O
alarmClearedTime M
Behavior:
REQUEST
POST /api/alarm/ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42/clear
Content-Type: application/json
"alarmClearedTime": "2017-06-15T07:04:19.666Z",
"clearSystemId": "OSS_01"
RESPONSE
201
Content-Type: application/json
"id:": "ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"href": "http://api/alarm/ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"alarmClearedTime": "2017-06-15T07:04:19.666Z",
"clearSystemId": "OSS_01"
GET /API/ALARM/{ALARMID}
The GET /api/alarm/{ALARMID} operation is used get the details of a specific alarm at the target
alarm management system based on its identifier.
The REQUEST message does not include any attributes as this GET operation is providing the
identifier of the alarm in its header.
The REPONSE message may have different attributes based on the attribute selection. These
attributes are a subset of the alarm object attributes.
Behavior:
REQUEST
Get /api/alarm/ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42
Content-Type: application/json
RESPONSE
200
Content-Type: application/json
{
"id:": "ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"href": "http://api/alarm/ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"externalAlarmId": "cisco-7609-1937465789",
"alarmType": "QualityOfServiceAlarm",
"perceivedSeverity": "CRITICAL",
"alarmedObjectType": "ROUTER",
"alarmedObject": {
"id": "210875",
"href": ""
"SourceSystemId": "TG",
"alarmState": "RAISED",
"alarmRaisedTime": "2017-06-15T07:04:15.665Z",
"alarmChangedTime": "2017-06-15T07:04:15.666Z",
"alarmClearedTime": "",
"alarmReportingTime": "2017-06-15T07:04:15.666Z",
"ackState": "ACKNOWLEDGED",
"ackTime": "2017-06-15T07:04:19.666Z",
"ackSystemId": "OSS",
"clearUserId": "",
"clearSystemId": "",
"plannedOutageIndication": "IN_SERVICE",
"alarmEscalation": 0,
"serviceAffecting": true,
"affectedService": [
"id": "Vlan_dot1_dot2",
"href": ""
],
"isRootCause": true,
"correlatedAlarm": [
],
"parentAlarm": [
"id": "",
"href": ""
],
"crossedThresholdInformation": {
"thresholdRef": "",
"granularity": "5MINUTES",
"direction": "UP",
},
"comments": [
"time": "2017-06-15T07:04:20.666Z",
"systemId": "OSS_001",
GET /API/ALARMS
The GET /api/alarm/ operation is used get details of a specific alarm at the target alarm
management system based on a filter.
Behavior:
In the example below, it is requested to get the id, href and perceivedSeverity and
alarmRaisedTime attributes of all active alarms that were raised after a certain date & time.
REQUEST
RESPONSE
200
Content-Type: application/json
[
{
"id:": "ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"href": "http://api/alarm/ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"perceivedSeverity": "CRITICAL",
"alarmRaisedTime": "2017-06-15T07:04:15.665Z"
},
{
"id:": "ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@49",
"href": "http://api/alarm/ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@49",
"perceivedSeverity": "MAJOR",
"alarmRaisedTime": "2017-06-15T07:04:15.665Z"
}
]
POST /API/ACKALARMS
The POST /api/ackalarms operation is used to acknowledge a set of alarms at the target alarm
management system. The Mandatory and optional attributes are described in the table below.
The REQUEST message (used as a template for acknowledging alarms)
id M Part of a filter
Notes;
• The ackState will be modified on the target system as a result of this operation.
• If no filtering attribute is populated, all the alarms of the source User/System will be acknowledged
id M
href O
ackTime O
Behavior:
In the example below it is required to acknowledge all the alarms coming from OSS_1
REQUEST
POST /api/ackalarms
Content-Type: application/json
"id:": "",
"href":,""
"alarmedObjectType": ""
"alarmedObject": {
"id": ""
"href": ""
"alarmRaisedTime": ""
"ackUserId": ""
"ackSystemId": "OSS_1",
"ackTime": "2017-06-15T07:04:19.666Z",
RESPONSE
200
[
"id:": "ROUTER@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"ackSystemId": "OSS_1",
"ackTime": "2017-06-15T07:04:19.666Z",
},
{
"href": "http://api/alarm/ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@43",
"ackSystemId": "OSS_1",
"ackTime": "2017-06-15T07:04:19.666Z",
}
]
POST /API/UNACKALARMS
The POST /api/unackalarms operation is used to un-acknowledge a set of alarms at the target
alarm management system. The Mandatory and optional attributes are described in the table
below.
id M Part of a filter
Notes;
• The ackState will be modified on the target system as a result of this operation.
• If no filtering attribute is populated, all the alarms of the source User/System will be acknowledged
id M
href O
Behavior:
In the example below it is required to acknowledge all the alarms coming from routers.
REQUEST
POST /api/unackalarms
Content-Type: application/json
"id:": "",
"href": "",
"alarmedObjectType": "ROUTER",
"alarmedObject": {
"id": "",
"href": ""
"alarmRaisedTime": "",
"ackUserId": "",
"ackSystemId": "OSS",
"ackTime": "2017-06-15T07:04:19.666Z",
},
{
RESPONSE
201
[
"id:": "ROUTER@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"ackUserId": "",
"ackSystemId": "OSS",
"ackTime": "2017-06-15T07:04:19.666Z",
},
{
"href": "http://api/alarm/ROUTER@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"ackUserId": "",
"ackSystemId": "OSS",
"ackTime": "2017-06-15T07:04:19.666Z",
}
]
POST /API/CLEARALARMS
The POST /api/clearalarms operation is used to clear alarm at the target alarm management
system by a filter. The Mandatory and optional attributes are described in the table below.
The REQUEST message (used as a template for clearing alarms)
id M Part of a filter
Notes;
• If no filtering attribute is populated, all the alarms of the source User/System will be cleared
clearedAlarms A list
id M
href O
Behavior:
In the example below it is required to acknowledge all the alarms from alarmed objects with id =
210875 coming from OSS_01
REQUEST
POST /api/unackalarms
Content-Type: application/json
"id:": "",
"href": "",
"alarmType": "",
"probableCause":,"",
"alarmedObjectType": "",
"alarmedObject": {
"id": "210875",
"href": ""
},
"clearUserId": "",
"clearSystemId": "OSS_01",
RESPONSE
201
{
"id:": "ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"href": "http://api/alarm/ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42"
POST /API/COMMENTALARMS
alarmId M A list
Comment M
time O
Comment M
commentedAlarms A list
id M
href O
Behavior:
o Returns HTTP/1.1 status code 400 (Bad request) if content is invalid (missing
required attributes).
REQUEST
POST /api/commentalarm
Content-Type: application/json
"id:": "ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"href": "http://api/alarm/ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"comments": [
"time": "2017-06-15T07:04:20.666Z",
"systemId": "OSS_001",
RESPONSE
201
{
"id:": "ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
"href": "http://api/alarm/ROUTER_IF@Cisco-7609-6-4-4-4-14-14-4--Gi9/20@42",
POST /API/GROUPALARMS
The POST /api/groupAlarms is used to group alarm, applying the result of Root Cause Analysis
reasoning at the target alarm management system. The Mandatory and optional attributes are
described in the table below.
parentAlarm M
id M
href O
correlatedAlarms M A list
id M
href O
changeTime O
sourceSystemId M
parentAlarm M
id M
href O
correlatedAlarms M A list
id M
href O
changeTime O
sourceSystemId M
Note: The isRootCause attribute on the target Alarm Management system will be modified as a result of this
operation
Behavior:
REQUEST
POST /api/groupalarms
Content-Type: application/json
"parentAlarm": [
"id": "ALR_PARENT_1",
],
"correlatedAlarm": [
"id": "ALR_CHILD_1",
},
"id": "ALR_CHILD_2",
],
"alarmChangedTime": "2017-06-15T07:04:15.666Z",
"SourceSystemId": "OSS_1"
RESPONSE
201
[
"parentAlarm":
"id": "ALR_PARENT_1",
"correlatedAlarm": [
"id": "ALR_CHILD_1",
},
"id": "ALR_CHILD_2",
],
"alarmChangedTime": "2017-06-15T07:04:15.666Z",
"SourceSystemId": "OSS_1"
POST /API/UNGROUPALARMS
The POST /api/ungroupAlarms is used to un-group alarms, as a result of Root Cause Analysis
reasoning at the target alarm management system. The Mandatory and optional attributes are
described in the table below.
parentAlarm M
id M
href O
correlatedAlarms M A list
id M
href O
changeTime O
sourceSystemId M
parentAlarm M
id M
href O
unCorrelatedAlarms M A list
id M
href O
changeTime O
sourceSystemId M
Note: The isRootCause attribute on the target Alarm Management system will be modified as a result of this
operation
Behavior:
REQUEST
"parentAlarm":
"id": "ALR_PARENT_1",
"correlatedAlarm": [
"id": "ALR_CHILD_1",
},
"id": "ALR_CHILD_2",
],
"alarmChangedTime": "2017-06-15T07:04:15.666Z",
"SourceSystemId": "OSS_1"
RESPONSE
201
[
"parentAlarm":
"id": "ALR_PARENT_1",
},
"correlatedAlarm": [
"id": "ALR_CHILD_1",
},
"id": "ALR_CHILD_2",
],
"alarmChangedTime": "2017-06-15T07:04:15.666Z",
"SourceSystemId": "OSS_1"
"alarmChangedTime": "2017-06-15T07:04:15.666Z",
"SourceSystemId": "TG"
It is assumed that the Pub/Sub uses the Register and UnRegister mechanisms described in the
REST Guidelines reproduced below.
Description:
Sets the communication endpoint address the service instance must use to deliver
information about its health state, execution state, failures and metrics. Subsequent
POST calls will be rejected by the service if it does not support multiple listeners. In
this case DELETE /api/hub/{id} must be called before an endpoint can be created
again.
Behavior:
REQUEST
POST /api/hub
Accept: application/json
{"callback": "http://in.listener.com"}
RESPONSE
201
Content-Type: application/json
Location: /api/hub/42
{"id":"42","callback":"http://in.listener.com","query":null}
Description:
Clears the communication endpoint address that was set by creating the Hub.
Behavior:
REQUEST
DELETE /api/hub/{id}
Accept: application/json
RESPONSE
204
Description:
Behavior:
Returns HTTP/1.1 status code 201 if the service is able to set the configuration.
REQUEST
POST /client/listener
Accept: application/json
"event": {
EVENT BODY
},
"eventType": "eventType"
}
RESPONSE
201
Content-Type: application/json
RELEASE HISTORY
Release 17.0.0 20-Sep-2017 Yuval Stein, TEOCO First Release of the Document.
Pierre Gauthier,
TM Forum