From 5f19657710aa82c76f48a1a4f49cd92e6cd8e1f6 Mon Sep 17 00:00:00 2001 From: Joshua Colp Date: Wed, 7 Sep 2016 21:00:16 +0000 Subject: [PATCH] res_pjsip: Allow global headers to be overridden. Currently when you add global headers from the dialplan both the header in the dialplan and the globally configured header are added to the resulting SIP INVITE. This change makes it so the headers in the dialplan take precedence and are the only ones added. Change-Id: I36f864298f38db3632ad503edc11267cb8ffb3ad --- res/res_pjsip/pjsip_global_headers.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/res/res_pjsip/pjsip_global_headers.c b/res/res_pjsip/pjsip_global_headers.c index 735008dcc8..501f5f5237 100644 --- a/res/res_pjsip/pjsip_global_headers.c +++ b/res/res_pjsip/pjsip_global_headers.c @@ -87,6 +87,14 @@ static void add_headers_to_message(struct header_list *headers, pjsip_tx_data *t return; } AST_LIST_TRAVERSE(headers, iter, next) { + pj_str_t name; + pjsip_generic_string_hdr *hdr; + + hdr = pjsip_msg_find_hdr_by_name(tdata->msg, pj_cstr(&name, iter->name), NULL); + if (hdr) { + continue; + } + ast_sip_add_header(tdata, iter->name, iter->value); }; tdata->mod_data[global_header_mod.id] = &handled_id; -- 2.47.2