return res;
}
-AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Mixed Audio Monitoring Application");
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "Mixed Audio Monitoring Application",
+ .support_level = AST_MODULE_SUPPORT_CORE,
+ .load = load_module,
+ .unload = unload_module,
+ .optional_modules = "func_periodic_hook",
+);
return ast_register_application_xml(app, statsd_exec);
}
-AST_MODULE_INFO_STANDARD_EXTENDED(ASTERISK_GPL_KEY, "StatsD Dialplan Application");
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "StatsD Dialplan Application",
+ .support_level = AST_MODULE_SUPPORT_EXTENDED,
+ .load = load_module,
+ .unload = unload_module,
+ .requires = "res_statsd",
+);
return AST_MODULE_LOAD_SUCCESS;
}
-AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Built in bridging features");
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "Built in bridging features",
+ .support_level = AST_MODULE_SUPPORT_CORE,
+ .load = load_module,
+ .unload = unload_module,
+ .optional_modules = "res_monitor",
+);
*/
/*** MODULEINFO
- <depend type="module">res_stasis_recording</depend>
- <depend type="module">res_stasis_playback</depend>
<support_level>core</support_level>
***/
*/
/*** MODULEINFO
- <depend type="module">res_stasis_answer</depend>
- <depend type="module">res_stasis_playback</depend>
- <depend type="module">res_stasis_recording</depend>
- <depend type="module">res_stasis_snoop</depend>
<support_level>core</support_level>
***/
*/
/*** MODULEINFO
- <depend type="module">res_stasis_device_state</depend>
<support_level>core</support_level>
***/
*/
/*** MODULEINFO
- <depend type="module">res_http_websocket</depend>
<support_level>core</support_level>
***/
*/
/*** MODULEINFO
- <depend type="module">res_stasis_mailbox</depend>
<support_level>core</support_level>
***/
*/
/*** MODULEINFO
- <depend type="module">res_stasis_playback</depend>
<support_level>core</support_level>
***/
*/
/*** MODULEINFO
- <depend type="module">res_stasis_recording</depend>
<support_level>core</support_level>
***/
<depend type="module">res_ari</depend>
<depend type="module">res_ari_model</depend>
<depend type="module">res_stasis</depend>
+ <depend type="module">res_stasis_recording</depend>
+ <depend type="module">res_stasis_playback</depend>
<support_level>core</support_level>
***/
.support_level = AST_MODULE_SUPPORT_CORE,
.load = load_module,
.unload = unload_module,
- .requires = "res_ari,res_ari_model,res_stasis",
+ .requires = "res_ari,res_ari_model,res_stasis,res_stasis_recording,res_stasis_playback",
);
<depend type="module">res_ari</depend>
<depend type="module">res_ari_model</depend>
<depend type="module">res_stasis</depend>
+ <depend type="module">res_stasis_answer</depend>
+ <depend type="module">res_stasis_playback</depend>
+ <depend type="module">res_stasis_recording</depend>
+ <depend type="module">res_stasis_snoop</depend>
<support_level>core</support_level>
***/
.support_level = AST_MODULE_SUPPORT_CORE,
.load = load_module,
.unload = unload_module,
- .requires = "res_ari,res_ari_model,res_stasis",
+ .requires = "res_ari,res_ari_model,res_stasis,res_stasis_answer,res_stasis_playback,res_stasis_recording,res_stasis_snoop",
);
<depend type="module">res_ari</depend>
<depend type="module">res_ari_model</depend>
<depend type="module">res_stasis</depend>
+ <depend type="module">res_stasis_device_state</depend>
<support_level>core</support_level>
***/
.support_level = AST_MODULE_SUPPORT_CORE,
.load = load_module,
.unload = unload_module,
- .requires = "res_ari,res_ari_model,res_stasis",
+ .requires = "res_ari,res_ari_model,res_stasis,res_stasis_device_state",
);
<depend type="module">res_ari</depend>
<depend type="module">res_ari_model</depend>
<depend type="module">res_stasis</depend>
+ <depend type="module">res_http_websocket</depend>
<support_level>core</support_level>
***/
.support_level = AST_MODULE_SUPPORT_CORE,
.load = load_module,
.unload = unload_module,
- .requires = "res_ari,res_ari_model,res_stasis",
+ .requires = "res_ari,res_ari_model,res_stasis,res_http_websocket",
);
<depend type="module">res_ari</depend>
<depend type="module">res_ari_model</depend>
<depend type="module">res_stasis</depend>
+ <depend type="module">res_stasis_mailbox</depend>
<support_level>core</support_level>
***/
.support_level = AST_MODULE_SUPPORT_CORE,
.load = load_module,
.unload = unload_module,
- .requires = "res_ari,res_ari_model,res_stasis",
+ .requires = "res_ari,res_ari_model,res_stasis,res_stasis_mailbox",
);
<depend type="module">res_ari</depend>
<depend type="module">res_ari_model</depend>
<depend type="module">res_stasis</depend>
+ <depend type="module">res_stasis_playback</depend>
<support_level>core</support_level>
***/
.support_level = AST_MODULE_SUPPORT_CORE,
.load = load_module,
.unload = unload_module,
- .requires = "res_ari,res_ari_model,res_stasis",
+ .requires = "res_ari,res_ari_model,res_stasis,res_stasis_playback",
);
<depend type="module">res_ari</depend>
<depend type="module">res_ari_model</depend>
<depend type="module">res_stasis</depend>
+ <depend type="module">res_stasis_recording</depend>
<support_level>core</support_level>
***/
.support_level = AST_MODULE_SUPPORT_CORE,
.load = load_module,
.unload = unload_module,
- .requires = "res_ari,res_ari_model,res_stasis",
+ .requires = "res_ari,res_ari_model,res_stasis,res_stasis_recording",
);
.load = load_module,
.unload = unload_module,
.load_pri = AST_MODPRI_CHANNEL_DEPEND,
+ .optional_modules = "func_periodic_hook",
);
.reload = reload_module,
.load_pri = AST_MODPRI_CHANNEL_DEPEND - 5,
.requires = "res_pjproject",
+ .optional_modules = "res_statsd",
);
#include "asterisk/acl.h"
#include "asterisk/utils.h"
#include "include/res_pjsip_private.h"
+/* We're only using a #define from http_websocket.h, no OPTIONAL_API symbols are used. */
#include "asterisk/http_websocket.h"
#define MAX_POINTER_STRING 33
.unload = unload_module,
.load_pri = AST_MODPRI_APP_DEPEND,
.requires = "res_pjsip",
+ .optional_modules = "res_statsd",
);
}
}
-/* The priority of this module is set to be as low as possible, since it could
- * be used by any other sort of module.
+/* The priority of this module is set just after realtime, since it loads
+ * configuration and could be used by any other sort of module.
*/
AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_GLOBAL_SYMBOLS | AST_MODFLAG_LOAD_ORDER, "Statsd client support",
.support_level = AST_MODULE_SUPPORT_EXTENDED,
.load = load_module,
.unload = unload_module,
.reload = reload_module,
- .load_pri = 0,
+ .load_pri = AST_MODPRI_REALTIME_DRIVER + 5,
);
<depend type="module">res_ari</depend>
<depend type="module">res_ari_model</depend>
<depend type="module">res_stasis</depend>
+{{#requires_modules}}
+ <depend type="module">{{.}}</depend>
+{{/requires_modules}}
<support_level>core</support_level>
***/
.support_level = AST_MODULE_SUPPORT_CORE,
.load = load_module,
.unload = unload_module,
- .requires = "res_ari,res_ari_model,res_stasis",
+ .requires = "res_ari,res_ari_model,res_stasis{{#requires_modules}},{{.}}{{/requires_modules}}",
);
{{/api_declaration}}
self.api_version = api_decl_json.get('apiVersion')
self.base_path = api_decl_json.get('basePath')
self.resource_path = api_decl_json.get('resourcePath')
+ self.requires_modules = api_decl_json.get('requiresModules') or []
api_json = api_decl_json.get('apis') or []
self.apis = [
Api().load(j, processor, context) for j in api_json]
"swaggerVersion": "1.1",
"basePath": "http://localhost:8088/ari",
"resourcePath": "/api-docs/bridges.{format}",
+ "requiresModules": [
+ "res_stasis_recording",
+ "res_stasis_playback"
+ ],
"apis": [
{
"path": "/bridges",
"swaggerVersion": "1.1",
"basePath": "http://localhost:8088/ari",
"resourcePath": "/api-docs/channels.{format}",
+ "requiresModules": [
+ "res_stasis_answer",
+ "res_stasis_playback",
+ "res_stasis_recording",
+ "res_stasis_snoop"
+ ],
"apis": [
{
"path": "/channels",
"swaggerVersion": "1.1",
"basePath": "http://localhost:8088/ari",
"resourcePath": "/api-docs/deviceStates.{format}",
+ "requiresModules": [
+ "res_stasis_device_state"
+ ],
"apis": [
{
"path": "/deviceStates",
"swaggerVersion": "1.2",
"basePath": "http://localhost:8088/ari",
"resourcePath": "/api-docs/events.{format}",
+ "requiresModules": [
+ "res_http_websocket"
+ ],
"apis": [
{
"path": "/events",
"swaggerVersion": "1.1",
"basePath": "http://localhost:8088/ari",
"resourcePath": "/api-docs/mailboxes.{format}",
+ "requiresModules": [
+ "res_stasis_mailbox"
+ ],
"apis": [
{
"path": "/mailboxes",
"swaggerVersion": "1.1",
"basePath": "http://localhost:8088/ari",
"resourcePath": "/api-docs/playbacks.{format}",
+ "requiresModules": [
+ "res_stasis_playback"
+ ],
"apis": [
{
"path": "/playbacks/{playbackId}",
"swaggerVersion": "1.1",
"basePath": "http://localhost:8088/ari",
"resourcePath": "/api-docs/recordings.{format}",
+ "requiresModules": [
+ "res_stasis_recording"
+ ],
"apis": [
{
"path": "/recordings/stored",
return AST_MODULE_LOAD_SUCCESS;
}
-AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Utils test module");
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "Utils test module",
+ .support_level = AST_MODULE_SUPPORT_CORE,
+ .load = load_module,
+ .unload = unload_module,
+ .requires = "res_agi,res_crypto",
+);
return 0;
}
-AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Websocket client test module");
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "Websocket client test module",
+ .support_level = AST_MODULE_SUPPORT_CORE,
+ .load = load_module,
+ .unload = unload_module,
+ .requires = "res_http_websocket",
+);