diff options
author | Mark Michelson <mmichelson@digium.com> | 2013-07-08 13:57:28 +0000 |
---|---|---|
committer | Mark Michelson <mmichelson@digium.com> | 2013-07-08 13:57:28 +0000 |
commit | 7fdeb52910cd267ea8837d1246712e1a06812337 (patch) | |
tree | 6d2fa22330a5ea4a0f0a715380849cb37a541c02 /res/res_sip_caller_id.c | |
parent | 70a46e2ee5dd5af7a36bad2223fd81acd6be8906 (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.c | 6 |
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. */ |