From b14ea2f1cf043f3a82054f72de1859c65538fec6 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Thu, 29 Nov 2012 22:28:06 +0000 Subject: [PATCH] Merged revisions 376835 via svnmerge from file:///srv/subversion/repos/asterisk/branches/10 ................ r376835 | elguero | 2012-11-29 15:51:50 -0600 (Thu, 29 Nov 2012) | 19 lines Improve Code Readability And Fix Setting natdetected Flag For 1.8, 10, 11 and trunk we are are improving the code readability. For 11 and trunk, auto nat detection was added. The natdetected flag was being set to 1 when the host address in the VIA header did not specifiy a port. This patch fixes this by setting the port on the temporary sock address used to SIP_STANDARD_PORT in order for the sock address comparison to work properly. (closes issue ASTERISK-20724) Reported by: Michael L. Young Patches: asterisk-20724-set-port-v2.diff uploaded by Michael L. Young (license 5026) Review: https://reviewboard.asterisk.org/r/2206/ ........ Merged revisions 376834 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10-digiumphones@376863 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 335d63bb2e..6a726a9c60 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -16929,10 +16929,12 @@ static void check_via(struct sip_pvt *p, struct sip_request *req) if (ast_sockaddr_resolve_first(&tmp, c, 0)) { ast_log(LOG_WARNING, "Could not resolve socket address for '%s'\n", c); + port = STANDARD_SIP_PORT; + } else if (!(port = ast_sockaddr_port(&tmp)) { + port = STANDARD_SIP_PORT; } - port = ast_sockaddr_port(&tmp); - ast_sockaddr_set_port(&p->sa, - port != 0 ? port : STANDARD_SIP_PORT); + + ast_sockaddr_set_port(&p->sa, port); if (sip_debug_test_pvt(p)) { ast_verbose("Sending to %s (%s)\n", -- 2.47.2