82 const char *conf_name =
data;
100 pvt->bridge = conference->bridge;
119 .description =
"Conference Bridge Announcing Channel",
Main Channel structure associated with a channel.
Asterisk main include file. File version handling, generic pbx functions.
Structure that contains features information.
void * ast_channel_tech_pvt(const struct ast_channel *chan)
#define ast_set_flag(p, flag)
int ast_unreal_sendhtml(struct ast_channel *ast, int subclass, const char *data, int datalen)
struct ast_unreal_pvt * ast_unreal_alloc(size_t size, ao2_destructor_fn destructor, struct ast_format_cap *cap)
Allocate the base unreal struct for a derivative.
#define AST_UNREAL_NO_OPTIMIZATION
Structure to pass both assignedid values to channel drivers.
#define AST_UNREAL_CARETAKER_THREAD
struct ast_channel * ast_unreal_new_channels(struct ast_unreal_pvt *p, const struct ast_channel_tech *tech, int semi1_state, int semi2_state, const char *exten, const char *context, const struct ast_assigned_ids *assignedids, const struct ast_channel *requestor, ast_callid callid)
Create the semi1 and semi2 unreal channels.
int ast_channel_add_bridge_role(struct ast_channel *chan, const char *role_name)
Adds a bridge role to a channel.
int ast_unreal_indicate(struct ast_channel *ast, int condition, const void *data, size_t datalen)
int ast_unreal_fixup(struct ast_channel *oldchan, struct ast_channel *newchan)
struct ast_flags feature_flags
int conf_announce_channel_push(struct ast_channel *ast)
Push the announcer channel into the conference.
int ast_bridge_impart(struct ast_bridge *bridge, struct ast_channel *chan, struct ast_channel *swap, struct ast_bridge_features *features, enum ast_bridge_impart_flags flags) attribute_warn_unused_result
Impart a channel to a bridge (non-blocking)
struct ast_unreal_pvt base
#define SCOPED_CHANNELLOCK(varname, chan)
scoped lock specialization for channels.
General Asterisk PBX channel definitions.
#define RAII_VAR(vartype, varname, initval, dtor)
Declare a variable that will call a destructor function when it goes out of scope.
void ast_unreal_destructor(void *vdoomed)
struct ast_unreal_pvt destructor.
#define ao2_ref(o, delta)
struct ast_channel_tech * conf_announce_get_tech(void)
Get ConfBridge announce channel technology struct.
int ast_unreal_setoption(struct ast_channel *chan, int option, void *data, int datalen)
struct ao2_container * conference_bridges
Container to hold all conference bridges in progress.
Channels with this particular technology are an implementation detail of Asterisk and should generall...
Structure to describe a channel "technology", ie a channel driver See for examples: ...
struct ast_bridge * bridge
static struct ast_channel * announce_request(const char *type, struct ast_format_cap *cap, const struct ast_assigned_ids *assignedids, const struct ast_channel *requestor, const char *data, int *cause)
Structure that contains information about a bridge.
int ast_unreal_write(struct ast_channel *ast, struct ast_frame *f)
int ast_unreal_digit_begin(struct ast_channel *ast, char digit)
The base pvt structure for local channel derivatives.
int ast_unreal_digit_end(struct ast_channel *ast, char digit, unsigned int duration)
void ast_hangup(struct ast_channel *chan)
Hang up a channel.
struct ast_frame * ast_unreal_read(struct ast_channel *ast)
The structure that represents a conference bridge.
#define ao2_find(container, arg, flags)
struct ast_bridge_features * ast_bridge_features_new(void)
Allocate a new bridge features struct.
static struct ast_channel_tech announce_tech
int ast_unreal_queryoption(struct ast_channel *ast, int option, void *data, int *datalen)
void ast_copy_string(char *dst, const char *src, size_t size)
Size-limited null-terminating string copy.
int ast_answer(struct ast_channel *chan)
Answer a channel.
static int announce_hangup(struct ast_channel *ast)
int ast_unreal_hangup(struct ast_unreal_pvt *p, struct ast_channel *ast)
Hangup one end (maybe both ends) of an unreal channel derivative.
static int announce_call(struct ast_channel *chan, const char *addr, int timeout)
static void announce_pvt_destructor(void *vdoomed)
int ast_unreal_sendtext(struct ast_channel *ast, const char *text)
Unreal channel derivative framework.