diff options
Diffstat (limited to 'pjsip/src/pjsua-lib')
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_acc.c | 16 | ||||
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_call.c | 2 |
2 files changed, 18 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; diff --git a/pjsip/src/pjsua-lib/pjsua_call.c b/pjsip/src/pjsua-lib/pjsua_call.c index 8cd8ce56..7fce1e44 100644 --- a/pjsip/src/pjsua-lib/pjsua_call.c +++ b/pjsip/src/pjsua-lib/pjsua_call.c @@ -840,6 +840,8 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata) options |= PJSIP_INV_REQUIRE_100REL; if (pjsua_var.acc[acc_id].cfg.require_timer) options |= PJSIP_INV_REQUIRE_TIMER; + if (pjsua_var.media_cfg.enable_ice) + options |= PJSIP_INV_SUPPORT_ICE; status = pjsip_inv_verify_request2(rdata, &options, offer, answer, NULL, pjsua_var.endpt, &response); |