[commit] r12713 - freeswitch/trunk/src/mod/languages/mod_lua
Author: anthm Date: Sun Mar 22 13:23:24 2009 New Revision: 12713 Log: tweak lua hangup hook Modified: freeswitch/trunk/src/mod/languages/mod_lua/freeswitch_lua.cpp Modified: freeswitch/trunk/src/mod/languages/mod_lua/freeswitch_lua.cpp ============================================================================== --- freeswitch/trunk/src/mod/languages/mod_lua/freeswitch_lua.cpp (original) +++ freeswitch/trunk/src/mod/languages/mod_lua/freeswitch_lua.cpp Sun Mar 22 13:23:24 2009 @@ -133,10 +133,18 @@ CoreSession *coresession = NULL; switch_channel_state_t state = switch_channel_get_state(channel); - if ((coresession = (CoreSession *) switch_channel_get_private(channel, "CoreSession"))) { - if (coresession->hook_state != state) { + if (session_hungup) { + + channel = switch_core_session_get_channel(session_hungup); + + if (channel) { + coresession = (CoreSession *) switch_channel_get_private(channel, "CoreSession"); + } + + if (coresession && coresession->allocated && (state == CS_HANGUP || state == CS_ROUTING) && coresession->hook_state != state) { coresession->hook_state = state; coresession->check_hangup_hook(); + switch_core_event_hook_remove_state_change(session_hungup, lua_hanguphook); } }
participants (1)
-
FreeSWITCH SVN