diff options
-rw-r--r-- | channels/chan_sip.c | 4 |
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) { |