From 7e6f9b4e2db74a69ca5c1f8a934d8484913a82a5 Mon Sep 17 00:00:00 2001
From: Mark Michelson <mmichelson@digium.com>
Date: Fri, 9 Jul 2010 19:29:30 +0000
Subject: [PATCH] Fix an issue where the port for p->ourip was being set to 0.

This should fix all the CDR tests that were not passing. When they would
originate a call, all fields in the INVITE that contained the source port would
have the port set to 0. Most troubling of these was the Contact header. Tests
are passing locally now and should also pass on the bamboo build agents.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@275294 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 channels/chan_sip.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 2abec0b2bb..435c8520c8 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -3164,6 +3164,9 @@ static void ast_sip_ouraddrfor(const struct ast_sockaddr *them, struct ast_socka
 			if (!ast_sockaddr_is_any(&bindaddr)) {
 				ast_sockaddr_copy(us, &bindaddr);
 			}
+			if (!ast_sockaddr_port(us)) {
+				ast_sockaddr_set_port(us, ast_sockaddr_port(&bindaddr));
+			}
 		}
 	} else if (!ast_sockaddr_is_any(&bindaddr)) {
 		ast_sockaddr_copy(us, &bindaddr);
-- 
GitLab