[Asterisk-cvs] asterisk/channels chan_sip.c,1.787,1.788

kpfleming at lists.digium.com kpfleming at lists.digium.com
Mon Jul 25 14:04:36 CDT 2005


Update of /usr/cvsroot/asterisk/channels
In directory mongoose.digium.com:/tmp/cvs-serv15489/channels

Modified Files:
	chan_sip.c 
Log Message:
ensure that port number in URI is presented when needed (bug #4784)


Index: chan_sip.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/chan_sip.c,v
retrieving revision 1.787
retrieving revision 1.788
diff -u -d -r1.787 -r1.788
--- chan_sip.c	25 Jul 2005 17:39:48 -0000	1.787
+++ chan_sip.c	25 Jul 2005 18:11:19 -0000	1.788
@@ -4249,7 +4249,7 @@
 	char iabuf[INET_ADDRSTRLEN];
 
 	/* Construct Contact: header */
-	if (ourport != DEFAULT_SIP_PORT)
+	if (ourport != 5060)	/* Needs to be 5060, according to the RFC */
 		snprintf(p->our_contact, sizeof(p->our_contact), "<sip:%s%s%s:%d>", p->exten, ast_strlen_zero(p->exten) ? "" : "@", ast_inet_ntoa(iabuf, sizeof(iabuf), p->ourip), ourport);
 	else
 		snprintf(p->our_contact, sizeof(p->our_contact), "<sip:%s%s%s>", p->exten, ast_strlen_zero(p->exten) ? "" : "@", ast_inet_ntoa(iabuf, sizeof(iabuf), p->ourip));
@@ -4319,7 +4319,7 @@
 	else /* Save for any further attempts */
 		ast_copy_string(p->fromname, n, sizeof(p->fromname));
 
-	if ((ourport != DEFAULT_SIP_PORT) && ast_strlen_zero(p->fromdomain))
+	if ((ourport != 5060) && ast_strlen_zero(p->fromdomain))	/* Needs to be 5060 */
 		snprintf(from, sizeof(from), "\"%s\" <sip:%s@%s:%d>;tag=as%08x", n, l, ast_strlen_zero(p->fromdomain) ? ast_inet_ntoa(iabuf, sizeof(iabuf), p->ourip) : p->fromdomain, ourport, p->tag);
 	else
 		snprintf(from, sizeof(from), "\"%s\" <sip:%s@%s>;tag=as%08x", n, l, ast_strlen_zero(p->fromdomain) ? ast_inet_ntoa(iabuf, sizeof(iabuf), p->ourip) : p->fromdomain, p->tag);
@@ -4330,12 +4330,12 @@
 		ast_copy_string(invite, p->fullcontact, sizeof(invite));
 	/* Otherwise, use the username while waiting for registration */
 	} else if (!ast_strlen_zero(p->username)) {
-		if (ntohs(p->sa.sin_port) != DEFAULT_SIP_PORT) {
+		if (ntohs(p->sa.sin_port) != 5060) {		/* Needs to be 5060 */
 			snprintf(invite, sizeof(invite), "sip:%s@%s:%d%s",p->username, p->tohost, ntohs(p->sa.sin_port), urioptions);
 		} else {
 			snprintf(invite, sizeof(invite), "sip:%s@%s%s",p->username, p->tohost, urioptions);
 		}
-	} else if (ntohs(p->sa.sin_port) != DEFAULT_SIP_PORT) {
+	} else if (ntohs(p->sa.sin_port) != 5060) {		/* Needs to be 5060 */
 		snprintf(invite, sizeof(invite), "sip:%s:%d%s", p->tohost, ntohs(p->sa.sin_port), urioptions);
 	} else {
 		snprintf(invite, sizeof(invite), "sip:%s%s", p->tohost, urioptions);




More information about the svn-commits mailing list