Asterisk - The Open Source Telephony Project  21.4.1
Public Member Functions | Data Fields
ast_rtp_engine Struct Reference

#include <rtp_engine.h>

Public Member Functions

 AST_LIST_ENTRY (ast_rtp_engine) entry
 

Data Fields

int(* activate )(struct ast_rtp_instance *instance)
 
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)
 
int(* bundle )(struct ast_rtp_instance *child, struct ast_rtp_instance *parent)
 
void(* change_source )(struct ast_rtp_instance *instance)
 
const char *(* cname_get )(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(* extension_enable )(struct ast_rtp_instance *instance, enum ast_rtp_extension extension)
 
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(* 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)
 
void(* set_remote_ssrc )(struct ast_rtp_instance *instance, unsigned int ssrc)
 
void(* set_stream_num )(struct ast_rtp_instance *instance, int stream_num)
 
int(* set_write_format )(struct ast_rtp_instance *instance, struct ast_format *format)
 
unsigned int(* ssrc_get )(struct ast_rtp_instance *instance)
 
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 665 of file rtp_engine.h.

Member Function Documentation

AST_LIST_ENTRY ( ast_rtp_engine  )

Linked list information

Field Documentation

int(* activate) (struct ast_rtp_instance *instance)

Callback to indicate that packets will now flow

Definition at line 724 of file rtp_engine.h.

Referenced by ast_rtp_instance_activate().

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 728 of file rtp_engine.h.

Referenced by ast_rtp_instance_available_formats().

int(* bundle) (struct ast_rtp_instance *child, struct ast_rtp_instance *parent)

Callback to bundle an RTP instance to another

Definition at line 736 of file rtp_engine.h.

Referenced by ast_rtp_instance_bundle().

void(* change_source) (struct ast_rtp_instance *instance)

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

Definition at line 686 of file rtp_engine.h.

Referenced by ast_rtp_instance_change_source().

const char*(* cname_get) (struct ast_rtp_instance *instance)

Callback to retrieve RTCP SDES CNAME

Definition at line 734 of file rtp_engine.h.

Referenced by ast_rtp_instance_get_cname().

int(* destroy) (struct ast_rtp_instance *instance)

Callback for destroying an RTP instance

Definition at line 673 of file rtp_engine.h.

Referenced by ast_rtp_engine_register2().

struct ast_rtp_engine_dtls* dtls

Callback to pointer for optional DTLS SRTP support

Definition at line 744 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 679 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 722 of file rtp_engine.h.

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

Callback for stopping RFC2833 DTMF transmission

Definition at line 681 of file rtp_engine.h.

Referenced by ast_rtp_instance_dtmf_end().

enum ast_rtp_dtmf_mode(* dtmf_mode_get) (struct ast_rtp_instance *instance)

Callback for getting DTMF mode

Definition at line 700 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 698 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 690 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 688 of file rtp_engine.h.

Referenced by ast_rtp_instance_set_extended_prop().

int(* extension_enable) (struct ast_rtp_instance *instance, enum ast_rtp_extension extension)

Callback to enable an RTP extension (returns non-zero if supported)

Definition at line 750 of file rtp_engine.h.

Referenced by ast_rtp_instance_extmap_enable().

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

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

Definition at line 706 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 702 of file rtp_engine.h.

Referenced by ast_rtp_instance_get_stats().

struct ast_rtp_engine_ice* ice

Callback to pointer for optional ICE support

Definition at line 742 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 714 of file rtp_engine.h.

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 720 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 669 of file rtp_engine.h.

Referenced by ast_rtp_engine_register2(), and ast_rtp_instance_new().

const char* name

Name of the RTP engine, used when explicitly requested

Definition at line 667 of file rtp_engine.h.

Referenced by PathSegment::__init__(), ast_rtp_engine_register2(), ast_rtp_engine_unregister(), ast_rtp_instance_new(), and PathSegment::get_child().

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 671 of file rtp_engine.h.

Referenced by ast_rtp_engine_register2(), and ast_rtp_instance_new().

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 694 of file rtp_engine.h.

Referenced by ast_rtp_codecs_payloads_clear(), ast_rtp_codecs_payloads_set_m_type(), ast_rtp_codecs_payloads_set_rtpmap_type_rate(), ast_rtp_codecs_payloads_unset(), and ast_rtp_codecs_payloads_xover().

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

Callback for setting an RTP property

Definition at line 692 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 704 of file rtp_engine.h.

Referenced by ast_rtp_instance_set_qos().

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

Callback for reading a frame from the RTP engine

Definition at line 712 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 710 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 708 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 696 of file rtp_engine.h.

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

Callback to send CNG

Definition at line 730 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 716 of file rtp_engine.h.

Referenced by ast_rtp_instance_set_read_format(), and ast_rtp_instance_set_write_format().

void(* set_remote_ssrc) (struct ast_rtp_instance *instance, unsigned int ssrc)

Callback to set remote SSRC information

Definition at line 738 of file rtp_engine.h.

Referenced by ast_rtp_instance_set_remote_ssrc().

void(* set_stream_num) (struct ast_rtp_instance *instance, int stream_num)

Callback to set the stream identifier

Definition at line 740 of file rtp_engine.h.

Referenced by ast_rtp_instance_set_stream_num().

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

Callback to set the write format

Definition at line 718 of file rtp_engine.h.

Referenced by ast_rtp_instance_set_write_format().

unsigned int(* ssrc_get) (struct ast_rtp_instance *instance)

Callback to retrieve local SSRC

Definition at line 732 of file rtp_engine.h.

Referenced by ast_rtp_instance_get_ssrc().

void(* stop) (struct ast_rtp_instance *instance)

Callback for stopping the RTP instance

Definition at line 677 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 726 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 684 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 675 of file rtp_engine.h.

Referenced by ast_rtp_engine_register2(), ast_rtp_instance_write(), and MultiOrderedConfigParser::write().


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