]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
tweak expire on pres
authorAnthony Minessale <anthony.minessale@gmail.com>
Fri, 5 Dec 2008 22:24:40 +0000 (22:24 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Fri, 5 Dec 2008 22:24:40 +0000 (22:24 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@10635 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/endpoints/mod_sofia/sofia_presence.c

index 6aefa199a55601e89e84e515edd207742ce91166..f181e60873a71898f123de8ade5876c16cf714c4 100644 (file)
@@ -1497,7 +1497,7 @@ void sofia_presence_handle_sip_i_subscribe(int status,
                full_from = sip_header_as_string(profile->home, (void *) sip->sip_from);
                full_via = sip_header_as_string(profile->home, (void *) sip->sip_via);
 
-               exp_raw = (sip->sip_expires ? sip->sip_expires->ex_delta : 3600);
+               exp_raw = (sip->sip_expires ? sip->sip_expires->ex_delta : 600);
                exp = (long) switch_timestamp(NULL) + exp_raw;
 
                if (sofia_test_pflag(profile, PFLAG_MULTIREG)) {
@@ -1533,6 +1533,10 @@ void sofia_presence_handle_sip_i_subscribe(int status,
                        switch_assert(sql != NULL);
                        sofia_glue_execute_sql(profile, &sql, SWITCH_TRUE);
 
+                       if (exp_raw >= 180) {
+                               exp_raw -= 120;
+                       }
+
                        sstr = switch_mprintf("active;expires=%ld", exp_raw);
                }