summaryrefslogtreecommitdiff
path: root/pjsip/src/pjsua-lib/pjsua_acc.c
diff options
context:
space:
mode:
Diffstat (limited to 'pjsip/src/pjsua-lib/pjsua_acc.c')
-rw-r--r--pjsip/src/pjsua-lib/pjsua_acc.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_acc.c b/pjsip/src/pjsua-lib/pjsua_acc.c
index 77d8d2b3..ec226521 100644
--- a/pjsip/src/pjsua-lib/pjsua_acc.c
+++ b/pjsip/src/pjsua-lib/pjsua_acc.c
@@ -571,6 +571,7 @@ static pj_bool_t acc_check_nat_addr(pjsua_acc *acc,
if (acc->regc != NULL) {
pjsip_regc_destroy(acc->regc);
acc->regc = NULL;
+ acc->contact.slen = 0;
}
/* Update account's Contact header */
@@ -859,6 +860,7 @@ static void regc_cb(struct pjsip_regc_cbparam *param)
param->status);
pjsip_regc_destroy(acc->regc);
acc->regc = NULL;
+ acc->contact.slen = 0;
/* Stop keep-alive timer if any. */
update_keep_alive(acc, PJ_FALSE, NULL);
@@ -869,6 +871,7 @@ static void regc_cb(struct pjsip_regc_cbparam *param)
(int)param->reason.slen, param->reason.ptr));
pjsip_regc_destroy(acc->regc);
acc->regc = NULL;
+ acc->contact.slen = 0;
/* Stop keep-alive timer if any. */
update_keep_alive(acc, PJ_FALSE, NULL);
@@ -878,6 +881,7 @@ static void regc_cb(struct pjsip_regc_cbparam *param)
if (param->expiration < 1) {
pjsip_regc_destroy(acc->regc);
acc->regc = NULL;
+ acc->contact.slen = 0;
/* Stop keep-alive timer if any. */
update_keep_alive(acc, PJ_FALSE, NULL);
@@ -946,6 +950,7 @@ static pj_status_t pjsua_regc_init(int acc_id)
if (acc->regc) {
pjsip_regc_destroy(acc->regc);
acc->regc = NULL;
+ acc->contact.slen = 0;
}
/* initialize SIP registration if registrar is configured */
@@ -992,6 +997,7 @@ static pj_status_t pjsua_regc_init(int acc_id)
pjsip_regc_destroy(acc->regc);
pj_pool_release(pool);
acc->regc = NULL;
+ acc->contact.slen = 0;
return status;
}