From 0ab9d103f614c6339334c60bc032c1f8f941326c Mon Sep 17 00:00:00 2001 From: George Joseph Date: Fri, 30 Dec 2016 08:10:09 -0700 Subject: res_pjsip_refer: Handle compact Refer-To header. refer_incoming_refer_request needed to look for the "r" header as well as the "Refer-To" header. ASTERISK-26655 #close patches: refer_compact_fix.diff submitted by JoshE (license 6075) Change-Id: I610410a99b02427ea5db887aeb454d5f12c2259f --- res/res_pjsip_refer.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/res/res_pjsip_refer.c b/res/res_pjsip_refer.c index 99295d5f3..3101c361c 100644 --- a/res/res_pjsip_refer.c +++ b/res/res_pjsip_refer.c @@ -1006,6 +1006,7 @@ static int refer_incoming_refer_request(struct ast_sip_session *session, struct int response; static const pj_str_t str_refer_to = { "Refer-To", 8 }; + static const pj_str_t str_refer_to_s = { "r", 1 }; static const pj_str_t str_replaces = { "Replaces", 8 }; if (!session->channel) { @@ -1024,7 +1025,7 @@ static int refer_incoming_refer_request(struct ast_sip_session *session, struct } /* A Refer-To header is required */ - refer_to = pjsip_msg_find_hdr_by_name(rdata->msg_info.msg, &str_refer_to, NULL); + refer_to = pjsip_msg_find_hdr_by_names(rdata->msg_info.msg, &str_refer_to, &str_refer_to_s, NULL); if (!refer_to) { pjsip_dlg_respond(session->inv_session->dlg, rdata, 400, NULL, NULL, NULL); ast_debug(3, "Received a REFER without Refer-To on channel '%s' from endpoint '%s'\n", -- cgit v1.2.3