diff options
Diffstat (limited to 'pjsip/src/pjsua-lib')
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_acc.c | 7 | ||||
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_call.c | 6 | ||||
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_im.c | 6 | ||||
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_pres.c | 6 |
4 files changed, 20 insertions, 5 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_acc.c b/pjsip/src/pjsua-lib/pjsua_acc.c index 4262d410..6e988f09 100644 --- a/pjsip/src/pjsua-lib/pjsua_acc.c +++ b/pjsip/src/pjsua-lib/pjsua_acc.c @@ -544,10 +544,6 @@ void update_service_route(pjsua_acc *acc, pjsip_rx_data *rdata) pjsip_uri *uri[PJSUA_ACC_MAX_PROXIES]; unsigned i, uri_cnt = 0, rcnt; - /* Skip processing is enable_service_route is not set */ - if (!acc->cfg.enable_service_route) - return; - /* Find and parse Service-Route headers */ for (;;) { char saved; @@ -916,6 +912,9 @@ static pj_status_t pjsua_regc_init(int acc_id) pjsip_regc_set_credentials( acc->regc, acc->cred_cnt, acc->cred); } + /* Set authentication preference */ + pjsip_regc_set_prefs(acc->regc, &acc->cfg.auth_pref); + /* Set route-set */ if (!pj_list_empty(&acc->route_set)) { diff --git a/pjsip/src/pjsua-lib/pjsua_call.c b/pjsip/src/pjsua-lib/pjsua_call.c index f0f5a611..a7882b0c 100644 --- a/pjsip/src/pjsua-lib/pjsua_call.c +++ b/pjsip/src/pjsua-lib/pjsua_call.c @@ -383,6 +383,8 @@ PJ_DEF(pj_status_t) pjsua_call_make_call( pjsua_acc_id acc_id, acc->cred_cnt, acc->cred); } + /* Set authentication preference */ + pjsip_auth_clt_set_prefs(&dlg->auth_sess, &acc->cfg.auth_pref); /* Create initial INVITE: */ @@ -666,6 +668,10 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata) pjsua_var.acc[acc_id].cred); } + /* Set preference */ + pjsip_auth_clt_set_prefs(&dlg->auth_sess, + &pjsua_var.acc[acc_id].cfg.auth_pref); + /* Create invite session: */ status = pjsip_inv_create_uas( dlg, rdata, answer, options, &inv); if (status != PJ_SUCCESS) { diff --git a/pjsip/src/pjsua-lib/pjsua_im.c b/pjsip/src/pjsua-lib/pjsua_im.c index 48cb802a..6eaf2b4c 100644 --- a/pjsip/src/pjsua-lib/pjsua_im.c +++ b/pjsip/src/pjsua-lib/pjsua_im.c @@ -321,6 +321,9 @@ static void im_callback(void *token, pjsip_event *e) pjsua_var.acc[im_data->acc_id].cred_cnt, pjsua_var.acc[im_data->acc_id].cred); + pjsip_auth_clt_set_prefs(&auth, + &pjsua_var.acc[im_data->acc_id].cfg.auth_pref); + status = pjsip_auth_clt_reinit_req(&auth, rdata, tsx->last_tx, &tdata); if (status == PJ_SUCCESS) { @@ -417,6 +420,9 @@ static void typing_callback(void *token, pjsip_event *e) pjsua_var.acc[im_data->acc_id].cred_cnt, pjsua_var.acc[im_data->acc_id].cred); + pjsip_auth_clt_set_prefs(&auth, + &pjsua_var.acc[im_data->acc_id].cfg.auth_pref); + status = pjsip_auth_clt_reinit_req(&auth, rdata, tsx->last_tx, &tdata); if (status == PJ_SUCCESS) { diff --git a/pjsip/src/pjsua-lib/pjsua_pres.c b/pjsip/src/pjsua-lib/pjsua_pres.c index 1df81eab..d73a00d6 100644 --- a/pjsip/src/pjsua-lib/pjsua_pres.c +++ b/pjsip/src/pjsua-lib/pjsua_pres.c @@ -571,8 +571,9 @@ static pj_bool_t pres_on_rx_request(pjsip_rx_data *rdata) return PJ_TRUE; } - /* Set credentials. */ + /* Set credentials and preference. */ pjsip_auth_clt_set_credentials(&dlg->auth_sess, acc->cred_cnt, acc->cred); + pjsip_auth_clt_set_prefs(&dlg->auth_sess, &acc->cfg.auth_pref); /* Init callback: */ pj_bzero(&pres_cb, sizeof(pres_cb)); @@ -1173,6 +1174,9 @@ static void subscribe_buddy_presence(unsigned index) acc->cred_cnt, acc->cred); } + /* Set authentication preference */ + pjsip_auth_clt_set_prefs(&buddy->dlg->auth_sess, &acc->cfg.auth_pref); + pjsip_evsub_set_mod_data(buddy->sub, pjsua_var.mod.id, buddy); status = pjsip_pres_initiate(buddy->sub, -1, &tdata); |