diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index 86cf8bdb5919749d0c937c3309badb1e220a9c17..b51292df6ce5d9cb1f8a4e18581349ba8c28c771 100644
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -6431,11 +6431,17 @@ static int handle_init_event(struct zt_pvt *i, int event)
 		i->inalarm = 0;
 		ast_log(LOG_NOTICE, "Alarm cleared on channel %d\n", i->channel);
 		break;
+               manager_event(EVENT_FLAG_SYSTEM, "AlarmClear",
+                                                       "Channel: %d\r\n", i->channel);
 	case ZT_EVENT_ALARM:
 		i->inalarm = 1;
 		res = get_alarms(i);
 		ast_log(LOG_WARNING, "Detected alarm on channel %d: %s\n", i->channel, alarm2str(res));
 		/* fall thru intentionally */
+               manager_event(EVENT_FLAG_SYSTEM, "Alarm",
+                                                       "Alarm: %s\r\n"
+                                                       "Channel: %d\r\n",
+                                                       alarm2str(res), i->channel);
 	case ZT_EVENT_ONHOOK:
 		if (i->radio) break;
 		/* Back on hook.  Hang up. */