aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authorroot <root@f38db490-d61c-443f-a65b-d21fe96a405b>2006-03-31 19:04:28 +0000
committerroot <root@f38db490-d61c-443f-a65b-d21fe96a405b>2006-03-31 19:04:28 +0000
commit2f64cbbdcd552881537897ca80ec255f1a7ad5b2 (patch)
treefdcff4a039f20eb3dcea588ed8ac46426272e1bc /channels
parente40118fd759cc84814a8df3784856ac9761afa44 (diff)
automerge commit
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2-netsec@16770 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_iax2.c33
1 files changed, 13 insertions, 20 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index 2412ca9a1..c497f30d6 100644
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -8781,6 +8781,18 @@ static int set_config(char *config_file, int reload)
/* 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);
@@ -9542,9 +9554,6 @@ int load_module(void)
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);
@@ -9553,10 +9562,6 @@ int load_module(void)
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);
@@ -9609,19 +9614,7 @@ int load_module(void)
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)