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

#include <rtp_engine.h>

Collaboration diagram for ast_rtp_engine:
Collaboration graph
[legend]

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)
 
struct ast_rtp_engine_testtest
 
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 614 of file rtp_engine.h.

Member Function Documentation

◆ AST_LIST_ENTRY()

AST_LIST_ENTRY ( ast_rtp_engine  )

Linked list information

Field Documentation

◆ activate

int(* activate) (struct ast_rtp_instance *instance)

Callback to indicate that packets will now flow

Definition at line 673 of file rtp_engine.h.

Referenced by ast_rtp_instance_activate().

◆ available_formats

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

Referenced by ast_rtp_instance_available_formats().

◆ bundle

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

Callback to bundle an RTP instance to another

Definition at line 685 of file rtp_engine.h.

Referenced by ast_rtp_instance_bundle().

◆ change_source

void(* change_source) (struct ast_rtp_instance *instance)

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

Definition at line 635 of file rtp_engine.h.

Referenced by ast_rtp_instance_change_source().

◆ cname_get

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

Callback to retrieve RTCP SDES CNAME

Definition at line 683 of file rtp_engine.h.

Referenced by ast_rtp_instance_get_cname().

◆ destroy

int(* destroy) (struct ast_rtp_instance *instance)

Callback for destroying an RTP instance

Definition at line 622 of file rtp_engine.h.

Referenced by ast_rtp_engine_register2(), and instance_destructor().

◆ dtls

struct ast_rtp_engine_dtls* dtls

◆ dtmf_begin

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

Callback for starting RFC2833 DTMF transmission

Definition at line 628 of file rtp_engine.h.

Referenced by ast_rtp_instance_dtmf_begin().

◆ dtmf_compatible

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

Referenced by native_rtp_bridge_compatible_check().

◆ dtmf_end

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

Callback for stopping RFC2833 DTMF transmission

Definition at line 630 of file rtp_engine.h.

Referenced by ast_rtp_instance_dtmf_end().

◆ dtmf_end_with_duration

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

Definition at line 631 of file rtp_engine.h.

Referenced by ast_rtp_instance_dtmf_end_with_duration().

◆ dtmf_mode_get

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

Callback for getting DTMF mode

Definition at line 649 of file rtp_engine.h.

Referenced by ast_rtp_instance_dtmf_mode_get().

◆ dtmf_mode_set

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

Callback for changing DTMF mode

Definition at line 647 of file rtp_engine.h.

Referenced by ast_rtp_instance_dtmf_mode_set().

◆ extended_prop_get

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

Callback for getting an extended RTP property

Definition at line 639 of file rtp_engine.h.

Referenced by ast_rtp_instance_get_extended_prop().

◆ extended_prop_set

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

Callback for setting an extended RTP property

Definition at line 637 of file rtp_engine.h.

Referenced by ast_rtp_instance_set_extended_prop().

◆ extension_enable

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

Referenced by ast_rtp_instance_extmap_enable().

◆ fd

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

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

Definition at line 655 of file rtp_engine.h.

Referenced by ast_rtp_instance_fd().

◆ get_stat

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

Referenced by ast_rtp_instance_get_stats().

◆ ice

struct ast_rtp_engine_ice* ice

◆ local_bridge

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

Callback to locally bridge two RTP instances

Definition at line 663 of file rtp_engine.h.

Referenced by native_rtp_bridge_compatible_check(), native_rtp_bridge_start(), and native_rtp_bridge_stop().

◆ make_compatible

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

Referenced by ast_rtp_instance_make_compatible().

◆ mod

struct ast_module* mod

Module this RTP engine came from, used for reference counting

Definition at line 618 of file rtp_engine.h.

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

◆ name

const char* name

◆ new

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

Referenced by ast_rtp_engine_register2(), and ast_rtp_instance_new().

◆ payload_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 643 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(), ast_rtp_codecs_payloads_xover(), rtp_codecs_payloads_copy_rx(), and rtp_codecs_payloads_copy_tx().

◆ prop_set

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

Callback for setting an RTP property

Definition at line 641 of file rtp_engine.h.

Referenced by ast_rtp_instance_set_prop().

◆ qos

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

Callback for setting QoS values

Definition at line 653 of file rtp_engine.h.

Referenced by ast_rtp_instance_set_qos().

◆ read

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

Callback for reading a frame from the RTP engine

Definition at line 661 of file rtp_engine.h.

Referenced by ast_rtp_engine_register2(), and ast_rtp_instance_read().

◆ red_buffer

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

Callback for buffering a frame using RED

Definition at line 659 of file rtp_engine.h.

Referenced by ast_rtp_red_buffer().

◆ red_init

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

Callback for initializing RED support

Definition at line 657 of file rtp_engine.h.

Referenced by ast_rtp_red_init().

◆ remote_address_set

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

Referenced by rtp_instance_set_incoming_source_address_nolock().

◆ sendcng

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

Callback to send CNG

Definition at line 679 of file rtp_engine.h.

Referenced by ast_rtp_instance_sendcng().

◆ set_read_format

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

Callback to set the read format

Definition at line 665 of file rtp_engine.h.

Referenced by ast_rtp_instance_set_read_format(), and ast_rtp_instance_set_write_format().

◆ set_remote_ssrc

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

Callback to set remote SSRC information

Definition at line 687 of file rtp_engine.h.

Referenced by ast_rtp_instance_set_remote_ssrc().

◆ set_stream_num

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

Callback to set the stream identifier

Definition at line 689 of file rtp_engine.h.

Referenced by ast_rtp_instance_set_stream_num().

◆ set_write_format

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

Callback to set the write format

Definition at line 667 of file rtp_engine.h.

Referenced by ast_rtp_instance_set_write_format().

◆ ssrc_get

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

Callback to retrieve local SSRC

Definition at line 681 of file rtp_engine.h.

Referenced by ast_rtp_instance_get_ssrc().

◆ stop

void(* stop) (struct ast_rtp_instance *instance)

Callback for stopping the RTP instance

Definition at line 626 of file rtp_engine.h.

Referenced by ast_rtp_instance_stop().

◆ stun_request

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

Referenced by ast_rtp_instance_stun_request().

◆ test

Callback to pointer for test callbacks for RTP/RTCP unit tests

Definition at line 696 of file rtp_engine.h.

Referenced by ast_rtp_instance_get_test().

◆ update_source

void(* update_source) (struct ast_rtp_instance *instance)

Callback to indicate that we should update the marker bit

Definition at line 633 of file rtp_engine.h.

Referenced by ast_rtp_instance_update_source().

◆ write

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

Callback for writing out a frame

Definition at line 624 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: