IVR Demo application. More...
#include "asterisk.h"#include "asterisk/file.h"#include "asterisk/channel.h"#include "asterisk/pbx.h"#include "asterisk/module.h"#include "asterisk/lock.h"#include "asterisk/app.h"
Go to the source code of this file.
Functions | |
| static void | __reg_module (void) |
| static void | __unreg_module (void) |
| static int | ivr_demo_func (struct ast_channel *chan, void *data) |
| static int | load_module (void) |
| static int | skel_exec (struct ast_channel *chan, void *data) |
| static int | unload_module (void) |
Variables | |
| static struct ast_module_info __MODULE_INFO_SECTION | __mod_info = { __MODULE_INFO_GLOBALS .name = AST_MODULE, .flags = AST_MODFLAG_DEFAULT , .description = "IVR Demo Application" , .key = ASTERISK_GPL_KEY , .buildopt_sum = AST_BUILDOPT_SUM, .load = load_module, .unload = unload_module, } |
| static struct ast_ivr_option | __options_ivr_demo [] = { { "s", AST_ACTION_BACKGROUND, "demo-congrats" }, { "g", AST_ACTION_BACKGROUND, "demo-instruct" }, { "g", AST_ACTION_WAITOPTION }, { "1", AST_ACTION_PLAYBACK, "digits/1" }, { "1", AST_ACTION_RESTART }, { "2", AST_ACTION_MENU, &ivr_submenu }, { "2", AST_ACTION_RESTART }, { "i", AST_ACTION_PLAYBACK, "invalid" }, { "i", AST_ACTION_REPEAT, (void *)(unsigned long)2 }, { "#", AST_ACTION_EXIT }, { NULL },} |
| static struct ast_ivr_option | __options_ivr_submenu [] = { { "s", AST_ACTION_BACKGROUND, "demo-abouttotry" }, { "s", AST_ACTION_WAITOPTION }, { "1", AST_ACTION_PLAYBACK, "digits/1" }, { "1", AST_ACTION_PLAYBACK, "digits/1" }, { "1", AST_ACTION_RESTART }, { "2", AST_ACTION_PLAYLIST, "digits/2;digits/3" }, { "3", AST_ACTION_CALLBACK, ivr_demo_func }, { "4", AST_ACTION_TRANSFER, "demo|s|1" }, { "*", AST_ACTION_REPEAT }, { "#", AST_ACTION_UPONE }, { NULL }} |
| static char * | app = "IVRDemo" |
| static struct ast_module_info * | ast_module_info = &__mod_info |
| static struct ast_ivr_menu | ivr_demo = { "IVR Demo Main Menu" , 0 , __options_ivr_demo } |
| static struct ast_ivr_menu | ivr_submenu = { "IVR Demo Sub Menu" , 0 , __options_ivr_submenu } |
IVR Demo application.
Definition in file app_ivrdemo.c.
| static void __reg_module | ( | void | ) | [static] |
Definition at line 126 of file app_ivrdemo.c.
| static void __unreg_module | ( | void | ) | [static] |
Definition at line 126 of file app_ivrdemo.c.
| static int ivr_demo_func | ( | struct ast_channel * | chan, |
| void * | data | ||
| ) | [static] |
Definition at line 60 of file app_ivrdemo.c.
References ast_verbose().
{
ast_verbose("IVR Demo, data is %s!\n", (char *)data);
return 0;
}
| static int load_module | ( | void | ) | [static] |
Definition at line 121 of file app_ivrdemo.c.
References ast_register_application_xml, and skel_exec().
{
return ast_register_application_xml(app, skel_exec);
}
| static int skel_exec | ( | struct ast_channel * | chan, |
| void * | data | ||
| ) | [static] |
Definition at line 97 of file app_ivrdemo.c.
References ast_channel::_state, ast_answer(), ast_ivr_menu_run(), ast_log(), AST_STATE_UP, ast_strlen_zero(), ivr_demo, and LOG_WARNING.
Referenced by load_module().
{
int res=0;
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "skel requires an argument (filename)\n");
return -1;
}
/* Do our thing here */
if (chan->_state != AST_STATE_UP)
res = ast_answer(chan);
if (!res)
res = ast_ivr_menu_run(chan, &ivr_demo, data);
return res;
}
| static int unload_module | ( | void | ) | [static] |
Definition at line 116 of file app_ivrdemo.c.
References ast_unregister_application().
{
return ast_unregister_application(app);
}
struct ast_module_info __MODULE_INFO_SECTION __mod_info = { __MODULE_INFO_GLOBALS .name = AST_MODULE, .flags = AST_MODFLAG_DEFAULT , .description = "IVR Demo Application" , .key = ASTERISK_GPL_KEY , .buildopt_sum = AST_BUILDOPT_SUM, .load = load_module, .unload = unload_module, } [static] |
Definition at line 126 of file app_ivrdemo.c.
struct ast_ivr_option __options_ivr_demo[] = { { "s", AST_ACTION_BACKGROUND, "demo-congrats" }, { "g", AST_ACTION_BACKGROUND, "demo-instruct" }, { "g", AST_ACTION_WAITOPTION }, { "1", AST_ACTION_PLAYBACK, "digits/1" }, { "1", AST_ACTION_RESTART }, { "2", AST_ACTION_MENU, &ivr_submenu }, { "2", AST_ACTION_RESTART }, { "i", AST_ACTION_PLAYBACK, "invalid" }, { "i", AST_ACTION_REPEAT, (void *)(unsigned long)2 }, { "#", AST_ACTION_EXIT }, { NULL },} [static] |
Definition at line 94 of file app_ivrdemo.c.
struct ast_ivr_option __options_ivr_submenu[] = { { "s", AST_ACTION_BACKGROUND, "demo-abouttotry" }, { "s", AST_ACTION_WAITOPTION }, { "1", AST_ACTION_PLAYBACK, "digits/1" }, { "1", AST_ACTION_PLAYBACK, "digits/1" }, { "1", AST_ACTION_RESTART }, { "2", AST_ACTION_PLAYLIST, "digits/2;digits/3" }, { "3", AST_ACTION_CALLBACK, ivr_demo_func }, { "4", AST_ACTION_TRANSFER, "demo|s|1" }, { "*", AST_ACTION_REPEAT }, { "#", AST_ACTION_UPONE }, { NULL }} [static] |
Definition at line 79 of file app_ivrdemo.c.
char* app = "IVRDemo" [static] |
Definition at line 58 of file app_ivrdemo.c.
struct ast_module_info* ast_module_info = &__mod_info [static] |
Definition at line 126 of file app_ivrdemo.c.
struct ast_ivr_menu ivr_demo = { "IVR Demo Main Menu" , 0 , __options_ivr_demo } [static] |
Definition at line 94 of file app_ivrdemo.c.
Referenced by skel_exec().
struct ast_ivr_menu ivr_submenu = { "IVR Demo Sub Menu" , 0 , __options_ivr_submenu } [static] |
Definition at line 79 of file app_ivrdemo.c.