Asterisk - The Open Source Telephony Project  21.4.1
Data Structures | Macros | Functions | Variables
func_talkdetect.c File Reference

Function that raises events when talking is detected on a channel. More...

#include "asterisk.h"
#include "asterisk/module.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/app.h"
#include "asterisk/dsp.h"
#include "asterisk/audiohook.h"
#include "asterisk/stasis.h"
#include "asterisk/stasis_channels.h"

Go to the source code of this file.

Data Structures

struct  talk_detect_params
 Private data structure used with the function's datastore. More...
 

Macros

#define DEFAULT_SILENCE_THRESHOLD   2500
 

Functions

static void __reg_module (void)
 
static void __unreg_module (void)
 
struct ast_moduleAST_MODULE_SELF_SYM (void)
 
static void datastore_destroy_cb (void *data)
 
static int load_module (void)
 
static int remove_talk_detect (struct ast_channel *chan)
 
static int set_talk_detect (struct ast_channel *chan, int dsp_silence_threshold, int dsp_talking_threshold)
 
static int talk_detect_audiohook_cb (struct ast_audiohook *audiohook, struct ast_channel *chan, struct ast_frame *frame, enum ast_audiohook_direction direction)
 
static int talk_detect_fn_write (struct ast_channel *chan, const char *function, char *data, const char *value)
 
static int unload_module (void)
 

Variables

static struct ast_module_info __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_LOAD_ORDER , .description = "Talk detection dialplan function" , .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" , .load = load_module, .unload = unload_module, .load_pri = AST_MODPRI_DEFAULT, .support_level = AST_MODULE_SUPPORT_CORE, }
 
static const struct ast_module_infoast_module_info = &__mod_info
 
static const struct ast_datastore_info talk_detect_datastore
 The channel datastore the function uses to store state. More...
 
static struct ast_custom_function talk_detect_function
 Definition of the TALK_DETECT function. More...
 

Detailed Description

Function that raises events when talking is detected on a channel.

Author
Matt Jordan mjord.nosp@m.an@d.nosp@m.igium.nosp@m..com

Definition in file func_talkdetect.c.

Variable Documentation

const struct ast_datastore_info talk_detect_datastore
static
Initial value:
= {
.type = "talk_detect",
.destroy = datastore_destroy_cb
}

The channel datastore the function uses to store state.

Definition at line 167 of file func_talkdetect.c.

struct ast_custom_function talk_detect_function
static
Initial value:
= {
.name = "TALK_DETECT",
.write = talk_detect_fn_write,
}

Definition of the TALK_DETECT function.

Definition at line 399 of file func_talkdetect.c.