Thu Apr 28 2011 16:56:51

Asterisk developer's documentation


app_ivrdemo.c File Reference

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"
Include dependency graph for app_ivrdemo.c:

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_infoast_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 }

Detailed Description

IVR Demo application.

Author:
Mark Spencer <markster@digium.com>

Definition in file app_ivrdemo.c.


Function Documentation

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().

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().


Variable Documentation

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.

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.