From 6d13915f95e00ccd508b0bd6d2c1a08ecc88f0e9 Mon Sep 17 00:00:00 2001 From: Nanang Izzuddin Date: Thu, 12 Apr 2012 08:51:22 +0000 Subject: Fix #1484: apply and send re-register when registration timeout/expire setting is changed in pjsua_modify_acc(). git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/1.x@4041 74dad513-b988-da41-8d7b-12977e46ad98 --- pjsip/src/pjsua-lib/pjsua_acc.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'pjsip') diff --git a/pjsip/src/pjsua-lib/pjsua_acc.c b/pjsip/src/pjsua-lib/pjsua_acc.c index 730aea00..c5ec709b 100644 --- a/pjsip/src/pjsua-lib/pjsua_acc.c +++ b/pjsip/src/pjsua-lib/pjsua_acc.c @@ -965,7 +965,13 @@ PJ_DEF(pj_status_t) pjsua_acc_modify( pjsua_acc_id acc_id, &cfg->auth_pref.algorithm); /* Registration */ - acc->cfg.reg_timeout = cfg->reg_timeout; + if (acc->cfg.reg_timeout != cfg->reg_timeout) { + acc->cfg.reg_timeout = cfg->reg_timeout; + if (acc->regc != NULL) + pjsip_regc_update_expires(acc->regc, acc->cfg.reg_timeout); + + update_reg = PJ_TRUE; + } acc->cfg.unreg_timeout = cfg->unreg_timeout; acc->cfg.allow_contact_rewrite = cfg->allow_contact_rewrite; acc->cfg.reg_retry_interval = cfg->reg_retry_interval; @@ -974,8 +980,9 @@ PJ_DEF(pj_status_t) pjsua_acc_modify( pjsua_acc_id acc_id, acc->cfg.register_on_acc_add = cfg->register_on_acc_add; if (acc->cfg.reg_delay_before_refresh != cfg->reg_delay_before_refresh) { acc->cfg.reg_delay_before_refresh = cfg->reg_delay_before_refresh; - pjsip_regc_set_delay_before_refresh(acc->regc, - cfg->reg_delay_before_refresh); + if (acc->regc != NULL) + pjsip_regc_set_delay_before_refresh(acc->regc, + cfg->reg_delay_before_refresh); } /* Normalize registration timeout and refresh delay */ -- cgit v1.2.3