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.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_acc.c b/pjsip/src/pjsua-lib/pjsua_acc.c
index f157da0d..438b63f0 100644
--- a/pjsip/src/pjsua-lib/pjsua_acc.c
+++ b/pjsip/src/pjsua-lib/pjsua_acc.c
@@ -256,7 +256,7 @@ PJ_DEF(pj_status_t) pjsua_acc_add( const pjsua_acc_config *cfg,
pjsua_acc_id *p_acc_id)
{
pjsua_acc *acc;
- unsigned id;
+ unsigned i, id;
pj_status_t status;
PJ_ASSERT_RETURN(pjsua_var.acc_cnt < PJ_ARRAY_SIZE(pjsua_var.acc),
@@ -295,6 +295,13 @@ PJ_DEF(pj_status_t) pjsua_acc_add( const pjsua_acc_config *cfg,
pjsua_var.acc[id].cfg.reg_timeout = PJSUA_REG_INTERVAL;
}
+ /* Check the route URI's and force loose route if required */
+ for (i=0; i<acc->cfg.proxy_cnt; ++i) {
+ status = normalize_route_uri(acc->pool, &acc->cfg.proxy[i]);
+ if (status != PJ_SUCCESS)
+ return status;
+ }
+
status = initialize_acc(id);
if (status != PJ_SUCCESS) {
pjsua_perror(THIS_FILE, "Error adding account", status);