aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--channels/chan_iax2.c4
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));