summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2014-03-24 21:39:46 +0000
committerJoshua Colp <jcolp@digium.com>2014-03-24 21:39:46 +0000
commit6d81951f0d32385842704b258b0bab500ce6f7be (patch)
treecd0cf99c82e0268368afafe416b027da83f5d0d5
parent236d17362d3f82504773fc73592a1b7b9544267e (diff)
chan_sip: Always use fromdomain if set for domain, even if callerid is set to restricted.
(closes issue ASTERISK-20841) Reported by: Kelly Goedert ........ Merged revisions 411021 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 411022 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 411023 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@411024 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rw-r--r--channels/chan_sip.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 2198ee625..23c502c82 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -13957,7 +13957,9 @@ static void initreqprep(struct sip_request *req, struct sip_pvt *p, int sipmetho
snprintf(p->lastmsg, sizeof(p->lastmsg), "Init: %s", sip_methods[sipmethod].text);
- d = S_OR(p->fromdomain, ast_sockaddr_stringify_host_remote(&p->ourip));
+ if (ast_strlen_zero(p->fromdomain)) {
+ d = ast_sockaddr_stringify_host_remote(&p->ourip);
+ }
if (p->owner) {
connected_id = ast_channel_connected_effective_id(p->owner);
@@ -14008,6 +14010,12 @@ static void initreqprep(struct sip_request *req, struct sip_pvt *p, int sipmetho
else /* Save for any further attempts */
ast_string_field_set(p, fromname, n);
+ /* Allow domain to be overridden */
+ if (!ast_strlen_zero(p->fromdomain))
+ d = p->fromdomain;
+ else /* Save for any further attempts */
+ ast_string_field_set(p, fromdomain, d);
+
ast_copy_string(tmp_l, l, sizeof(tmp_l));
if (sip_cfg.pedanticsipchecking) {
ast_escape_quoted(n, tmp_n, sizeof(tmp_n));