Structure to describe a channel "technology", ie a channel driver See for examples: More...
#include <channel.h>
Data Fields | |
int(*const | answer )(struct ast_channel *chan) |
Answer the channel. | |
enum ast_bridge_result(*const | bridge )(struct ast_channel *c0, struct ast_channel *c1, int flags, struct ast_frame **fo, struct ast_channel **rc, int timeoutms) |
Bridge two channels of the same type together. | |
struct ast_channel *(*const | bridged_channel )(struct ast_channel *chan, struct ast_channel *bridge) |
Find bridged channel. | |
int(*const | call )(struct ast_channel *chan, char *addr, int timeout) |
Call a given phone number (address, etc), but don't take longer than timeout seconds to do so. | |
int | capabilities |
const char *const | description |
int(*const | devicestate )(void *data) |
enum ast_bridge_result(*const | early_bridge )(struct ast_channel *c0, struct ast_channel *c1) |
Bridge two channels of the same type together (early) | |
struct ast_frame *(*const | exception )(struct ast_channel *chan) |
Handle an exception, reading a frame. | |
int(*const | fixup )(struct ast_channel *oldchan, struct ast_channel *newchan) |
Fix up a channel: If a channel is consumed, this is called. Basically update any ->owner links. | |
int(* | func_channel_read )(struct ast_channel *chan, const char *function, char *data, char *buf, size_t len) |
Provide additional read items for CHANNEL() dialplan function. | |
int(* | func_channel_write )(struct ast_channel *chan, const char *function, char *data, const char *value) |
Provide additional write items for CHANNEL() dialplan function. | |
struct ast_channel *(* | get_base_channel )(struct ast_channel *chan) |
Retrieve base channel (agent and local) | |
const char *(* | get_pvt_uniqueid )(struct ast_channel *chan) |
Get the unique identifier for the PVT, i.e. SIP call-ID for SIP. | |
int(*const | hangup )(struct ast_channel *chan) |
Hangup (and possibly destroy) the channel. | |
int(*const | indicate )(struct ast_channel *c, int condition, const void *data, size_t datalen) |
Indicate a particular condition (e.g. AST_CONTROL_BUSY or AST_CONTROL_RINGING or AST_CONTROL_CONGESTION. | |
int | properties |
int(*const | queryoption )(struct ast_channel *chan, int option, void *data, int *datalen) |
Query a given option. | |
struct ast_frame *(*const | read )(struct ast_channel *chan) |
Read a frame, in standard format (see frame.h) | |
struct ast_channel *(*const | requester )(const char *type, int format, void *data, int *cause) |
Requester - to set up call data structures (pvt's) | |
int(*const | send_digit_begin )(struct ast_channel *chan, char digit) |
Start sending a literal DTMF digit. | |
int(*const | send_digit_end )(struct ast_channel *chan, char digit, unsigned int duration) |
Stop sending a literal DTMF digit. | |
int(*const | send_html )(struct ast_channel *chan, int subclass, const char *data, int len) |
Send HTML data. | |
int(*const | send_image )(struct ast_channel *chan, struct ast_frame *frame) |
Display or send an image. | |
int(*const | send_text )(struct ast_channel *chan, const char *text) |
Display or transmit text. | |
int(* | set_base_channel )(struct ast_channel *chan, struct ast_channel *base) |
Set base channel (agent and local) | |
int(*const | setoption )(struct ast_channel *chan, int option, void *data, int datalen) |
Set a given option. | |
int(*const | transfer )(struct ast_channel *chan, const char *newdest) |
Blind transfer other side (see app_transfer.c and ast_transfer() | |
const char *const | type |
int(*const | write )(struct ast_channel *chan, struct ast_frame *frame) |
Write a frame, in standard format (see frame.h) | |
int(*const | write_text )(struct ast_channel *chan, struct ast_frame *frame) |
Write a text frame, in standard format. | |
int(*const | write_video )(struct ast_channel *chan, struct ast_frame *frame) |
Write a frame, in standard format. |
Structure to describe a channel "technology", ie a channel driver See for examples:
If you develop your own channel driver, this is where you tell the PBX at registration of your driver what properties this driver supports and where different callbacks are implemented.
int(* const answer)(struct ast_channel *chan) |
enum ast_bridge_result(* const bridge)(struct ast_channel *c0, struct ast_channel *c1, int flags, struct ast_frame **fo, struct ast_channel **rc, int timeoutms) |
Bridge two channels of the same type together.
Definition at line 299 of file channel.h.
Referenced by ast_channel_bridge().
struct ast_channel*(* const bridged_channel)(struct ast_channel *chan, struct ast_channel *bridge) [read] |
Find bridged channel.
Definition at line 327 of file channel.h.
Referenced by ast_bridged_channel(), destroy_conference_bridge(), and play_sound_file().
int(* const call)(struct ast_channel *chan, char *addr, int timeout) |
Call a given phone number (address, etc), but don't take longer than timeout seconds to do so.
Definition at line 272 of file channel.h.
Referenced by ast_call().
int capabilities |
Bitmap of formats this channel can handle
Definition at line 247 of file channel.h.
Referenced by ast_request(), handle_cli_core_show_channeltype(), and load_module().
const char* const description |
Definition at line 245 of file channel.h.
Referenced by ast_channel_register(), ast_channeltype_list(), ast_var_channel_types_table(), and handle_cli_core_show_channeltypes().
int(* const devicestate)(void *data) |
Devicestate call back
Definition at line 254 of file channel.h.
Referenced by _ast_device_state(), ast_var_channel_types_table(), handle_cli_core_show_channeltype(), and handle_cli_core_show_channeltypes().
enum ast_bridge_result(* const early_bridge)(struct ast_channel *c0, struct ast_channel *c1) |
Bridge two channels of the same type together (early)
Definition at line 303 of file channel.h.
Referenced by ast_channel_early_bridge().
struct ast_frame*(* const exception)(struct ast_channel *chan) [read] |
Handle an exception, reading a frame.
Definition at line 296 of file channel.h.
Referenced by __ast_read().
int(* const fixup)(struct ast_channel *oldchan, struct ast_channel *newchan) |
Fix up a channel: If a channel is consumed, this is called. Basically update any ->owner links.
Definition at line 309 of file channel.h.
Referenced by ast_do_masquerade().
int(* func_channel_read)(struct ast_channel *chan, const char *function, char *data, char *buf, size_t len) |
Provide additional read items for CHANNEL() dialplan function.
Definition at line 330 of file channel.h.
Referenced by func_channel_read().
int(* func_channel_write)(struct ast_channel *chan, const char *function, char *data, const char *value) |
Provide additional write items for CHANNEL() dialplan function.
Definition at line 333 of file channel.h.
Referenced by func_channel_write_real().
struct ast_channel*(* get_base_channel)(struct ast_channel *chan) [read] |
Retrieve base channel (agent and local)
Definition at line 336 of file channel.h.
Referenced by ast_channel_masquerade().
const char*(* get_pvt_uniqueid)(struct ast_channel *chan) |
Get the unique identifier for the PVT, i.e. SIP call-ID for SIP.
Definition at line 342 of file channel.h.
Referenced by update_bridge_vars().
int(* const hangup)(struct ast_channel *chan) |
Hangup (and possibly destroy) the channel.
Definition at line 275 of file channel.h.
Referenced by ast_do_masquerade(), and ast_hangup().
int(* const indicate)(struct ast_channel *c, int condition, const void *data, size_t datalen) |
Indicate a particular condition (e.g. AST_CONTROL_BUSY or AST_CONTROL_RINGING or AST_CONTROL_CONGESTION.
Definition at line 306 of file channel.h.
Referenced by agent_indicate(), ast_indicate_data(), ast_var_channel_types_table(), ast_write(), handle_cli_core_show_channeltype(), and handle_cli_core_show_channeltypes().
int properties |
Technology Properties
Definition at line 249 of file channel.h.
Referenced by ast_jb_do_usecheck(), and schedule_delivery().
int(* const queryoption)(struct ast_channel *chan, int option, void *data, int *datalen) |
Query a given option.
Definition at line 315 of file channel.h.
Referenced by ast_channel_queryoption().
struct ast_frame*(* const read)(struct ast_channel *chan) [read] |
Read a frame, in standard format (see frame.h)
Definition at line 281 of file channel.h.
Referenced by __ast_read().
struct ast_channel*(* const requester)(const char *type, int format, void *data, int *cause) [read] |
Requester - to set up call data structures (pvt's)
Definition at line 252 of file channel.h.
Referenced by ast_request().
int(* const send_digit_begin)(struct ast_channel *chan, char digit) |
Start sending a literal DTMF digit.
Definition at line 261 of file channel.h.
Referenced by ast_channel_bridge(), ast_rtp_bridge(), ast_senddigit(), ast_senddigit_begin(), handle_cli_core_show_channeltype(), and load_module().
int(* const send_digit_end)(struct ast_channel *chan, char digit, unsigned int duration) |
Stop sending a literal DTMF digit.
Definition at line 268 of file channel.h.
Referenced by ast_senddigit_end(), and handle_cli_core_show_channeltype().
int(* const send_html)(struct ast_channel *chan, int subclass, const char *data, int len) |
Send HTML data.
Definition at line 293 of file channel.h.
Referenced by ast_channel_sendhtml(), ast_channel_supports_html(), ast_write(), and handle_cli_core_show_channeltype().
int(* const send_image)(struct ast_channel *chan, struct ast_frame *frame) |
Display or send an image.
Definition at line 290 of file channel.h.
Referenced by ast_send_image(), ast_supports_images(), and handle_cli_core_show_channeltype().
int(* const send_text)(struct ast_channel *chan, const char *text) |
Display or transmit text.
Definition at line 287 of file channel.h.
Referenced by ast_sendtext(), ast_write(), handle_cli_core_show_channeltype(), and sendtext_exec().
int(* set_base_channel)(struct ast_channel *chan, struct ast_channel *base) |
int(* const setoption)(struct ast_channel *chan, int option, void *data, int datalen) |
Set a given option.
Definition at line 312 of file channel.h.
Referenced by ast_channel_setoption().
int(* const transfer)(struct ast_channel *chan, const char *newdest) |
Blind transfer other side (see app_transfer.c and ast_transfer()
Definition at line 318 of file channel.h.
Referenced by ast_transfer(), ast_var_channel_types_table(), handle_cli_core_show_channeltype(), handle_cli_core_show_channeltypes(), and transfer_exec().
const char* const type |
Definition at line 244 of file channel.h.
Referenced by agent_read(), ast_channel_register(), ast_channel_unregister(), ast_channeltype_list(), ast_do_masquerade(), ast_get_channel_tech(), ast_request(), ast_var_channel_types_table(), ast_var_channels_table(), cb_events(), complete_channeltypes(), conf_exec(), conf_run(), dahdi_setoption(), dahdiras_exec(), flash_exec(), func_channel_read(), get_proto(), handle_cli_core_show_channeltype(), handle_cli_core_show_channeltypes(), handle_showchan(), load_module(), misdn_facility_exec(), misdn_set_opt_exec(), oss_read(), park_call_full(), serialize_showchan(), setup_env(), softhangup_exec(), transfer_exec(), try_calling(), and usbradio_read().
int(* const write)(struct ast_channel *chan, struct ast_frame *frame) |
Write a frame, in standard format (see frame.h)
Definition at line 284 of file channel.h.
Referenced by ast_write().
int(* const write_text)(struct ast_channel *chan, struct ast_frame *frame) |
Write a text frame, in standard format.
Definition at line 324 of file channel.h.
Referenced by ast_write().
int(* const write_video)(struct ast_channel *chan, struct ast_frame *frame) |
Write a frame, in standard format.
Definition at line 321 of file channel.h.
Referenced by ast_write(), and ast_write_video().