Asterisk - The Open Source Telephony Project
18.5.0
|
#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_dtls * | dtls |
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_ice * | ice |
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_module * | mod |
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_test * | test |
void(* | update_source )(struct ast_rtp_instance *instance) |
int(* | write )(struct ast_rtp_instance *instance, struct ast_frame *frame) |
Structure that represents an RTP stack (engine)
Definition at line 614 of file rtp_engine.h.
AST_LIST_ENTRY | ( | ast_rtp_engine | ) |
Linked list information
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().
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().
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().
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().
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().
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().
struct ast_rtp_engine_dtls* dtls |
Callback to pointer for optional DTLS SRTP support
Definition at line 693 of file rtp_engine.h.
Referenced by ast_rtp_instance_get_dtls(), rtp_dtls_wrap_active(), rtp_dtls_wrap_get_connection(), rtp_dtls_wrap_get_fingerprint(), rtp_dtls_wrap_get_fingerprint_hash(), rtp_dtls_wrap_get_setup(), rtp_dtls_wrap_reset(), rtp_dtls_wrap_set_configuration(), rtp_dtls_wrap_set_fingerprint(), rtp_dtls_wrap_set_setup(), and rtp_dtls_wrap_stop().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
struct ast_rtp_engine_ice* ice |
Callback to pointer for optional ICE support
Definition at line 691 of file rtp_engine.h.
Referenced by ast_rtp_instance_get_ice(), rtp_ice_wrap_add_remote_candidate(), rtp_ice_wrap_change_components(), rtp_ice_wrap_get_local_candidates(), rtp_ice_wrap_get_password(), rtp_ice_wrap_get_ufrag(), rtp_ice_wrap_ice_lite(), rtp_ice_wrap_set_authentication(), rtp_ice_wrap_set_role(), rtp_ice_wrap_start(), rtp_ice_wrap_stop(), and rtp_ice_wrap_turn_request().
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().
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().
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().
const char* name |
Name of the RTP engine, used when explicitly requested
Definition at line 616 of file rtp_engine.h.
Referenced by ast_rtp_engine_register2(), ast_rtp_engine_unregister(), ast_rtp_instance_new(), AST_TEST_DEFINE(), PathSegment::get_child(), Parameter::load(), SwaggerType::load(), and Property::load().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
struct ast_rtp_engine_test* 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().
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().
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().