diff --git a/addons/chan_ooh323.c b/addons/chan_ooh323.c index fd22cd49717a225b22b29783858f9baaec066cb9..8f1ae76bcdd0378a180979a5f00e410d513d6c6f 100644 --- a/addons/chan_ooh323.c +++ b/addons/chan_ooh323.c @@ -739,10 +739,8 @@ static struct ast_channel *ooh323_request(const char *type, struct ast_format_ca return NULL; } - ast_mutex_unlock(&p->lock); ast_cond_init(&p->rtpcond, NULL); ooMakeCall(data, p->callToken, AST_MAX_EXTENSION, NULL); - ast_mutex_lock(&p->lock); if (!p->rtp) { ast_cond_wait(&p->rtpcond, &p->lock); } @@ -3756,10 +3754,10 @@ static int load_module(void) .onMediaChanged = (cb_OnMediaChanged) setup_rtp_remote, }; if (!(gCap = ast_format_cap_alloc(0))) { - return 1; + return AST_MODULE_LOAD_FAILURE; } if (!(ooh323_tech.capabilities = ast_format_cap_alloc(0))) { - return 1; + return AST_MODULE_LOAD_FAILURE; } ast_format_cap_add(gCap, ast_format_set(&tmpfmt, AST_FORMAT_ULAW, 0)); ast_format_cap_add_all(ooh323_tech.capabilities); @@ -3786,21 +3784,22 @@ static int load_module(void) if (!reload_config(0)) { + + /* fire up the H.323 Endpoint */ + if (OO_OK != ooH323EpInitialize(OO_CALLMODE_AUDIOCALL, gLogFile)) { + ast_log(LOG_ERROR, "Failed to initialize OOH323 endpoint-" + "OOH323 Disabled\n"); + return AST_MODULE_LOAD_FAILURE; + } + /* Make sure we can register our OOH323 channel type */ if (ast_channel_register(&ooh323_tech)) { ast_log(LOG_ERROR, "Unable to register channel class %s\n", type); - return 0; + return AST_MODULE_LOAD_FAILURE; } ast_rtp_glue_register(&ooh323_rtp); ast_cli_register_multiple(cli_ooh323, sizeof(cli_ooh323) / sizeof(struct ast_cli_entry)); - /* fire up the H.323 Endpoint */ - if (OO_OK != ooH323EpInitialize(OO_CALLMODE_AUDIOCALL, gLogFile)) { - ast_log(LOG_ERROR, "Failed to initialize OOH323 endpoint-" - "OOH323 Disabled\n"); - return 1; - } - if (gIsGateway) ooH323EpSetAsGateway(); @@ -3815,10 +3814,9 @@ static int load_module(void) } ooH323EpSetCallerID(gCallerID); - if(ooH323EpSetTCPPortRange(ooconfig.mTCPPortStart, - ooconfig.mTCPPortEnd) == OO_FAILED) { - ast_log(LOG_ERROR, "h225portrange: Failed to set range\n"); - } + if(ooH323EpSetTCPPortRange(ooconfig.mTCPPortStart, ooconfig.mTCPPortEnd) == OO_FAILED) { + ast_log(LOG_ERROR, "h225portrange: Failed to set range\n"); + } /* Set aliases if any */ for (pNewAlias = gAliasList; pNewAlias; pNewAlias = pNewAlias->next) { @@ -3832,8 +3830,8 @@ static int load_module(void) case T_H225AliasAddress_email_ID: ooH323EpAddAliasEmailID(pNewAlias->value); break; - default: - ; + default: + ; } } @@ -3900,6 +3898,9 @@ static int load_module(void) } /* And start the monitor for the first time */ restart_monitor(); + } else { + ast_log(LOG_ERROR, "Can't load ooh323 config file, OOH323 Disabled\n"); + return AST_MODULE_LOAD_FAILURE; } return 0;