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.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_acc.c b/pjsip/src/pjsua-lib/pjsua_acc.c
index 9bd3020b..62c2451a 100644
--- a/pjsip/src/pjsua-lib/pjsua_acc.c
+++ b/pjsip/src/pjsua-lib/pjsua_acc.c
@@ -237,6 +237,22 @@ static pj_status_t initialize_acc(unsigned acc_id)
acc->cred[acc->cred_cnt++] = pjsua_var.ua_cfg.cred_info[i];
}
+ /* If ICE is enabled, add "+sip.ice" media feature tag in account's
+ * contact params.
+ */
+#if PJSUA_ADD_ICE_TAGS
+ if (pjsua_var.media_cfg.enable_ice) {
+ unsigned new_len;
+ pj_str_t new_prm;
+
+ new_len = acc_cfg->contact_params.slen + 10;
+ new_prm.ptr = (char*)pj_pool_alloc(acc->pool, new_len);
+ pj_strcpy(&new_prm, &acc_cfg->contact_params);
+ pj_strcat2(&new_prm, ";+sip.ice");
+ acc_cfg->contact_params = new_prm;
+ }
+#endif
+
status = pjsua_pres_init_acc(acc_id);
if (status != PJ_SUCCESS)
return status;