diff --git a/xos/synchronizer/event_steps/onos_event.py b/xos/synchronizer/event_steps/onos_event.py
index 574413d..3adce23 100644
--- a/xos/synchronizer/event_steps/onos_event.py
+++ b/xos/synchronizer/event_steps/onos_event.py
@@ -41,7 +41,6 @@
                         subscribers.append(subscriber)
         return subscribers
 
-
     def send_alarm(self, olt, value):
         timestamp = time.mktime(datetime.datetime.strptime(value["timestamp"], "%Y-%m-%dT%H:%M:%S.%fZ").timetuple())
         state = "RAISED" if olt.link_status == "down" else "CLEARED"
@@ -55,14 +54,18 @@
                  "reported_ts": time.time(),
                  "raised_ts": timestamp,
                  "state": state,
-                 "alarm_type_name": "OLT.LOSS_OF_AGGSWITCH",
+                 "alarm_type_name": "OLT.PORT_LOS",
                  "severity": "MAJOR",
                  "resource_id": olt.device_id,
                  "logical_device_id": olt.dp_id,
-                 "context": {"affected_subscribers": subscribers},
+                 "context": {"affected_subscribers": subscribers,
+                             "switch_datapath_id": olt.switch_datapath_id,
+                             "switch_port": olt.switch_port,
+                             "oltdevice.name": olt.name},
                  "type": "COMMUNICATION",
-                 "id": "xos.voltservice.%s.OLT_LOSS_OF_AGGWSWITCH" % olt.device_id,
-                 "description": "xos.voltservice.%s - OLT LOSS OF AGGSWITCH Alarm - OLT_LOSS_OF_AGGSWITCH - %s" % (olt.device_id, state)}
+                 "id": "xos.voltservice.%s.OLT_PORT_LOS" % olt.device_id,
+                 "description": "xos.voltservice.%s - OLT PORT LOS Alarm -"
+                                " OLT_PORT_LOS - %s" % (olt.device_id, state)}
 
         topic = "xos.alarms.olt-service"
         key = olt.device_id
diff --git a/xos/synchronizer/event_steps/test_onos_event.py b/xos/synchronizer/event_steps/test_onos_event.py
index 8f8f0d8..2148493 100644
--- a/xos/synchronizer/event_steps/test_onos_event.py
+++ b/xos/synchronizer/event_steps/test_onos_event.py
@@ -80,7 +80,7 @@
 
         self.oltdevice = OLTDevice(name="myolt",
                                    device_id="of:0000000000000001",
-                                   switch_dsatapath_id="of:0000000000000001",
+                                   switch_datapath_id="of:0000000000000001",
                                    switch_port="1")
 
         self.ponport = PONPort(olt_device = self.oltdevice)
@@ -179,14 +179,17 @@
                  u"reported_ts": ANY,
                  u"raised_ts": raised_ts,
                  u"state": u"RAISED",
-                 u"alarm_type_name": u"OLT.LOSS_OF_AGGSWITCH",
+                 u"alarm_type_name": u"OLT.PORT_LOS",
                  u"severity": u"MAJOR",
                  u"resource_id": unicode(self.oltdevice.device_id),
                  u"logical_device_id": self.oltdevice.dp_id,
-                 u"context": {u'affected_subscribers': [u'somesubscriber']},
+                 u"context": {u'affected_subscribers': [u'somesubscriber'],
+                              u"switch_datapath_id": "of:0000000000000001",
+                              u"switch_port": "1",
+                              u"oltdevice.name": "myolt"},
                  u"type": u"COMMUNICATION",
-                 u"id": u"xos.voltservice.%s.OLT_LOSS_OF_AGGWSWITCH" % self.oltdevice.device_id,
-                 u"description": u"xos.voltservice.%s - OLT LOSS OF AGGSWITCH Alarm - OLT_LOSS_OF_AGGSWITCH - RAISED" % self.oltdevice.device_id}
+                 u"id": u"xos.voltservice.%s.OLT_PORT_LOS" % self.oltdevice.device_id,
+                 u"description": u"xos.voltservice.%s - OLT PORT LOS Alarm - OLT_PORT_LOS - RAISED" % self.oltdevice.device_id}
 
         self.assertDictEqual(expected_alarm, event)
 
@@ -219,14 +222,17 @@
                  u"reported_ts": ANY,
                  u"raised_ts": raised_ts,
                  u"state": u"CLEARED",
-                 u"alarm_type_name": u"OLT.LOSS_OF_AGGSWITCH",
+                 u"alarm_type_name": u"OLT.PORT_LOS",
                  u"severity": u"MAJOR",
                  u"resource_id": unicode(self.oltdevice.device_id),
                  u"logical_device_id": self.oltdevice.dp_id,
-                 u"context": {u'affected_subscribers': [u'somesubscriber']},
+                 u"context": {u'affected_subscribers': [u'somesubscriber'],
+                              u"switch_datapath_id": "of:0000000000000001",
+                              u"switch_port": "1",
+                              u"oltdevice.name": "myolt"},
                  u"type": u"COMMUNICATION",
-                 u"id": u"xos.voltservice.%s.OLT_LOSS_OF_AGGWSWITCH" % self.oltdevice.device_id,
-                 u"description": u"xos.voltservice.%s - OLT LOSS OF AGGSWITCH Alarm - OLT_LOSS_OF_AGGSWITCH - CLEARED" % self.oltdevice.device_id}
+                 u"id": u"xos.voltservice.%s.OLT_PORT_LOS" % self.oltdevice.device_id,
+                 u"description": u"xos.voltservice.%s - OLT PORT LOS Alarm - OLT_PORT_LOS - CLEARED" % self.oltdevice.device_id}
 
         self.assertDictEqual(expected_alarm, event)
 
