summaryrefslogtreecommitdiff
path: root/res/res_sip_caller_id.c
diff options
context:
space:
mode:
authorMark Michelson <mmichelson@digium.com>2013-07-08 13:57:28 +0000
committerMark Michelson <mmichelson@digium.com>2013-07-08 13:57:28 +0000
commit7fdeb52910cd267ea8837d1246712e1a06812337 (patch)
tree6d2fa22330a5ea4a0f0a715380849cb37a541c02 /res/res_sip_caller_id.c
parent70a46e2ee5dd5af7a36bad2223fd81acd6be8906 (diff)
Fix some broken logic in sending outbound caller ID.
* trust_id_outbound was required even when the caller ID was not marked private. This is against intentions and documentation. * We now check both name and number privacy instead of checking name privacy twice. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@393793 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'res/res_sip_caller_id.c')
-rw-r--r--res/res_sip_caller_id.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/res/res_sip_caller_id.c b/res/res_sip_caller_id.c
index 2f4047351..3a8c26771 100644
--- a/res/res_sip_caller_id.c
+++ b/res/res_sip_caller_id.c
@@ -646,9 +646,9 @@ static void caller_id_outgoing_request(struct ast_sip_session *session, pjsip_tx
connected_id = ast_channel_connected_effective_id(session->channel);
if (session->inv_session->state < PJSIP_INV_STATE_CONFIRMED &&
- session->endpoint->trust_id_outbound &&
- (connected_id.name.presentation & AST_PRES_RESTRICTION) == AST_PRES_ALLOWED &&
- (connected_id.name.presentation & AST_PRES_RESTRICTION) == AST_PRES_ALLOWED) {
+ (session->endpoint->trust_id_outbound ||
+ ((connected_id.name.presentation & AST_PRES_RESTRICTION) == AST_PRES_ALLOWED &&
+ (connected_id.number.presentation & AST_PRES_RESTRICTION) == AST_PRES_ALLOWED))) {
/* Only change the From header on the initial outbound INVITE. Switching it
* mid-call might confuse some UAs.
*/