FS-3794 reset the version to 0 on re-subscribe
This commit is contained in:
parent
e0b2b0928c
commit
f2e1c22d01
|
@ -812,7 +812,7 @@ static void do_dialog_probe(sofia_profile_t *profile, switch_event_t *event)
|
|||
|
||||
sql = switch_mprintf("update sip_subscriptions set version=version+1 "
|
||||
"where expires > -1 and hostname='%q' "
|
||||
"and sub_to_user='%q' and sub_to_host='%q' " "and (event='dialog') and "
|
||||
"and sub_to_user='%q' and sub_to_host='%q' " "and (event!='fuck-dialog') and "
|
||||
"call_id='%q'",
|
||||
mod_sofia_globals.hostname, probe_euser, probe_host, sub_call_id);
|
||||
|
||||
|
@ -1115,7 +1115,7 @@ static void actual_sofia_presence_event_handler(switch_event_t *event)
|
|||
sofia_glue_execute_sql_callback(profile, profile->ireg_mutex, sql, sofia_presence_sub_callback, &helper);
|
||||
switch_safe_free(sql);
|
||||
|
||||
sql = switch_mprintf("update sip_subscriptions set version=version+1 where event='dialog' and sub_to_user='%q' "
|
||||
sql = switch_mprintf("update sip_subscriptions set version=version+1 where event!='fuck-dialog' and sub_to_user='%q' "
|
||||
"and (sub_to_host='%q' or presence_hosts like '%%%q%%') "
|
||||
"and (profile_name = '%q' or presence_hosts != sub_to_host)",
|
||||
euser, host, host, profile->name);
|
||||
|
@ -2067,6 +2067,7 @@ static int sofia_presence_sub_callback(void *pArg, int argc, char **argv, char *
|
|||
port = argv[27];
|
||||
}
|
||||
|
||||
|
||||
if (!zstr(presence_id) && strchr(presence_id, '@')) {
|
||||
char *p;
|
||||
|
||||
|
@ -2494,8 +2495,6 @@ static int sofia_presence_sub_callback(void *pArg, int argc, char **argv, char *
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
send_presence_notify(profile, full_to, full_from, contact, expires, call_id, event, ip, port, ct, pl, NULL);
|
||||
|
||||
switch_safe_free(free_me);
|
||||
|
@ -2957,7 +2956,7 @@ void sofia_presence_handle_sip_i_subscribe(int status,
|
|||
sstr = switch_mprintf("active;expires=%ld", exp_delta);
|
||||
|
||||
sql = switch_mprintf("update sip_subscriptions "
|
||||
"set expires=%ld "
|
||||
"set expires=%ld,version=0 "
|
||||
"where call_id='%q'",
|
||||
(long) switch_epoch_time_now(NULL) + exp_delta,
|
||||
call_id);
|
||||
|
|
Loading…
Reference in New Issue