aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--channels/chan_sip.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 66a5fdf3e..6b7622127 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -4158,8 +4158,10 @@ static int create_addr(struct sip_pvt *dialog, const char *opeer)
hostn = peername;
if (!dialog->socket.type)
dialog->socket.type = SIP_TRANSPORT_UDP;
+ if (!dialog->socket.port)
+ dialog->socket.port = bindaddr.sin_port;
if (ast_strlen_zero(port) || sscanf(port, "%u", &portno) != 1) {
- portno = dialog->socket.type & SIP_TRANSPORT_TLS ?
+ portno = (dialog->socket.type & SIP_TRANSPORT_TLS) ?
STANDARD_TLS_PORT : STANDARD_SIP_PORT;
}
if (global_srvlookup) {