summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorMatthew Jordan <mjordan@digium.com>2013-07-16 22:25:33 +0000
committerMatthew Jordan <mjordan@digium.com>2013-07-16 22:25:33 +0000
commit16233478175bbe0515c33215d3585d521fd6ea55 (patch)
treeba16324f1065225d741fd5ec2841431ed3906aa8 /main
parente1b75afdb824d1c817e8a3c2a28c215d17ffc6a0 (diff)
Re-order handlers in CEL to ensure that HANGUP events happen after APP_END
When a channel is hungup, both an APP_END event and a HANGUP event can be fired. To ensure that HANGUP events occur after APP_END events, the method callbacks for the APP_END event should be processed prior to the callbacks for the HANGUP event. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@394530 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main')
-rw-r--r--main/cel.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/main/cel.c b/main/cel.c
index b71afde22..209d1451a 100644
--- a/main/cel.c
+++ b/main/cel.c
@@ -1145,9 +1145,14 @@ static void cel_channel_app_change(
}
}
+/* \brief Handlers for channel snapshot changes.
+ * \note Order of the handlers matters. Application changes must come before state
+ * changes to ensure that hangup notifications occur after application changes.
+ * Linkedid checking should always come last.
+ */
cel_channel_snapshot_monitor cel_channel_monitors[] = {
- cel_channel_state_change,
cel_channel_app_change,
+ cel_channel_state_change,
cel_channel_linkedid_change,
};