Thu Apr 16 06:48:51 2015

Asterisk developer's documentation


ast_rtp_engine Struct Reference

#include <rtp_engine.h>

Collaboration diagram for ast_rtp_engine:

Collaboration graph
[legend]

Data Fields

int(* activate )(struct ast_rtp_instance *instance)
void(* alt_remote_address_set )(struct ast_rtp_instance *instance, struct ast_sockaddr *sa)
format_t(* available_formats )(struct ast_rtp_instance *instance, format_t to_endpoint, format_t to_asterisk)
void(* change_source )(struct ast_rtp_instance *instance)
int(* destroy )(struct ast_rtp_instance *instance)
int(* dtmf_begin )(struct ast_rtp_instance *instance, char digit)
int(* dtmf_compatible )(struct ast_channel *chan0, struct ast_rtp_instance *instance0, struct ast_channel *chan1, struct ast_rtp_instance *instance1)
int(* dtmf_end )(struct ast_rtp_instance *instance, char digit)
int(* dtmf_end_with_duration )(struct ast_rtp_instance *instance, char digit, unsigned int duration)
enum ast_rtp_dtmf_mode(* dtmf_mode_get )(struct ast_rtp_instance *instance)
int(* dtmf_mode_set )(struct ast_rtp_instance *instance, enum ast_rtp_dtmf_mode dtmf_mode)
struct {
   struct ast_rtp_engine *   next
entry
void *(* extended_prop_get )(struct ast_rtp_instance *instance, int property)
int(* extended_prop_set )(struct ast_rtp_instance *instance, int property, void *value)
int(* fd )(struct ast_rtp_instance *instance, int rtcp)
int(* get_stat )(struct ast_rtp_instance *instance, struct ast_rtp_instance_stats *stats, enum ast_rtp_instance_stat stat)
int(* local_bridge )(struct ast_rtp_instance *instance0, struct ast_rtp_instance *instance1)
int(* make_compatible )(struct ast_channel *chan0, struct ast_rtp_instance *instance0, struct ast_channel *chan1, struct ast_rtp_instance *instance1)
struct ast_modulemod
const char * name
int(* new )(struct ast_rtp_instance *instance, struct sched_context *sched, struct ast_sockaddr *sa, void *data)
void(* packetization_set )(struct ast_rtp_instance *instance, struct ast_codec_pref *pref)
void(* payload_set )(struct ast_rtp_instance *instance, int payload, int astformat, format_t format)
void(* prop_set )(struct ast_rtp_instance *instance, enum ast_rtp_property property, int value)
int(* qos )(struct ast_rtp_instance *instance, int tos, int cos, const char *desc)
struct ast_frame *(* read )(struct ast_rtp_instance *instance, int rtcp)
int(* red_buffer )(struct ast_rtp_instance *instance, struct ast_frame *frame)
int(* red_init )(struct ast_rtp_instance *instance, int buffer_time, int *payloads, int generations)
void(* remote_address_set )(struct ast_rtp_instance *instance, struct ast_sockaddr *sa)
int(* sendcng )(struct ast_rtp_instance *instance, int level)
int(* set_read_format )(struct ast_rtp_instance *instance, format_t format)
int(* set_write_format )(struct ast_rtp_instance *instance, format_t format)
void(* stop )(struct ast_rtp_instance *instance)
void(* stun_request )(struct ast_rtp_instance *instance, struct ast_sockaddr *suggestion, const char *username)
void(* update_source )(struct ast_rtp_instance *instance)
int(* write )(struct ast_rtp_instance *instance, struct ast_frame *frame)

Detailed Description

Structure that represents an RTP stack (engine)

Definition at line 310 of file rtp_engine.h.


Field Documentation

int(* activate)(struct ast_rtp_instance *instance)

Callback to indicate that packets will now flow

Referenced by ast_rtp_instance_activate().

void(* alt_remote_address_set)(struct ast_rtp_instance *instance, struct ast_sockaddr *sa)

Callback for setting an alternate remote address

Referenced by ast_rtp_instance_set_alt_remote_address().

format_t(* available_formats)(struct ast_rtp_instance *instance, format_t to_endpoint, format_t to_asterisk)

Callback to get the transcodeable formats supported

Referenced by ast_rtp_instance_available_formats().

void(* change_source)(struct ast_rtp_instance *instance)

Callback to indicate that we should update the marker bit and ssrc

Referenced by ast_rtp_instance_change_source().

int(* destroy)(struct ast_rtp_instance *instance)

Callback for destroying an RTP instance

Referenced by ast_rtp_engine_register2(), and instance_destructor().

int(* dtmf_begin)(struct ast_rtp_instance *instance, char digit)

Callback for starting RFC2833 DTMF transmission

Referenced by ast_rtp_instance_dtmf_begin().

int(* dtmf_compatible)(struct ast_channel *chan0, struct ast_rtp_instance *instance0, struct ast_channel *chan1, struct ast_rtp_instance *instance1)

Callback to see if two instances are compatible with DTMF

Referenced by ast_rtp_instance_bridge().

int(* dtmf_end)(struct ast_rtp_instance *instance, char digit)

Callback for stopping RFC2833 DTMF transmission

Referenced by ast_rtp_instance_dtmf_end().

int(* dtmf_end_with_duration)(struct ast_rtp_instance *instance, char digit, unsigned int duration)

Callback for getting DTMF mode

Referenced by ast_rtp_instance_dtmf_mode_get().

int(* dtmf_mode_set)(struct ast_rtp_instance *instance, enum ast_rtp_dtmf_mode dtmf_mode)

Callback for changing DTMF mode

Referenced by ast_rtp_instance_dtmf_mode_set().

struct { ... } entry

void*(* extended_prop_get)(struct ast_rtp_instance *instance, int property)

Callback for getting an extended RTP property

Referenced by ast_rtp_instance_get_extended_prop().

int(* extended_prop_set)(struct ast_rtp_instance *instance, int property, void *value)

Callback for setting an extended RTP property

Referenced by ast_rtp_instance_set_extended_prop().

int(* fd)(struct ast_rtp_instance *instance, int rtcp)

Callback for retrieving a file descriptor to poll on, not always required

Referenced by ast_rtp_instance_fd().

int(* get_stat)(struct ast_rtp_instance *instance, struct ast_rtp_instance_stats *stats, enum ast_rtp_instance_stat stat)

Callback for retrieving statistics

Referenced by ast_rtp_instance_get_stats().

int(* local_bridge)(struct ast_rtp_instance *instance0, struct ast_rtp_instance *instance1)

Callback to locally bridge two RTP instances

Referenced by ast_rtp_instance_bridge(), and local_bridge_loop().

int(* make_compatible)(struct ast_channel *chan0, struct ast_rtp_instance *instance0, struct ast_channel *chan1, struct ast_rtp_instance *instance1)

Callback to make two instances compatible

Referenced by ast_rtp_instance_make_compatible().

struct ast_module* mod [read]

Module this RTP engine came from, used for reference counting

Definition at line 314 of file rtp_engine.h.

Referenced by ast_rtp_engine_register2(), ast_rtp_instance_new(), and instance_destructor().

const char* name

Name of the RTP engine, used when explicitly requested

Definition at line 312 of file rtp_engine.h.

Referenced by ast_rtp_engine_register2(), ast_rtp_engine_unregister(), ast_rtp_instance_new(), and instance_destructor().

int(* new)(struct ast_rtp_instance *instance, struct sched_context *sched, struct ast_sockaddr *sa, void *data)

Callback for setting up a new RTP instance

Referenced by ast_rtp_engine_register2(), and ast_rtp_instance_new().

struct ast_rtp_engine* next [read]

Definition at line 381 of file rtp_engine.h.

void(* packetization_set)(struct ast_rtp_instance *instance, struct ast_codec_pref *pref)

Callback for setting packetization preferences

Referenced by ast_rtp_codecs_packetization_set().

void(* payload_set)(struct ast_rtp_instance *instance, int payload, int astformat, format_t format)

void(* prop_set)(struct ast_rtp_instance *instance, enum ast_rtp_property property, int value)

Callback for setting an RTP property

Referenced by ast_rtp_instance_set_prop().

int(* qos)(struct ast_rtp_instance *instance, int tos, int cos, const char *desc)

Callback for setting QoS values

Referenced by ast_rtp_instance_set_qos().

struct ast_frame*(* read)(struct ast_rtp_instance *instance, int rtcp) [read]

Callback for reading a frame from the RTP engine

Referenced by ast_rtp_engine_register2(), and ast_rtp_instance_read().

int(* red_buffer)(struct ast_rtp_instance *instance, struct ast_frame *frame)

Callback for buffering a frame using RED

Referenced by ast_rtp_red_buffer().

int(* red_init)(struct ast_rtp_instance *instance, int buffer_time, int *payloads, int generations)

Callback for initializing RED support

Referenced by ast_rtp_red_init().

void(* remote_address_set)(struct ast_rtp_instance *instance, struct ast_sockaddr *sa)

Callback for setting the remote address that RTP is to be sent to

Referenced by ast_rtp_instance_set_remote_address().

int(* sendcng)(struct ast_rtp_instance *instance, int level)

Callback to send CNG

Referenced by ast_rtp_instance_sendcng().

int(* set_read_format)(struct ast_rtp_instance *instance, format_t format)

Callback to set the read format

Referenced by ast_rtp_instance_set_read_format().

int(* set_write_format)(struct ast_rtp_instance *instance, format_t format)

Callback to set the write format

Referenced by ast_rtp_instance_set_write_format().

void(* stop)(struct ast_rtp_instance *instance)

Callback for stopping the RTP instance

Referenced by ast_rtp_instance_stop().

void(* stun_request)(struct ast_rtp_instance *instance, struct ast_sockaddr *suggestion, const char *username)

Callback to request that the RTP engine send a STUN BIND request

Referenced by ast_rtp_instance_stun_request().

void(* update_source)(struct ast_rtp_instance *instance)

Callback to indicate that we should update the marker bit

Referenced by ast_rtp_instance_update_source().

int(* write)(struct ast_rtp_instance *instance, struct ast_frame *frame)

Callback for writing out a frame

Referenced by ast_rtp_engine_register2(), and ast_rtp_instance_write().


The documentation for this struct was generated from the following file:

Generated on Thu Apr 16 06:48:52 2015 for Asterisk - The Open Source Telephony Project by  doxygen 1.5.6