25 #ifndef _ASTERISK_BRIDGING_FEATURES_H
26 #define _ASTERISK_BRIDGING_FEATURES_H
30 #if defined(__cplusplus) || defined(c_plusplus)
182 AST_BRIDGE_HOOK_TYPE_DTMF,
183 AST_BRIDGE_HOOK_TYPE_TIMER,
184 AST_BRIDGE_HOOK_TYPE_HANGUP,
185 AST_BRIDGE_HOOK_TYPE_JOIN,
186 AST_BRIDGE_HOOK_TYPE_LEAVE,
187 AST_BRIDGE_HOOK_TYPE_TALK,
188 AST_BRIDGE_HOOK_TYPE_MOVE,
208 #define MAXIMUM_DTMF_FEATURE_STRING (11 + 1)
596 unsigned int interval,
848 #if defined(__cplusplus) || defined(c_plusplus)
int ast_bridge_move_hook(struct ast_bridge_features *features, ast_bridge_move_indicate_callback callback, void *hook_pvt, ast_bridge_hook_pvt_destructor destructor, enum ast_bridge_hook_remove_flags remove_flags)
Attach a bridge channel move detection hook to a bridge features structure.
void ast_bridge_features_cleanup(struct ast_bridge_features *features)
Clean up the contents of a bridge features structure.
unsigned int inhibit_colp
int ast_bridge_features_do(enum ast_bridge_builtin_feature feature, struct ast_bridge_channel *bridge_channel, void *hook_pvt)
Invoke a built in feature hook now.
int(* ast_bridge_talking_indicate_callback)(struct ast_bridge_channel *bridge_channel, void *hook_pvt, int talking)
Talking indicator callback.
char complete[MAXIMUM_DTMF_FEATURE_STRING]
int ast_bridge_features_set_limits(struct ast_bridge_features *features, struct ast_bridge_features_limits *limits, enum ast_bridge_hook_remove_flags remove_flags)
Limit the amount of time a channel may stay in the bridge and optionally play warning messages as tim...
int ast_bridge_leave_hook(struct ast_bridge_features *features, ast_bridge_hook_callback callback, void *hook_pvt, ast_bridge_hook_pvt_destructor destructor, enum ast_bridge_hook_remove_flags remove_flags)
Attach a bridge channel leave hook to a bridge features structure.
int(* ast_bridge_move_indicate_callback)(struct ast_bridge_channel *bridge_channel, void *hook_pvt, struct ast_bridge *src, struct ast_bridge *dst)
Move indicator callback.
Structure that contains features information.
const ast_string_field duration_sound
ast_bridge_hook_remove_flags
int ast_bridge_join_hook(struct ast_bridge_features *features, ast_bridge_hook_callback callback, void *hook_pvt, ast_bridge_hook_pvt_destructor destructor, enum ast_bridge_hook_remove_flags remove_flags)
Attach a bridge channel join hook to a bridge features structure.
int ast_bridge_features_enable(struct ast_bridge_features *features, enum ast_bridge_builtin_feature feature, const char *dtmf, void *config, ast_bridge_hook_pvt_destructor destructor, enum ast_bridge_hook_remove_flags remove_flags)
Enable a built in feature on a bridge features structure.
int ast_bridge_features_init(struct ast_bridge_features *features)
Initialize bridge features structure.
int ast_bridge_talk_detector_hook(struct ast_bridge_features *features, ast_bridge_talking_indicate_callback callback, void *hook_pvt, ast_bridge_hook_pvt_destructor destructor, enum ast_bridge_hook_remove_flags remove_flags)
Attach a bridge channel talk detection hook to a bridge features structure.
int ast_bridge_interval_register(enum ast_bridge_builtin_interval interval, ast_bridge_builtin_set_limits_fn callback)
Register a handler for a built in interval feature.
struct ast_bridge_hook generic
ast_bridge_builtin_interval
ast_bridge_hook_pvt_destructor destructor
struct ao2_container * dtmf_hooks
int(* ast_bridge_hook_callback)(struct ast_bridge_channel *bridge_channel, void *hook_pvt)
Hook callback type.
#define AST_DECLARE_STRING_FIELDS(field_list)
Declare the fields needed in a structure.
ast_bridge_features_monitor
struct timeval quitting_time
int(* ast_bridge_builtin_set_limits_fn)(struct ast_bridge_features *features, struct ast_bridge_features_limits *limits, enum ast_bridge_hook_remove_flags remove_flags)
Attach interval hooks to a bridge features structure.
ast_bridge_feature_flags
Flags used for bridge features.
void ast_bridge_features_limits_destroy(struct ast_bridge_features_limits *limits)
Destructor function for ast_bridge_features_limits.
void ast_bridge_features_destroy(struct ast_bridge_features *features)
Destroy an allocated bridge features struct.
int ast_bridge_features_unregister(enum ast_bridge_builtin_feature feature)
Unregister a handler for a built in feature.
struct ast_flags feature_flags
unsigned int text_messaging
enum ast_bridge_hook_type type
General Asterisk PBX channel definitions.
#define AST_STRING_FIELD(name)
Declare a string field.
struct ast_bridge_hook_dtmf_parms dtmf
int ast_bridge_interval_hook(struct ast_bridge_features *features, enum ast_bridge_hook_timer_option flags, unsigned int interval, ast_bridge_hook_callback callback, void *hook_pvt, ast_bridge_hook_pvt_destructor destructor, enum ast_bridge_hook_remove_flags remove_flags)
Attach an interval hook to a bridge features structure.
#define MAXIMUM_DTMF_FEATURE_STRING
Maximum length of a DTMF feature string.
void(* ast_bridge_hook_pvt_destructor)(void *hook_pvt)
Hook pvt destructor callback.
struct ast_heap * interval_hooks
ast_bridge_channel_feature_flags
Flags used for per bridge channel features.
char context[AST_MAX_CONTEXT]
void ast_bridge_features_merge(struct ast_bridge_features *into, const struct ast_bridge_features *from)
Merge one ast_bridge_features into another.
unsigned int dtmf_passthrough
char context[AST_MAX_CONTEXT]
Structure that contains information about a bridge.
int ast_bridge_features_limits_construct(struct ast_bridge_features_limits *limits)
Constructor function for ast_bridge_features_limits.
Structure that contains configuration information for the limits feature.
ast_bridge_hook_callback callback
int ast_bridge_hangup_hook(struct ast_bridge_features *features, ast_bridge_hook_callback callback, void *hook_pvt, ast_bridge_hook_pvt_destructor destructor, enum ast_bridge_hook_remove_flags remove_flags)
Attach a hangup hook to a bridge features structure.
int ast_bridge_features_register(enum ast_bridge_builtin_feature feature, ast_bridge_hook_callback callback, const char *dtmf)
Register a handler for a built in feature.
char threeway[MAXIMUM_DTMF_FEATURE_STRING]
ast_bridge_builtin_feature
Built in DTMF features.
const ast_string_field warning_sound
struct ast_bridge_hook_timer_parms timer
Structure used to handle boolean flags.
int ast_bridge_dtmf_hook(struct ast_bridge_features *features, const char *dtmf, ast_bridge_hook_callback callback, void *hook_pvt, ast_bridge_hook_pvt_destructor destructor, enum ast_bridge_hook_remove_flags remove_flags)
Attach a DTMF hook to a bridge features structure.
struct ast_bridge_hook generic
const ast_string_field connect_sound
Structure that contains configuration information for the attended transfer built in feature...
struct ast_bridge_features * ast_bridge_features_new(void)
Allocate a new bridge features struct.
Structure that contains information regarding a channel in a bridge.
struct ao2_container * other_hooks
char abort[MAXIMUM_DTMF_FEATURE_STRING]
struct ast_flags remove_flags
unsigned int interval_sequence
void ast_bridge_features_set_flag(struct ast_bridge_features *features, unsigned int flag)
Set a flag on a bridge channel features structure.
Structure that contains configuration information for the blind transfer built in feature...
enum ast_bridge_features_monitor start_stop
char code[MAXIMUM_DTMF_FEATURE_STRING]
Structure that is the essence of a feature hook.
int ast_bridge_interval_unregister(enum ast_bridge_builtin_interval interval)
Unregisters a handler for a built in interval feature.
ast_bridge_hook_timer_option
char swap[MAXIMUM_DTMF_FEATURE_STRING]