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.