]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
chan_ooh323: fix loading module failure if there no accessible h323_log or ooh323...
authorAlexandr Anikin <may@telecom-service.ru>
Tue, 10 Jun 2014 09:18:20 +0000 (09:18 +0000)
committerAlexandr Anikin <may@telecom-service.ru>
Tue, 10 Jun 2014 09:18:20 +0000 (09:18 +0000)
change return 1 to return AST_MODULE_LOAD_FAILURE on module load routine
few cosmetic changes

ASTERISK-23814 #close

(closes issue ASTERISK-23814)

Reported by: Igor Goncharovsky
Patches:
ASTERISK-23814-ast11.patch
........

Merged revisions 415599 from http://svn.asterisk.org/svn/asterisk/branches/11

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@415602 65c4cc65-6c06-0410-ace0-fbb531ad65f3

addons/chan_ooh323.c

index a7f38bdf40a1ae7cf8526d47321cf8c2657736b9..9f68cea06e9c07596f7f5456fac3532251e88fd4 100644 (file)
@@ -735,10 +735,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);
                }
@@ -3741,10 +3739,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);
@@ -3771,21 +3769,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();
 
@@ -3800,10 +3799,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) {
@@ -3817,8 +3815,8 @@ static int load_module(void)
                        case T_H225AliasAddress_email_ID:       
                                ooH323EpAddAliasEmailID(pNewAlias->value);
                                break;
-         default:
-            ;
+                       default:
+                               ;
                        }
                }
 
@@ -3885,6 +3883,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;