summaryrefslogtreecommitdiff
path: root/res/res_pjsip/pjsip_options.c
diff options
context:
space:
mode:
Diffstat (limited to 'res/res_pjsip/pjsip_options.c')
-rw-r--r--res/res_pjsip/pjsip_options.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/res/res_pjsip/pjsip_options.c b/res/res_pjsip/pjsip_options.c
index 8d46eb036..0409c1557 100644
--- a/res/res_pjsip/pjsip_options.c
+++ b/res/res_pjsip/pjsip_options.c
@@ -258,6 +258,15 @@ static int qualify_contact(struct ast_sip_contact *contact)
return -1;
}
+ /* If an outbound proxy is specified set it on this request */
+ if (!ast_strlen_zero(contact->outbound_proxy) &&
+ ast_sip_set_outbound_proxy(tdata, contact->outbound_proxy)) {
+ pjsip_tx_data_dec_ref(tdata);
+ ast_log(LOG_ERROR, "Unable to apply outbound proxy on request to qualify contact %s\n",
+ contact->uri);
+ return -1;
+ }
+
init_start_time(contact);
ao2_ref(contact, +1);
@@ -795,6 +804,7 @@ static int qualify_and_schedule_cb(void *obj, void *arg, int flags)
struct ast_sip_aor *aor = arg;
contact->qualify_frequency = aor->qualify_frequency;
+
qualify_and_schedule(contact);
return 0;