When using externhost make sure the port gets set to the bindaddr port if one was...
authorJoshua Colp <jcolp@digium.com>
Tue, 16 Dec 2008 15:44:28 +0000 (15:44 +0000)
committerJoshua Colp <jcolp@digium.com>
Tue, 16 Dec 2008 15:44:28 +0000 (15:44 +0000)
(closes issue #13634)
Reported by: performer

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

channels/chan_sip.c

index 834472e..de7378f 100644 (file)
@@ -22849,6 +22849,9 @@ static int reload_config(enum channelreloadreason reason)
                        if (ast_parse_arg(externhost, PARSE_INADDR, &externip))
                                ast_log(LOG_WARNING, "Invalid address for externhost keyword: %s\n", externhost);
                        externexpire = time(NULL);
+                       /* If no port was specified use the value of bindport */
+                       if (!externip.sin_port)
+                               externip.sin_port = bindaddr.sin_port;
                } else if (!strcasecmp(v->name, "externrefresh")) {
                        if (sscanf(v->value, "%d", &externrefresh) != 1) {
                                ast_log(LOG_WARNING, "Invalid externrefresh value '%s', must be an integer >0 at line %d\n", v->value, v->lineno);