summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2008-12-16 15:44:28 +0000
committerJoshua Colp <jcolp@digium.com>2008-12-16 15:44:28 +0000
commitec6e4d2f60cde68bacb5edada6cb749275a73719 (patch)
tree2f8ed116f16277f2d79db370a09482f027e1b51b /channels
parenteb73f5673a575a29bca06f4453a075268328d14d (diff)
When using externhost make sure the port gets set to the bindaddr port if one was not specified in the externhost value itself.
(closes issue #13634) Reported by: performer git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@164659 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_sip.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 834472e7c..de7378fa0 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -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);