diff options
-rw-r--r-- | channels/chan_iax2.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 45410f64f..dab0bd9d1 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -4638,7 +4638,9 @@ static int create_addr(const char *peername, struct ast_channel *c, struct socka return -1; } ast_sockaddr_to_sin(&sin_tmp, sin); - sin->sin_port = htons(IAX_DEFAULT_PORTNO); + if (sin->sin_port == 0) { + sin->sin_port = htons(IAX_DEFAULT_PORTNO); + } /* use global iax prefs for unknown peer/user */ /* But move the calling channel's native codec to the top of the preference list */ memcpy(&ourprefs, &prefs, sizeof(ourprefs)); |