--- ../asterisk-11.10.0/addons/chan_ooh323.c 2014-05-19 17:37:27.000000000 +0400 +++ addons/chan_ooh323.c 2014-06-10 12:22:33.000000000 +0400 @@ -747,10 +747,8 @@ 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); } @@ -3754,10 +3752,10 @@ .onMediaChanged = (cb_OnMediaChanged) setup_rtp_remote, }; if (!(gCap = ast_format_cap_alloc())) { - return 1; + return AST_MODULE_LOAD_FAILURE; } if (!(ooh323_tech.capabilities = ast_format_cap_alloc())) { - 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); @@ -3784,22 +3782,23 @@ 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_udptl_proto_register(&ooh323_udptl); 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(); @@ -3814,10 +3813,9 @@ } 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) { @@ -3831,8 +3829,8 @@ case T_H225AliasAddress_email_ID: ooH323EpAddAliasEmailID(pNewAlias->value); break; - default: - ; + default: + ; } } @@ -3899,6 +3897,9 @@ } /* 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;