From: Anthony Minessale Date: Wed, 18 Jan 2012 17:35:43 +0000 (-0600) Subject: FS-3794 small regression in SLA X-Git-Tag: v1.2-rc1~19^2~1^2~37 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d6988b0f3ad7cf4a3d831781e76504e114a2d87c;p=thirdparty%2Ffreeswitch.git FS-3794 small regression in SLA --- diff --git a/src/mod/endpoints/mod_sofia/sofia_presence.c b/src/mod/endpoints/mod_sofia/sofia_presence.c index 0caa1b1d95..1e7e68f750 100644 --- a/src/mod/endpoints/mod_sofia/sofia_presence.c +++ b/src/mod/endpoints/mod_sofia/sofia_presence.c @@ -2935,16 +2935,19 @@ void sofia_presence_handle_sip_i_subscribe(int status, proto = alt_proto; } - sql = switch_mprintf("select count(*) from sip_subscriptions where call_id='%q'", call_id); - sofia_glue_execute_sql2str(profile, profile->ireg_mutex, sql, buf, sizeof(buf)); + if ((sub_state != nua_substate_terminated)) { + sql = switch_mprintf("select count(*) from sip_subscriptions where call_id='%q'", call_id); + sofia_glue_execute_sql2str(profile, profile->ireg_mutex, sql, buf, sizeof(buf)); + switch_safe_free(sql); - if (mod_sofia_globals.debug_presence > 0 || mod_sofia_globals.debug_sla > 0) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, - "check subs sql: %s [%s]\n", sql, buf); - } + if (mod_sofia_globals.debug_presence > 0 || mod_sofia_globals.debug_sla > 0) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, + "check subs sql: %s [%s]\n", sql, buf); + } - if ((subbed = atoi(buf)) > 0) { - sub_state = nua_substate_active; + if ((subbed = atoi(buf)) > 0) { + sub_state = nua_substate_active; + } } if ((sub_state == nua_substate_active)) {