diff --git a/src/mod/applications/mod_limit/mod_limit.c b/src/mod/applications/mod_limit/mod_limit.c index fd03ff7689..bde6e7c713 100644 --- a/src/mod/applications/mod_limit/mod_limit.c +++ b/src/mod/applications/mod_limit/mod_limit.c @@ -315,7 +315,7 @@ static switch_status_t db_state_handler(switch_core_session_t *session) switch_channel_state_t state = switch_channel_get_state(channel); char *sql = NULL; - if (state == CS_HANGUP || state == CS_ROUTING) { + if (state >= CS_HANGUP || state == CS_ROUTING) { sql = switch_mprintf("delete from limit_data where uuid='%q';", switch_core_session_get_uuid(session)); limit_execute_sql(sql, globals.mutex); @@ -334,7 +334,7 @@ static switch_status_t hash_state_handler(switch_core_session_t *session) limit_hash_private_t *pvt = switch_channel_get_private(channel, "limit_hash"); /* The call is either hung up, or is going back into the dialplan, decrement appropriate couters */ - if (state == CS_HANGUP || state == CS_ROUTING) { + if (state >= CS_HANGUP || state == CS_ROUTING) { switch_hash_index_t *hi; switch_mutex_lock(globals.limit_hash_mutex);