diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 834472e7c5bbda00131c1965f667b9466393bb05..de7378fa014cc1a347f03d6a6cd6d5a0b05e6384 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);