Sat Apr 26 2014 22:03:24

Asterisk developer's documentation


ast_rtp_engine Struct Reference

#include <rtp_engine.h>

Collaboration diagram for ast_rtp_engine:

Public Member Functions

 AST_LIST_ENTRY (ast_rtp_engine) entry

Data Fields

int(* activate )(struct ast_rtp_instance *instance)
void(* alt_remote_address_set )(struct ast_rtp_instance *instance, struct ast_sockaddr *sa)
void(* available_formats )(struct ast_rtp_instance *instance, struct ast_format_cap *to_endpoint, struct ast_format_cap *to_asterisk, struct ast_format_cap *result)
void(* change_source )(struct ast_rtp_instance *instance)
int(* destroy )(struct ast_rtp_instance *instance)
struct ast_rtp_engine_dtlsdtls
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)
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)
struct ast_rtp_engine_iceice
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 ast_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 asterisk_format, struct ast_format *format, int code)
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, struct ast_format *format)
int(* set_write_format )(struct ast_rtp_instance *instance, struct ast_format *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 418 of file rtp_engine.h.


Member Function Documentation

Linked list information


Field Documentation

int(* activate)(struct ast_rtp_instance *instance)

Callback to indicate that packets will now flow

Definition at line 481 of file rtp_engine.h.

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

Definition at line 453 of file rtp_engine.h.

Referenced by ast_rtp_instance_set_alt_remote_address().

void(* available_formats)(struct ast_rtp_instance *instance, struct ast_format_cap *to_endpoint, struct ast_format_cap *to_asterisk, struct ast_format_cap *result)

Callback to get the transcodeable formats supported. result returned in ast_format_cap *result

Definition at line 485 of file rtp_engine.h.

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

Definition at line 439 of file rtp_engine.h.

Referenced by ast_rtp_instance_change_source().

int(* destroy)(struct ast_rtp_instance *instance)

Callback for destroying an RTP instance

Definition at line 426 of file rtp_engine.h.

Referenced by ast_rtp_engine_register2(), and instance_destructor().

Callback to pointer for optional DTLS SRTP support

Definition at line 491 of file rtp_engine.h.

Referenced by ast_rtp_instance_get_dtls().

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

Callback for starting RFC2833 DTMF transmission

Definition at line 432 of file rtp_engine.h.

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

Definition at line 479 of file rtp_engine.h.

Referenced by ast_rtp_instance_bridge().

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

Callback for stopping RFC2833 DTMF transmission

Definition at line 434 of file rtp_engine.h.

Referenced by ast_rtp_instance_dtmf_end().

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

Definition at line 435 of file rtp_engine.h.

Referenced by ast_rtp_instance_dtmf_end_with_duration().

Callback for getting DTMF mode

Definition at line 457 of file rtp_engine.h.

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

Definition at line 455 of file rtp_engine.h.

Referenced by ast_rtp_instance_dtmf_mode_set().

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

Callback for getting an extended RTP property

Definition at line 443 of file rtp_engine.h.

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

Definition at line 441 of file rtp_engine.h.

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

Definition at line 463 of file rtp_engine.h.

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

Definition at line 459 of file rtp_engine.h.

Referenced by ast_rtp_instance_get_stats().

Callback to pointer for optional ICE support

Definition at line 489 of file rtp_engine.h.

Referenced by ast_rtp_instance_get_ice().

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

Callback to locally bridge two RTP instances

Definition at line 471 of file rtp_engine.h.

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

Definition at line 477 of file rtp_engine.h.

Referenced by ast_rtp_instance_make_compatible().

struct ast_module* mod

Module this RTP engine came from, used for reference counting

Definition at line 422 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 420 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 ast_sched_context *sched, struct ast_sockaddr *sa, void *data)

Callback for setting up a new RTP instance

Definition at line 424 of file rtp_engine.h.

Referenced by ast_rtp_engine_register2(), and ast_rtp_instance_new().

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

Callback for setting packetization preferences

Definition at line 449 of file rtp_engine.h.

Referenced by ast_rtp_codecs_packetization_set().

void(* payload_set)(struct ast_rtp_instance *instance, int payload, int asterisk_format, struct ast_format *format, int code)

Callback for setting a payload. If asterisk is to be used, asterisk_format will be set, otherwise value in code is used.

Definition at line 447 of file rtp_engine.h.

Referenced by ast_rtp_codecs_payloads_clear(), ast_rtp_codecs_payloads_copy(), ast_rtp_codecs_payloads_default(), ast_rtp_codecs_payloads_set_m_type(), ast_rtp_codecs_payloads_set_rtpmap_type_rate(), and ast_rtp_codecs_payloads_unset().

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

Callback for setting an RTP property

Definition at line 445 of file rtp_engine.h.

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

Definition at line 461 of file rtp_engine.h.

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

Definition at line 469 of file rtp_engine.h.

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

Definition at line 467 of file rtp_engine.h.

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

Definition at line 465 of file rtp_engine.h.

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

Definition at line 451 of file rtp_engine.h.

Referenced by ast_rtp_instance_set_remote_address().

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

Callback to send CNG

Definition at line 487 of file rtp_engine.h.

Referenced by ast_rtp_instance_sendcng().

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

Callback to set the read format

Definition at line 473 of file rtp_engine.h.

Referenced by ast_rtp_instance_set_read_format().

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

Callback to set the write format

Definition at line 475 of file rtp_engine.h.

Referenced by ast_rtp_instance_set_write_format().

void(* stop)(struct ast_rtp_instance *instance)

Callback for stopping the RTP instance

Definition at line 430 of file rtp_engine.h.

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

Definition at line 483 of file rtp_engine.h.

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

Definition at line 437 of file rtp_engine.h.

Referenced by ast_rtp_instance_update_source().

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

Callback for writing out a frame

Definition at line 428 of file rtp_engine.h.

Referenced by ast_rtp_engine_register2(), and ast_rtp_instance_write().


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