summaryrefslogtreecommitdiff
path: root/res/res_pjsip.c
diff options
context:
space:
mode:
authorDaniel Tryba <daniel@tryba.nl>2017-10-06 12:14:40 +0200
committerSean Bright <sean.bright@gmail.com>2017-10-11 15:36:28 -0500
commita56316423f113423a1fe070d2749932fbdfccb9a (patch)
tree8c42cf045bc4ff0bd213dbcd4d6659ff4bf92504 /res/res_pjsip.c
parent45756b490e933ba1ca06835c1652739d49da88d5 (diff)
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
Diffstat (limited to 'res/res_pjsip.c')
-rw-r--r--res/res_pjsip.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/res/res_pjsip.c b/res/res_pjsip.c
index a784e1262..f81d34ca4 100644
--- a/res/res_pjsip.c
+++ b/res/res_pjsip.c
@@ -3095,6 +3095,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;