Asterisk - The Open Source Telephony Project
21.4.1
|
Find-Me Follow-Me application. More...
#include "asterisk.h"
#include <signal.h>
#include "asterisk/paths.h"
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/translate.h"
#include "asterisk/say.h"
#include "asterisk/features.h"
#include "asterisk/musiconhold.h"
#include "asterisk/cli.h"
#include "asterisk/manager.h"
#include "asterisk/config.h"
#include "asterisk/utils.h"
#include "asterisk/causes.h"
#include "asterisk/astdb.h"
#include "asterisk/dsp.h"
#include "asterisk/app.h"
#include "asterisk/stasis_channels.h"
#include "asterisk/max_forwards.h"
Go to the source code of this file.
Data Structures | |
struct | call_followme::blnumbers |
struct | call_followme |
Data structure for followme scripts. More... | |
struct | fm_args::cnumbers |
struct | findme_user |
struct | findme_user_listptr |
struct | fm_args |
struct | followmes |
struct | number |
Number structure. More... | |
struct | call_followme::numbers |
struct | call_followme::wlnumbers |
Macros | |
#define | MAX_YN_STRING 20 |
#define | REC_FORMAT "sln" |
Functions | |
static void | __reg_module (void) |
static void | __unreg_module (void) |
static struct call_followme * | alloc_profile (const char *fmname) |
Allocate and initialize followme profile. | |
static int | app_exec (struct ast_channel *chan, const char *data) |
struct ast_module * | AST_MODULE_SELF_SYM (void) |
static void | clear_caller (struct findme_user *tmpuser) |
static void | clear_unanswered_calls (struct findme_user_listptr *findme_user_list) |
static struct number * | create_followme_number (const char *number, int timeout, int numorder) |
Add a new number. | |
static void | destroy_calling_node (struct findme_user *node) |
static void | destroy_calling_tree (struct findme_user_listptr *findme_user_list) |
static void | end_bridge_callback (void *data) |
static void | end_bridge_callback_data_fixup (struct ast_bridge_config *bconfig, struct ast_channel *originator, struct ast_channel *terminator) |
static struct call_followme * | find_realtime (const char *name) |
static struct ast_channel * | findmeexec (struct fm_args *tpargs, struct ast_channel *caller) |
static void | free_numbers (struct call_followme *f) |
static void | init_profile (struct call_followme *f, int activate) |
static int | load_module (void) |
Load the module. More... | |
static void | profile_set_param (struct call_followme *f, const char *param, const char *val, int linenum, int failunknown) |
Set parameter in profile from configuration file. | |
static void | publish_dial_end_event (struct ast_channel *in, struct findme_user_listptr *findme_user_list, struct ast_channel *exception, const char *status) |
static int | reload (void) |
static int | reload_followme (int reload) |
Reload followme application module. | |
static int | unload_module (void) |
static struct ast_channel * | wait_for_winner (struct findme_user_listptr *findme_user_list, struct number *nm, struct ast_channel *caller, struct fm_args *tpargs) |
Variables | |
static struct ast_module_info | __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_DEFAULT , .description = "Find-Me/Follow-Me Application" , .key = "This paragraph is copyright (c) 2006 by Digium, Inc. \In order for your module to load, it must return this \key via a function called \"key\". Any code which \includes this paragraph must be licensed under the GNU \General Public License version 2 or later (at your \option). In addition to Digium's general reservations \of rights, Digium expressly reserves the right to \allow other parties to license this paragraph under \different terms. Any use of Digium, Inc. trademarks or \logos (including \"Asterisk\" or \"Digium\") without \express written permission of Digium, Inc. is prohibited.\n" , .buildopt_sum = "da6642af068ee5e6490c5b1d2cc1d238" , .support_level = AST_MODULE_SUPPORT_CORE, .load = load_module, .unload = unload_module, .reload = reload, } |
static char * | app = "FollowMe" |
static const struct ast_module_info * | ast_module_info = &__mod_info |
static char | callfromprompt [PATH_MAX] = "followme/call-from" |
static char | connprompt [PATH_MAX] = "" |
static const char * | defaultmoh = "default" |
static int | enable_callee_prompt = 1 |
static int | featuredigittimeout = 5000 |
static const char * | featuredigittostr |
static const struct ast_app_option | followme_opts [128] = { [ 'a' ] = { .flag = FOLLOWMEFLAG_RECORDNAME }, [ 'B' ] = { .flag = FOLLOWMEFLAG_PREDIAL_CALLER , .arg_index = FOLLOWMEFLAG_ARG_PREDIAL_CALLER + 1 }, [ 'b' ] = { .flag = FOLLOWMEFLAG_PREDIAL_CALLEE , .arg_index = FOLLOWMEFLAG_ARG_PREDIAL_CALLEE + 1 }, [ 'd' ] = { .flag = FOLLOWMEFLAG_DISABLEHOLDPROMPT }, [ 'I' ] = { .flag = FOLLOWMEFLAG_IGNORE_CONNECTEDLINE }, [ 'l' ] = { .flag = FOLLOWMEFLAG_DISABLEOPTIMIZATION }, [ 'N' ] = { .flag = FOLLOWMEFLAG_NOANSWER }, [ 'n' ] = { .flag = FOLLOWMEFLAG_UNREACHABLEMSG }, [ 's' ] = { .flag = FOLLOWMEFLAG_STATUSMSG }, } |
static struct followmes | followmes = { .first = NULL, .last = NULL, .lock = { PTHREAD_RWLOCK_INITIALIZER , NULL, {1, 0} } , } |
static char | nextindp [MAX_YN_STRING] = "2" |
static char | norecordingprompt [PATH_MAX] = "followme/no-recording" |
static char | optionsprompt [PATH_MAX] = "followme/options" |
static char | plsholdprompt [PATH_MAX] = "followme/pls-hold-while-try" |
static char | sorryprompt [PATH_MAX] = "followme/sorry" |
static char | statusprompt [PATH_MAX] = "followme/status" |
static char | takecall [MAX_YN_STRING] = "1" |
Find-Me Follow-Me application.
Definition in file app_followme.c.
#define MAX_YN_STRING 20 |
Maximum accept/decline DTMF string plus terminator.
Definition at line 151 of file app_followme.c.
|
static |
Load the module.
Module loading including tests for configuration or dependencies. This function can return AST_MODULE_LOAD_FAILURE, AST_MODULE_LOAD_DECLINE, or AST_MODULE_LOAD_SUCCESS. If a dependency or environment variable fails tests return AST_MODULE_LOAD_FAILURE. If the module can not load the configuration file or other non-critical problem return AST_MODULE_LOAD_DECLINE. On success return AST_MODULE_LOAD_SUCCESS.
Definition at line 1637 of file app_followme.c.
References AST_MODULE_LOAD_DECLINE, ast_register_application_xml, and reload_followme().
|
static |
Default Music-On-Hold Class
Definition at line 271 of file app_followme.c.
|
static |
Feature Digit Timeout
Definition at line 270 of file app_followme.c.