diff options
author | Paul Belanger <paul.belanger@polybeacon.com> | 2010-09-10 21:13:02 +0000 |
---|---|---|
committer | Paul Belanger <paul.belanger@polybeacon.com> | 2010-09-10 21:13:02 +0000 |
commit | b51f922a3461ab3b6d10fb8b8b923e064b1e68f8 (patch) | |
tree | 53945a8409e1a5a9639d6dd610c9fc5bb687ddac /channels | |
parent | 1efb27a04577f6952943b918d8880af40472cf1f (diff) |
Merged revisions 286120 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r286120 | pabelanger | 2010-09-10 17:11:08 -0400 (Fri, 10 Sep 2010) | 18 lines
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: https://origsvn.digium.com/svn/asterisk/trunk@286121 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r-- | channels/chan_iax2.c | 41 |
1 files changed, 22 insertions, 19 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 73c070d81..f28bb7fcc 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(®istrations); AST_LIST_TRAVERSE(®istrations, reg, entry) |