From b806440959d7a1d3da8218f532835e329df3bdc9 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Thu, 21 Aug 2014 21:18:21 +0000 Subject: [PATCH] Improve consistency of party ID privacy usage. Prior to this change, the Remote-Party-ID header took the position of "If caller name and number are not explicitly allowed, then they are private" and P-Asserted-Identity took the position of "Caller name and number are only private if marked explicitly so" Now both mechanisms of conveying party identification use the former approach. ........ Merged revisions 421778 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@421783 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- res/res_pjsip_caller_id.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/res/res_pjsip_caller_id.c b/res/res_pjsip_caller_id.c index cffb45342a..5e2f762b30 100644 --- a/res/res_pjsip_caller_id.c +++ b/res/res_pjsip_caller_id.c @@ -467,17 +467,15 @@ static void add_privacy_header(pjsip_tx_data *tdata, const struct ast_party_id * old_privacy = pjsip_msg_find_hdr_by_name(tdata->msg, &pj_privacy_name, NULL); - if ((id->name.presentation & AST_PRES_RESTRICTION) == AST_PRES_RESTRICTED || - (id->name.presentation & AST_PRES_RESTRICTION) == AST_PRES_RESTRICTED) { - if (!old_privacy) { - pjsip_generic_string_hdr *privacy_hdr = pjsip_generic_string_hdr_create( - tdata->pool, &pj_privacy_name, &pj_privacy_value); - pjsip_msg_add_hdr(tdata->msg, (pjsip_hdr *)privacy_hdr); - } - } else { + if ((id->name.presentation & AST_PRES_RESTRICTION) == AST_PRES_ALLOWED && + (id->name.presentation & AST_PRES_RESTRICTION) == AST_PRES_ALLOWED) { if (old_privacy) { pj_list_erase(old_privacy); } + } else if (!old_privacy) { + pjsip_generic_string_hdr *privacy_hdr = pjsip_generic_string_hdr_create( + tdata->pool, &pj_privacy_name, &pj_privacy_value); + pjsip_msg_add_hdr(tdata->msg, (pjsip_hdr *)privacy_hdr); } } -- 2.47.2