Index: main/manager.c =================================================================== --- main/manager.c (revision 310138) +++ main/manager.c (working copy) @@ -2874,6 +2874,7 @@ static int action_events(struct mansession *s, const struct message *m) { const char *mask = astman_get_header(m, "EventMask"); + const char *id = astman_get_header(m, "ActionID"); int res, x; res = set_eventmask(s, mask); @@ -2888,21 +2889,29 @@ } } astman_append(s, "Response: Success\r\n" - "Events: On\r\n\r\n"); - } else if (res == 0) + "Events: On\r\n"); + } else if (res == 0) { astman_append(s, "Response: Success\r\n" - "Events: Off\r\n\r\n"); + "Events: Off\r\n"); + } + if (!ast_strlen_zero(id)) { + astman_append(s, "ActionID: %s\r\n\r\n", id); + } return 0; } - if (res > 0) + if (res > 0) { astman_append(s, "Response: Success\r\n" - "Events: On\r\n\r\n"); - else if (res == 0) + "Events: On\r\n"); + } else if (res == 0) { astman_append(s, "Response: Success\r\n" - "Events: Off\r\n\r\n"); - else + "Events: Off\r\n"); + } else { astman_send_error(s, m, "Invalid event mask"); + } + if (!ast_strlen_zero(id)) { + astman_append(s, "ActionID: %s\r\n\r\n", id); + } return 0; }