From 16233478175bbe0515c33215d3585d521fd6ea55 Mon Sep 17 00:00:00 2001 From: Matthew Jordan Date: Tue, 16 Jul 2013 22:25:33 +0000 Subject: [PATCH] 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 --- main/cel.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/main/cel.c b/main/cel.c index b71afde223..209d1451a3 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, };