]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 58848 via svnmerge from
authorOlle Johansson <oej@edvina.net>
Wed, 14 Mar 2007 16:59:35 +0000 (16:59 +0000)
committerOlle Johansson <oej@edvina.net>
Wed, 14 Mar 2007 16:59:35 +0000 (16:59 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r58848 | oej | 2007-03-13 12:49:35 +0100 (Tue, 13 Mar 2007) | 10 lines

Merged revisions 58847 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r58847 | oej | 2007-03-13 12:45:52 +0100 (Tue, 13 Mar 2007) | 2 lines

Issue #9229 - No port in request URI on register to non default SIP ports (neelakantan)

........

................

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@58900 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index acbcfbbc01671ece81e1bbd50b9b6cc80bebcd0b..6a2d449e8010292a86bc227da80d52f8f94558cc 100644 (file)
@@ -7838,7 +7838,17 @@ static int transmit_register(struct sip_registry *r, int sipmethod, const char *
        
        /* Fromdomain is what we are registering to, regardless of actual
           host name from SRV */
-       snprintf(addr, sizeof(addr), "sip:%s", S_OR(p->fromdomain, r->hostname));
+       if (!ast_strlen_zero(p->fromdomain)) {
+               if (r->portno && r->portno != STANDARD_SIP_PORT)
+                       snprintf(addr, sizeof(addr), "sip:%s:%d", p->fromdomain, r->portno);
+               else
+                       snprintf(addr, sizeof(addr), "sip:%s", p->fromdomain);
+       } else {
+               if (r->portno && r->portno != STANDARD_SIP_PORT)
+                       snprintf(addr, sizeof(addr), "sip:%s:%d", r->hostname, r->portno);
+               else
+                       snprintf(addr, sizeof(addr), "sip:%s", r->hostname);
+       }
        ast_string_field_set(p, uri, addr);
 
        p->branch ^= ast_random();