aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authorpabelanger <pabelanger@f38db490-d61c-443f-a65b-d21fe96a405b>2010-09-10 21:11:08 +0000
committerpabelanger <pabelanger@f38db490-d61c-443f-a65b-d21fe96a405b>2010-09-10 21:11:08 +0000
commitbb98d744a60c9045031aaefd7529d0578bdc82ca (patch)
tree3938c57c8aae9688c12a659bfda41b347fa1a254 /channels
parent01d2fb2249981be30055a036af11bbff2bc828dc (diff)
Merged revisions 286117 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r286117 | pabelanger | 2010-09-10 16:55:06 -0400 (Fri, 10 Sep 2010) | 11 lines Merged revisions 286114 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r286114 | pabelanger | 2010-09-10 16:35:08 -0400 (Fri, 10 Sep 2010) | 4 lines Load iax.conf before registering any functions/applications/actions. Review: https://reviewboard.asterisk.org/r/914/ ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@286120 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_iax2.c41
1 files changed, 22 insertions, 19 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index b05adaa1a..e4ff58773 100644
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -14512,14 +14512,6 @@ static int load_module(void)
return AST_MODULE_LOAD_FAILURE;
}
- randomcalltokendata = ast_random();
- ast_custom_function_register(&iaxpeer_function);
- ast_custom_function_register(&iaxvar_function);
-
- iax_set_output(iax_debug_output);
- iax_set_error(iax_error_output);
- jb_setoutput(jb_error_output, jb_warning_output, NULL);
-
memset(iaxs, 0, sizeof(iaxs));
for (x = 0; x < ARRAY_LEN(iaxsl); x++) {
@@ -14554,17 +14546,33 @@ static int load_module(void)
}
ast_netsock_init(outsock);
+ randomcalltokendata = ast_random();
+
+ iax_set_output(iax_debug_output);
+ iax_set_error(iax_error_output);
+ jb_setoutput(jb_error_output, jb_warning_output, NULL);
+
+ if (set_config(config, 0) == -1) {
+ if (timer) {
+ ast_timer_close(timer);
+ }
+ return AST_MODULE_LOAD_DECLINE;
+ }
+
#ifdef TEST_FRAMEWORK
AST_TEST_REGISTER(test_iax2_peers_get);
AST_TEST_REGISTER(test_iax2_users_get);
#endif
+
/* Register AstData providers */
ast_data_register_multiple(iax2_data_providers, ARRAY_LEN(iax2_data_providers));
-
ast_cli_register_multiple(cli_iax2, ARRAY_LEN(cli_iax2));
ast_register_application_xml(papp, iax2_prov_app);
-
+
+ ast_custom_function_register(&iaxpeer_function);
+ ast_custom_function_register(&iaxvar_function);
+
ast_manager_register_xml("IAXpeers", EVENT_FLAG_SYSTEM | EVENT_FLAG_REPORTING, manager_iax2_show_peers);
ast_manager_register_xml("IAXpeerlist", EVENT_FLAG_SYSTEM | EVENT_FLAG_REPORTING, manager_iax2_show_peer_list);
ast_manager_register_xml("IAXnetstats", EVENT_FLAG_SYSTEM | EVENT_FLAG_REPORTING, manager_iax2_show_netstats);
@@ -14574,28 +14582,23 @@ static int load_module(void)
ast_timer_set_rate(timer, trunkfreq);
}
- if (set_config(config, 0) == -1) {
- if (timer) {
- ast_timer_close(timer);
- }
- return AST_MODULE_LOAD_DECLINE;
- }
-
if (ast_channel_register(&iax2_tech)) {
ast_log(LOG_ERROR, "Unable to register channel class %s\n", "IAX2");
__unload_module();
return AST_MODULE_LOAD_FAILURE;
}
- if (ast_register_switch(&iax2_switch))
+ if (ast_register_switch(&iax2_switch)) {
ast_log(LOG_ERROR, "Unable to register IAX switch\n");
+ }
if (start_network_thread()) {
ast_log(LOG_ERROR, "Unable to start network thread\n");
__unload_module();
return AST_MODULE_LOAD_FAILURE;
- } else
+ } else {
ast_verb(2, "IAX Ready and Listening\n");
+ }
AST_LIST_LOCK(&registrations);
AST_LIST_TRAVERSE(&registrations, reg, entry)