#define MAX_SQL 5
#define new_sql() switch_assert(sql_idx+1 < MAX_SQL); if (exists) sql[sql_idx++]
-#define new_sql_f() switch_assert(sql_idx+1 < MAX_SQL); if (force_exists) sql[sql_idx++]
+#define new_sql_a() switch_assert(sql_idx+1 < MAX_SQL); sql[sql_idx++]
static void core_event_handler(switch_event_t *event)
{
int sql_idx = 0;
char *extra_cols;
int exists = 1;
- int force_exists = 1;
char *uuid = NULL;
switch_assert(event);
case SWITCH_EVENT_CALL_SECURE:
{
if ((uuid = switch_event_get_header(event, "unique-id"))) {
- force_exists = exists = switch_ivr_uuid_exists(uuid);
- if (!exists) {
- force_exists = switch_ivr_uuid_force_exists(uuid);
- }
+ exists = switch_ivr_uuid_exists(uuid);
}
}
break;
//case CS_HANGUP: /* marked for deprication */
case CS_INIT:
break;
+ case CS_HANGUP: /* marked for deprication */
+ new_sql_a() = switch_mprintf("update channels set state='%s' where uuid='%s'",
+ switch_event_get_header_nil(event, "channel-state"),
+ switch_event_get_header_nil(event, "unique-id"));
+ break;
case CS_EXECUTE:
if ((extra_cols = parse_presence_data_cols(event))) {
new_sql() = switch_mprintf("update channels set state='%s',%s where uuid='%q'",
}
break;
default:
- new_sql_f() = switch_mprintf("update channels set state='%s' where uuid='%s'",
+ new_sql() = switch_mprintf("update channels set state='%s' where uuid='%s'",
switch_event_get_header_nil(event, "channel-state"),
switch_event_get_header_nil(event, "unique-id"));
break;