]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
make fore-subscription-expires only work on nonzero expire deltas, 0 means unscubscribe
authorAnthony Minessale <anthm@freeswitch.org>
Mon, 13 Sep 2010 20:27:10 +0000 (15:27 -0500)
committerAnthony Minessale <anthm@freeswitch.org>
Mon, 13 Sep 2010 20:27:18 +0000 (15:27 -0500)
src/mod/endpoints/mod_sofia/sofia_presence.c

index f88920294ca8c6f9d187fb403185a7980c228b33..5eb71b37e9f4adc68b9934eb6d94f40b4c49b83d 100644 (file)
@@ -2043,7 +2043,11 @@ void sofia_presence_handle_sip_i_subscribe(int status,
                        from_host = "n/a";
                }
 
-               exp_delta = profile->force_subscription_expires ? profile->force_subscription_expires : (sip->sip_expires ? sip->sip_expires->ex_delta : 3600);
+               if ((exp_delta = sip->sip_expires ? sip->sip_expires->ex_delta : 3600)) {
+                       if (profile->force_subscription_expires) {
+                               exp_delta = profile->force_subscription_expires;
+                       }
+               }
 
                if (exp_delta) {
                        exp_abs = (long) switch_epoch_time_now(NULL) + exp_delta;