[asterisk-commits] trunk r16745 - in /trunk: ./ channels/chan_iax2.c

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Fri Mar 31 11:43:47 MST 2006


Author: russell
Date: Fri Mar 31 12:43:45 2006
New Revision: 16745

URL: http://svn.digium.com/view/asterisk?rev=16745&view=rev
Log:
Merged revisions 16744 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r16744 | russell | 2006-03-31 13:42:09 -0500 (Fri, 31 Mar 2006) | 2 lines

fix the situation where bindport is specified but bindaddr is not (issue #6616)

........

Modified:
    trunk/   (props changed)
    trunk/channels/chan_iax2.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.2-merged' - no diff available.

Modified: trunk/channels/chan_iax2.c
URL: http://svn.digium.com/view/asterisk/trunk/channels/chan_iax2.c?rev=16745&r1=16744&r2=16745&view=diff
==============================================================================
--- trunk/channels/chan_iax2.c (original)
+++ trunk/channels/chan_iax2.c Fri Mar 31 12:43:45 2006
@@ -9208,6 +9208,18 @@
 		/*	ast_log(LOG_WARNING, "Ignoring %s\n", v->name); */
 		v = v->next;
 	}
+	
+	if (defaultsockfd < 0) {
+		if (!(ns = ast_netsock_bind(netsock, io, "0.0.0.0", portno, tos, socket_read, NULL))) {
+			ast_log(LOG_ERROR, "Unable to create network socket: %s\n", strerror(errno));
+		} else {
+			if (option_verbose > 1)
+				ast_verbose(VERBOSE_PREFIX_2 "Binding IAX2 to default address 0.0.0.0:%d\n", portno);
+			defaultsockfd = ast_netsock_sockfd(ns);
+			ast_netsock_unref(ns);
+		}
+	}
+	
 	if (min_reg_expire > max_reg_expire) {
 		ast_log(LOG_WARNING, "Minimum registration interval of %d is more than maximum of %d, resetting minimum to %d\n",
 			min_reg_expire, max_reg_expire, max_reg_expire);
@@ -9988,9 +10000,6 @@
 	struct iax2_registry *reg;
 	struct iax2_peer *peer;
 	
-	struct ast_netsock *ns;
-	struct sockaddr_in sin;
-	
 	ast_custom_function_register(&iaxpeer_function);
 
 	iax_set_output(iax_debug_output);
@@ -9999,10 +10008,6 @@
 	jb_setoutput(jb_error_output, jb_warning_output, NULL);
 #endif
 	
-	sin.sin_family = AF_INET;
-	sin.sin_port = htons(IAX_DEFAULT_PORTNO);
-	sin.sin_addr.s_addr = INADDR_ANY;
-
 #ifdef IAX_TRUNKING
 #ifdef ZT_TIMERACK
 	timingfd = open("/dev/zap/timer", O_RDWR);
@@ -10055,19 +10060,7 @@
 
 	if (ast_register_switch(&iax2_switch)) 
 		ast_log(LOG_ERROR, "Unable to register IAX switch\n");
-	
-	if (defaultsockfd < 0) {
-		if (!(ns = ast_netsock_bindaddr(netsock, io, &sin, tos, socket_read, NULL))) {
-			ast_log(LOG_ERROR, "Unable to create network socket: %s\n", strerror(errno));
-			return -1;
-		} else {
-			if (option_verbose > 1)
-				ast_verbose(VERBOSE_PREFIX_2 "Binding IAX2 to default address 0.0.0.0:%d\n", IAX_DEFAULT_PORTNO);
-			defaultsockfd = ast_netsock_sockfd(ns);
-			ast_netsock_unref(ns);
-		}
-	}
-	
+
 	res = start_network_thread();
 	if (!res) {
 		if (option_verbose > 1) 



More information about the asterisk-commits mailing list