From 0b39c351617f5c00dee87a6b21325aa0578b594c Mon Sep 17 00:00:00 2001
From: Olle Johansson <oej@edvina.net>
Date: Mon, 27 Mar 2006 23:32:34 +0000
Subject: [PATCH] Issue #6597 - Show correct port in "sip show registry" -
 import from 1.2 branch

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

diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index bf236f853b..5ad3affedf 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -5582,7 +5582,9 @@ static int transmit_register(struct sip_registry *r, int sipmethod, char *auth,
 		ast_string_field_set(r, callid, p->callid);
 		if (r->portno)
 			p->sa.sin_port = htons(r->portno);
-		ast_set_flag(&p->flags[0], SIP_OUTGOING);	/* Registration is outgoing call */
+		else 	/* Set registry port to the port set from the peer definition/srv or default */
+			r->portno = p->sa.sin_port;
+		ast_set_flag(p, SIP_OUTGOING);	/* Registration is outgoing call */
 		r->call=p;			/* Save pointer to SIP packet */
 		p->registry = ASTOBJ_REF(r);	/* Add pointer to registry in packet */
 		if (!ast_strlen_zero(r->secret))	/* Secret (password) */
-- 
GitLab