Sat Mar 24 23:30:49 2007

Asterisk developer's documentation


ast_channel_tech Struct Reference

#include <channel.h>

Collaboration diagram for ast_channel_tech:

Collaboration graph
[legend]

Data Fields

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)
ast_channel *(*const bridged_channel )(struct ast_channel *chan, struct ast_channel *bridge)
int(*const call )(struct ast_channel *chan, char *addr, int timeout)
int capabilities
const char *const description
int(*const devicestate )(void *data)
ast_frame *(*const exception )(struct ast_channel *chan)
int(*const fixup )(struct ast_channel *oldchan, struct ast_channel *newchan)
int(*const hangup )(struct ast_channel *chan)
int(*const indicate )(struct ast_channel *c, int condition)
int properties
int(*const queryoption )(struct ast_channel *chan, int option, void *data, int *datalen)
ast_frame *(*const read )(struct ast_channel *chan)
ast_channel *(*const requester )(const char *type, int format, void *data, int *cause)
int(*const send_digit )(struct ast_channel *chan, char digit)
int(*const send_html )(struct ast_channel *chan, int subclass, const char *data, int len)
int(*const send_image )(struct ast_channel *chan, struct ast_frame *frame)
int(*const send_text )(struct ast_channel *chan, const char *text)
int(*const setoption )(struct ast_channel *chan, int option, void *data, int datalen)
int(*const transfer )(struct ast_channel *chan, const char *newdest)
const char *const type
int(*const write )(struct ast_channel *chan, struct ast_frame *frame)
int(*const write_video )(struct ast_channel *chan, struct ast_frame *frame)

Detailed Description

Structure to describe a channel "technology", ie a channel driver See 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.

Definition at line 174 of file channel.h.


Field Documentation

int(* const answer)(struct ast_channel *chan)
 

Answer the channel

Referenced by ast_answer().

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

Referenced by ast_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.

Referenced by ast_call().

int capabilities
 

Bitmap of formats this channel can handle

Definition at line 179 of file channel.h.

Referenced by ast_request(), and load_module().

const char* const description
 

Definition at line 176 of file channel.h.

Referenced by description(), and show_channeltypes().

int(* const devicestate)(void *data)
 

Devicestate call back

Referenced by ast_device_state(), and show_channeltypes().

struct ast_frame*(* const exception)(struct ast_channel *chan)
 

Handle an exception, reading a frame

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

int(* const hangup)(struct ast_channel *chan)
 

Hangup (and possibly destroy) the channel

Referenced by ast_hangup().

int(* const indicate)(struct ast_channel *c, int condition)
 

Indicate a particular condition (e.g. AST_CONTROL_BUSY or AST_CONTROL_RINGING or AST_CONTROL_CONGESTION

Referenced by ast_indicate(), and show_channeltypes().

int properties
 

Technology Properties

Definition at line 182 of file channel.h.

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)

Referenced by ast_read(), and sound_thread().

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)(struct ast_channel *chan, char digit)
 

Send a literal DTMF digit

Referenced by agent_digit(), and do_senddigit().

int(* const send_html)(struct ast_channel *chan, int subclass, const char *data, int len)
 

Send HTML data

Referenced by ast_channel_sendhtml(), ast_channel_sendurl(), ast_channel_supports_html(), and ast_write().

int(* const send_image)(struct ast_channel *chan, struct ast_frame *frame)
 

Display or send an image

Referenced by ast_send_image(), and ast_supports_images().

int(* const send_text)(struct ast_channel *chan, const char *text)
 

Display or transmit text

Referenced by ast_sendtext(), ast_write(), and sendtext_exec().

int(* const setoption)(struct ast_channel *chan, int option, void *data, int datalen)
 

Set a given option

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()

Referenced by ast_transfer(), show_channeltypes(), and transfer_exec().

const char* const type
 

Definition at line 175 of file channel.h.

Referenced by ast_channel_register(), ast_channel_unregister(), ast_get_channel_tech(), ast_request(), and show_channeltypes().

int(* const write)(struct ast_channel *chan, struct ast_frame *frame)
 

Write a frame, in standard format (see frame.h)

Referenced by ast_write().

int(* const write_video)(struct ast_channel *chan, struct ast_frame *frame)
 

Write a frame, in standard format

Referenced by ast_write(), and ast_write_video().


The documentation for this struct was generated from the following file:
Generated on Sat Mar 24 23:30:49 2007 for Asterisk - the Open Source PBX by  doxygen 1.4.6