From: Daniel Tryba Date: Fri, 6 Oct 2017 10:14:40 +0000 (+0200) Subject: res_pjsip: Prevent "user=phone" being added multiple times to header X-Git-Tag: 13.18.0-rc1~5^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=af09996178629488898f5cdb9e57e1eca17031d8;p=thirdparty%2Fasterisk.git res_pjsip: Prevent "user=phone" being added multiple times to header ast_sip_add_usereqphone adds "user=phone" to the header every time is is called without checking whether the param already exists. Preventing this by searching to string representation of header for "user=phone". ASTERISK-26988 #close Change-Id: Ib84383b07254de357dc6a98d91fc1d2c2c3719e6 --- diff --git a/res/res_pjsip.c b/res/res_pjsip.c index 510b6b4fde..e215946a39 100644 --- a/res/res_pjsip.c +++ b/res/res_pjsip.c @@ -3073,6 +3073,11 @@ void ast_sip_add_usereqphone(const struct ast_sip_endpoint *endpoint, pj_pool_t return; } + if (pjsip_param_find(&sip_uri->other_param, &STR_USER)) { + /* Don't add it if it's already there */ + return; + } + param = PJ_POOL_ALLOC_T(pool, pjsip_param); param->name = STR_USER; param->value = STR_PHONE;