mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-05 12:16:00 +00:00
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
This commit is contained in:
@@ -1006,6 +1006,7 @@ static int refer_incoming_refer_request(struct ast_sip_session *session, struct
|
|||||||
int response;
|
int response;
|
||||||
|
|
||||||
static const pj_str_t str_refer_to = { "Refer-To", 8 };
|
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 };
|
static const pj_str_t str_replaces = { "Replaces", 8 };
|
||||||
|
|
||||||
if (!session->channel) {
|
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 */
|
/* 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) {
|
if (!refer_to) {
|
||||||
pjsip_dlg_respond(session->inv_session->dlg, rdata, 400, NULL, NULL, NULL);
|
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",
|
ast_debug(3, "Received a REFER without Refer-To on channel '%s' from endpoint '%s'\n",
|
||||||
|
Reference in New Issue
Block a user