summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pjsip/src/pjsua-lib/pjsua_core.c8
-rw-r--r--pjsip/src/pjsua-lib/pjsua_pres.c3
2 files changed, 11 insertions, 0 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_core.c b/pjsip/src/pjsua-lib/pjsua_core.c
index fe95348c..760f7505 100644
--- a/pjsip/src/pjsua-lib/pjsua_core.c
+++ b/pjsip/src/pjsua-lib/pjsua_core.c
@@ -1070,6 +1070,14 @@ PJ_DEF(pj_status_t) pjsua_destroy(void)
/* Terminate all calls. */
pjsua_call_hangup_all();
+ /* Set all accounts to offline */
+ for (i=0; i<(int)PJ_ARRAY_SIZE(pjsua_var.acc); ++i) {
+ if (!pjsua_var.acc[i].valid)
+ continue;
+ pjsua_var.acc[i].online_status = PJ_FALSE;
+ pj_bzero(&pjsua_var.acc[i].rpid, sizeof(pjrpid_element));
+ }
+
/* Terminate all presence subscriptions. */
pjsua_pres_shutdown();
diff --git a/pjsip/src/pjsua-lib/pjsua_pres.c b/pjsip/src/pjsua-lib/pjsua_pres.c
index 04632f41..e2c35c1e 100644
--- a/pjsip/src/pjsua-lib/pjsua_pres.c
+++ b/pjsip/src/pjsua-lib/pjsua_pres.c
@@ -878,6 +878,9 @@ PJ_DEF(pj_status_t) pjsua_pres_notify( pjsua_acc_id acc_id,
//Both pjsua_var.local_uri and pjsua_var.contact_uri are enclosed in "<" and ">"
//causing XML parsing to fail.
//pres_status.info[0].contact = pjsua_var.local_uri;
+ /* add RPID information */
+ pj_memcpy(&pres_status.info[0].rpid, &acc->rpid,
+ sizeof(pjrpid_element));
pjsip_pres_set_status(srv_pres->sub, &pres_status);