@ -48,7 +48,6 @@
/*** MODULEINFO
/*** MODULEINFO
< defaultenabled > yes < / defaultenabled >
< defaultenabled > yes < / defaultenabled >
< conflict > res_mwi_external < / conflict >
< use type = " module " > res_adsi < / use >
< use type = " module " > res_adsi < / use >
< use type = " module " > res_smdi < / use >
< use type = " module " > res_smdi < / use >
< support_level > core < / support_level >
< support_level > core < / support_level >
@ -14702,10 +14701,14 @@ static int unload_module(void)
*
*
* Module loading including tests for configuration or dependencies .
* Module loading including tests for configuration or dependencies .
* This function can return AST_MODULE_LOAD_FAILURE , AST_MODULE_LOAD_DECLINE ,
* This function can return AST_MODULE_LOAD_FAILURE , AST_MODULE_LOAD_DECLINE ,
* or AST_MODULE_LOAD_SUCCESS . If a dependency or environment variable fails
* or AST_MODULE_LOAD_SUCCESS .
* tests return AST_MODULE_LOAD_FAILURE . If the module can not load the
*
* configuration file or other non - critical problem return
* If a dependency , allocation or environment variable fails tests , return AST_MODULE_LOAD_FAILURE .
* AST_MODULE_LOAD_DECLINE . On success return AST_MODULE_LOAD_SUCCESS .
*
* If the module can ' t load the configuration file , can ' t register as a provider or
* has another issue not fatal to Asterisk itself , return AST_MODULE_LOAD_DECLINE .
*
* On success return AST_MODULE_LOAD_SUCCESS .
*/
*/
static int load_module ( void )
static int load_module ( void )
{
{
@ -14714,7 +14717,7 @@ static int load_module(void)
umask ( my_umask ) ;
umask ( my_umask ) ;
if ( ! ( inprocess_container = ao2_container_alloc ( 573 , inprocess_hash_fn , inprocess_cmp_fn ) ) ) {
if ( ! ( inprocess_container = ao2_container_alloc ( 573 , inprocess_hash_fn , inprocess_cmp_fn ) ) ) {
return AST_MODULE_LOAD_ DECLIN E;
return AST_MODULE_LOAD_ FAILUR E;
}
}
/* compute the location of the voicemail spool directory */
/* compute the location of the voicemail spool directory */
@ -14724,8 +14727,10 @@ static int load_module(void)
ast_log ( AST_LOG_WARNING , " failed to reference mwi subscription taskprocessor. MWI will not work \n " ) ;
ast_log ( AST_LOG_WARNING , " failed to reference mwi subscription taskprocessor. MWI will not work \n " ) ;
}
}
if ( ( res = load_config ( 0 ) ) )
if ( ( res = load_config ( 0 ) ) ) {
return res ;
unload_module ( ) ;
return AST_MODULE_LOAD_DECLINE ;
}
res = ast_register_application_xml ( app , vm_exec ) ;
res = ast_register_application_xml ( app , vm_exec ) ;
res | = ast_register_application_xml ( app2 , vm_execmain ) ;
res | = ast_register_application_xml ( app2 , vm_execmain ) ;
@ -14746,10 +14751,26 @@ static int load_module(void)
res | = AST_TEST_REGISTER ( test_voicemail_vm_info ) ;
res | = AST_TEST_REGISTER ( test_voicemail_vm_info ) ;
# endif
# endif
res | = ast_vm_register ( & vm_table ) ;
res | = ast_vm_greeter_register ( & vm_greeter_table ) ;
if ( res ) {
if ( res ) {
return res ;
ast_log ( LOG_ERROR , " Failure registering applications, functions or tests \n " ) ;
unload_module ( ) ;
return AST_MODULE_LOAD_DECLINE ;
}
/* ast_vm_register may return DECLINE if another module registered for vm */
res = ast_vm_register ( & vm_table ) ;
if ( res ) {
ast_log ( LOG_ERROR , " Failure registering as a voicemail provider \n " ) ;
unload_module ( ) ;
return AST_MODULE_LOAD_DECLINE ;
}
/* ast_vm_greeter_register may return DECLINE if another module registered as a greeter */
res = ast_vm_greeter_register ( & vm_greeter_table ) ;
if ( res ) {
ast_log ( LOG_ERROR , " Failure registering as a greeter provider \n " ) ;
unload_module ( ) ;
return AST_MODULE_LOAD_DECLINE ;
}
}
ast_cli_register_multiple ( cli_voicemail , ARRAY_LEN ( cli_voicemail ) ) ;
ast_cli_register_multiple ( cli_voicemail , ARRAY_LEN ( cli_voicemail ) ) ;
@ -14762,7 +14783,7 @@ static int load_module(void)
ast_realtime_require_field ( " voicemail " , " uniqueid " , RQ_UINTEGER3 , 11 , " password " , RQ_CHAR , 10 , SENTINEL ) ;
ast_realtime_require_field ( " voicemail " , " uniqueid " , RQ_UINTEGER3 , 11 , " password " , RQ_CHAR , 10 , SENTINEL ) ;
ast_realtime_require_field ( " voicemail_data " , " filename " , RQ_CHAR , 30 , " duration " , RQ_UINTEGER3 , 5 , SENTINEL ) ;
ast_realtime_require_field ( " voicemail_data " , " filename " , RQ_CHAR , 30 , " duration " , RQ_UINTEGER3 , 5 , SENTINEL ) ;
return res ;
return AST_MODULE_LOAD_SUCCESS ;
}
}
static int dialout ( struct ast_channel * chan , struct ast_vm_user * vmu , char * num , char * outgoing_context )
static int dialout ( struct ast_channel * chan , struct ast_vm_user * vmu , char * num , char * outgoing_context )