24 #ifndef _AST_FEATURES_H
25 #define _AST_FEATURES_H
30 #define FEATURE_MAX_LEN 11
31 #define FEATURE_APP_LEN 64
32 #define FEATURE_APP_ARGS_LEN 256
33 #define FEATURE_SNAME_LEN 32
34 #define FEATURE_EXTEN_LEN 32
35 #define FEATURE_MOH_LEN 80
37 #define DEFAULT_PARKINGLOT "default"
39 #define AST_FEATURE_RETURN_HANGUP -1
40 #define AST_FEATURE_RETURN_SUCCESSBREAK 0
41 #define AST_FEATURE_RETURN_PBX_KEEPALIVE AST_PBX_KEEPALIVE
42 #define AST_FEATURE_RETURN_NO_HANGUP_PEER AST_PBX_NO_HANGUP_PEER
43 #define AST_FEATURE_RETURN_PASSDIGITS 21
44 #define AST_FEATURE_RETURN_STOREDIGITS 22
45 #define AST_FEATURE_RETURN_SUCCESS 23
46 #define AST_FEATURE_RETURN_KEEPTRYING 24
47 #define AST_FEATURE_RETURN_PARKFAILED 25
49 #define FEATURE_SENSE_CHAN (1 << 0)
50 #define FEATURE_SENSE_PEER (1 << 1)
char exten[FEATURE_MAX_LEN]
void ast_bridge_end_dtmf(struct ast_channel *chan, char digit, struct timeval start, const char *why)
Simulate a DTMF end on a broken bridge channel.
Main Channel structure associated with a channel.
static const char config[]
int(* ast_feature_operation)(struct ast_channel *chan, struct ast_channel *peer, struct ast_bridge_config *config, const char *code, int sense, void *data)
void ast_unregister_feature(struct ast_call_feature *feature)
unregister feature from feature_set
int ast_bridge_call(struct ast_channel *chan, struct ast_channel *peer, struct ast_bridge_config *config)
Bridge a call, optionally allowing redirection.
int ast_pickup_call(struct ast_channel *chan)
Pickup a call.
int ast_features_reload(void)
Reload call features from features.conf.
int ast_masq_park_call(struct ast_channel *park_me, struct ast_channel *parker, int timeout, int *extout)
Park a call via a masqueraded channel.
void ast_register_feature(struct ast_call_feature *feature)
register new feature into feature_set
char app[FEATURE_APP_LEN]
void ast_rdlock_call_features(void)
char app_args[FEATURE_APP_ARGS_LEN]
A set of macros to manage forward-linked lists.
Core PBX routines and definitions.
char moh_class[FEATURE_MOH_LEN]
#define AST_LIST_ENTRY(type)
Declare a forward link structure inside a list entry.
char default_exten[FEATURE_MAX_LEN]
static void parse(struct mgcp_request *req)
int ast_do_pickup(struct ast_channel *chan, struct ast_channel *target)
Pickup a call target.
char sname[FEATURE_SNAME_LEN]
#define FEATURE_SNAME_LEN
Structure used to handle boolean flags.
ast_feature_operation operation
#define FEATURE_APP_ARGS_LEN
int ast_park_call(struct ast_channel *park_me, struct ast_channel *parker, int timeout, const char *park_exten, int *extout)
Park a call and read back parked location.
int ast_masq_park_call_exten(struct ast_channel *park_me, struct ast_channel *parker, const char *park_exten, const char *park_context, int timeout, int *extout)
Park a call via a masqueraded channel.
int ast_parking_ext_valid(const char *exten_str, struct ast_channel *chan, const char *context)
Determine if parking extension exists in a given context.
static char context[AST_MAX_CONTEXT]
void ast_unlock_call_features(void)
struct ast_call_feature::@170 feature_entry
const char * ast_pickup_ext(void)
Determine system call pickup extension.
struct ast_call_feature * ast_find_call_feature(const char *name)
look for a call feature entry by its sname
int ast_feature_detect(struct ast_channel *chan, struct ast_flags *features, const char *code, struct ast_call_feature *feature)
detect a feature before bridging
int ast_bridge_timelimit(struct ast_channel *chan, struct ast_bridge_config *config, char *parse, struct timeval *calldurationlimit)
parse L option and read associated channel variables to set warning, warning frequency, and timelimit
int ast_can_pickup(struct ast_channel *chan)
Test if a channel can be picked up.
int ast_park_call_exten(struct ast_channel *park_me, struct ast_channel *parker, const char *park_exten, const char *park_context, int timeout, int *extout)
Park a call and read back parked location.