send another presence event on calls that were cancelled from LOSE_RACE to fix winnable race in Broadsoft SCA

This commit is contained in:
Anthony Minessale 2011-03-10 22:02:45 -06:00
parent a8f01d5bc6
commit 59f6654e96
2 changed files with 2 additions and 1 deletions

View File

@ -2004,7 +2004,7 @@ static void sync_sla(sofia_profile_t *profile, const char *to_user, const char *
switch_core_hash_init(&sh->hash, sh->pool);
sql = switch_mprintf("select sip_from_user,sip_from_host,call_info,call_info_state,uuid from sip_dialogs "
"where hostname='%q' and ((sip_from_user='%q' and sip_from_host='%q') or presence_id='%q@%q')",
"where call_info_state is not null and hostname='%q' and ((sip_from_user='%q' and sip_from_host='%q') or presence_id='%q@%q')",
mod_sofia_globals.hostname, to_user, to_host, to_user, to_host);

View File

@ -2539,6 +2539,7 @@ SWITCH_DECLARE(switch_channel_state_t) switch_channel_perform_hangup(switch_chan
if (hangup_cause == SWITCH_CAUSE_LOSE_RACE) {
switch_channel_presence(channel, "unknown", "cancelled", NULL);
switch_channel_set_variable(channel, "presence_call_info", NULL);
}