manager_channels: Fix throwing of HangupHandler manager events
authorGerald Schnabel <gs@starface.de>
Tue, 22 Jan 2019 21:03:22 +0000 (22:03 +0100)
committerRichard Mudgett <rmudgett@digium.com>
Tue, 22 Jan 2019 23:30:07 +0000 (17:30 -0600)
The type value extracted from stasis message data in channel_hangup_handler_cb
isn't compared against the valid values "run", "pop" and "push". Thus the
manager events HangupHandlerPush, HangupHandlerPop and HangupHandlerRun are
never thrown.

This regression was introduced by ASTERISK_21462.

ASTERISK-28252

Change-Id: I9956e35e18da1873113644df1ddc3c7cd37bf524

main/manager_channels.c

index edbc770..646bbd7 100644 (file)
@@ -971,11 +971,11 @@ static void channel_hangup_handler_cb(void *data, struct stasis_subscription *su
                return;
        }
 
-       if (!strcmp(action, "type")) {
+       if (!strcmp(action, "run")) {
                event = "HangupHandlerRun";
-       } else if (!strcmp(action, "type")) {
+       } else if (!strcmp(action, "pop")) {
                event = "HangupHandlerPop";
-       } else if (!strcmp(action, "type")) {
+       } else if (!strcmp(action, "push")) {
                event = "HangupHandlerPush";
        } else {
                return;