Asterisk - The Open Source Telephony Project  21.4.1
Data Fields
ast_rtp Struct Reference

RTP session description. More...

Data Fields

unsigned int asymmetric_codec
 
struct ast_sockaddr bind_address
 
struct ast_rtp_instancebundled
 
char cname [AST_UUID_STR_LEN]
 
ast_cond_t cond
 
unsigned int cycles
 
unsigned int dtmf_duration
 
unsigned int dtmf_samplerate_ms
 
unsigned int dtmf_timeout
 
enum ast_rtp_dtmf_mode dtmfmode
 
struct timeval dtmfmute
 
unsigned int dtmfsamples
 
int expectedrxseqno
 
int expectedseqno
 
struct ast_frame f
 
unsigned int flags
 
struct ice_wrapice
 
struct ao2_containerice_active_remote_candidates
 
struct ao2_containerice_local_candidates
 
unsigned int ice_media_started:1
 
unsigned int ice_num_components
 
struct ast_sockaddr ice_original_rtp_addr
 
unsigned int ice_port
 
struct ao2_containerice_proposed_remote_candidates
 
struct ast_rtp_ioqueue_threadioqueue
 
optional_ts last_end_timestamp
 
unsigned int last_seqno
 
unsigned int last_transit_time_samples
 
unsigned int lastdigitts
 
unsigned int lastitexttimestamp
 
unsigned int lastividtimestamp
 
unsigned int lastotexttimestamp
 
unsigned int lastovidtimestamp
 
struct ast_formatlastrxformat
 
int lastrxseqno
 
unsigned int lastts
 
struct ast_formatlasttxformat
 
char local_passwd [256]
 
char local_ufrag [256]
 
struct {
   size_t   current
 
   int *   elems
 
   size_t   max
 
missing_seqno
 
struct ast_rtp_instanceowner
 The RTP instance owning us (used for debugging purposes) We don't hold a reference to the instance because it created us in the first place. It can't go away.
 
unsigned int passthrough:1
 
int prevrxseqno
 
unsigned char rawdata [8192+AST_FRIENDLY_OFFSET]
 
struct ast_data_bufferrecv_buffer
 
struct rtp_redred
 
char remote_passwd [256]
 
unsigned int remote_seed_rx_rtp_ts
 
unsigned int remote_seed_rx_rtp_ts_stable
 
char remote_ufrag [256]
 
char resp
 
enum ast_rtp_ice_role role
 
struct ast_rtcprtcp
 
struct ast_sockaddr rtcp_loop
 
unsigned int rtcp_passthrough:1
 
struct ast_sockaddr rtp_loop
 
unsigned int rtp_passthrough:1
 
struct rtp_learning_info rtp_source_learn
 
struct timeval rxcore
 
unsigned int rxcount
 
double rxjitter
 
double rxjitter_samples
 
double rxmes
 
unsigned int rxoctetcount
 
double rxstart
 
double rxstart_stable
 
int s
 
struct ast_sched_contextsched
 
unsigned short seedrxseqno
 
struct ast_data_buffersend_buffer
 
char send_digit
 
int send_duration
 
int send_payload
 
char sending_digit
 
unsigned short seqno
 
struct ast_smoothersmoother
 
unsigned int ssrc
 
struct {
   size_t   current
 
   struct rtp_ssrc_mapping *   elems
 
   size_t   max
 
ssrc_mapping
 
unsigned int ssrc_orig
 
unsigned char ssrc_saved
 
int stream_num
 
struct ast_sockaddr strict_rtp_address
 
enum strict_rtp_state strict_rtp_state
 
unsigned int themssrc
 
unsigned int themssrc_valid
 
struct rtp_transport_wide_cc_statistics transport_wide_cc
 
pj_turn_sock * turn_rtcp
 
pj_turn_sock * turn_rtp
 
pj_turn_state_t turn_state
 
struct timeval txcore
 
unsigned int txcount
 
unsigned int txoctetcount
 

Detailed Description

RTP session description.

Definition at line 386 of file res_rtp_asterisk.c.

Field Documentation

unsigned int asymmetric_codec

Indicate if asymmetric send/receive codecs are allowed

Definition at line 452 of file res_rtp_asterisk.c.

Referenced by ast_rtp_prop_set(), and bridge_p2p_rtp_write().

struct ast_sockaddr bind_address

Requested bind address for the sockets

Definition at line 463 of file res_rtp_asterisk.c.

Referenced by ast_rtp_new().

struct ast_rtp_instance* bundled

The RTP instance we are bundled to

Definition at line 454 of file res_rtp_asterisk.c.

Referenced by __rtp_sendto(), ast_rtcp_write(), ast_rtp_bundle(), ast_rtp_destroy(), and ast_rtp_set_remote_ssrc().

char cname[AST_UUID_STR_LEN]

Our local CNAME

Definition at line 394 of file res_rtp_asterisk.c.

Referenced by ast_rtp_get_cname(), and ast_rtp_new().

ast_cond_t cond

ICE/TURN condition for signaling

Definition at line 482 of file res_rtp_asterisk.c.

Referenced by ast_rtp_ice_turn_request(), and ice_reset_session().

unsigned int cycles

Shifted count of sequence number cycles

Definition at line 412 of file res_rtp_asterisk.c.

unsigned int dtmf_duration

Total duration in samples since the digit start event

Definition at line 432 of file res_rtp_asterisk.c.

unsigned int dtmf_samplerate_ms

The sample rate of the current RTP stream in ms (sample rate / 1000)

Definition at line 436 of file res_rtp_asterisk.c.

Referenced by ast_rtp_dtmf_begin(), ast_rtp_dtmf_continuation(), and ast_rtp_dtmf_end_with_duration().

unsigned int dtmf_timeout

When this timestamp is reached we consider END frame lost and forcibly abort digit

Definition at line 433 of file res_rtp_asterisk.c.

enum ast_rtp_dtmf_mode dtmfmode

The current DTMF mode of the RTP stream

Definition at line 435 of file res_rtp_asterisk.c.

Referenced by ast_rtp_dtmf_mode_get(), and ast_rtp_dtmf_mode_set().

int expectedrxseqno

Next expected sequence number, from the network

Definition at line 404 of file res_rtp_asterisk.c.

Referenced by ast_rtp_change_source(), ast_rtp_new(), and ast_rtp_read().

int expectedseqno

Next expected sequence number, from the core

Definition at line 406 of file res_rtp_asterisk.c.

Referenced by ast_rtp_dtmf_end_with_duration(), ast_rtp_new(), and rtp_raw_write().

struct ast_frame f
Note
The f.subclass.format holds a ref.

Definition at line 389 of file res_rtp_asterisk.c.

Referenced by ast_rtcp_interpret(), ast_rtcp_read(), ast_rtp_destroy(), ast_rtp_dtmf_end_with_duration(), ast_rtp_new(), and ast_rtp_read().

struct ice_wrap* ice
struct ao2_container* ice_active_remote_candidates

The remote ICE candidates

Definition at line 505 of file res_rtp_asterisk.c.

Referenced by __rtp_recvfrom(), and ast_rtp_ice_start().

struct ao2_container* ice_local_candidates

The local ICE candidates

Definition at line 504 of file res_rtp_asterisk.c.

Referenced by ast_rtp_ice_add_cand(), ast_rtp_ice_get_local_candidates(), and rtp_add_candidates_to_ice().

unsigned int ice_media_started

ICE media has started, either on a valid pair or on ICE completion

Definition at line 509 of file res_rtp_asterisk.c.

Referenced by __rtp_recvfrom(), and ice_reset_session().

unsigned int ice_num_components

The number of ICE components

Definition at line 508 of file res_rtp_asterisk.c.

Referenced by ast_rtp_ice_change_components(), ast_rtp_ice_start(), and ice_reset_session().

struct ast_sockaddr ice_original_rtp_addr

rtp address that ICE started on first session

Definition at line 507 of file res_rtp_asterisk.c.

Referenced by ice_reset_session().

unsigned int ice_port

Port that ICE was started with if it was previously started

Definition at line 492 of file res_rtp_asterisk.c.

Referenced by ice_reset_session().

struct ao2_container* ice_proposed_remote_candidates

Incoming remote ICE candidates for new session

Definition at line 506 of file res_rtp_asterisk.c.

Referenced by __rtp_recvfrom(), ast_rtp_ice_add_remote_candidate(), and ast_rtp_ice_start().

struct ast_rtp_ioqueue_thread* ioqueue

The ioqueue thread handling us

Definition at line 496 of file res_rtp_asterisk.c.

Referenced by ast_rtp_ice_turn_request().

optional_ts last_end_timestamp

The last known timestamp received from an END packet

Definition at line 431 of file res_rtp_asterisk.c.

Referenced by ast_rtp_remote_address_set(), and bridge_p2p_rtp_write().

unsigned int last_seqno

The last known sequence number for any DTMF packet

Definition at line 430 of file res_rtp_asterisk.c.

Referenced by ast_rtp_remote_address_set().

unsigned int last_transit_time_samples

The last transit time in samples

Definition at line 423 of file res_rtp_asterisk.c.

int lastrxseqno

Last received sequence number, from the network

Definition at line 403 of file res_rtp_asterisk.c.

Referenced by ast_rtp_read(), and rtp_learning_start().

char local_passwd[256]

The local ICE password

Definition at line 502 of file res_rtp_asterisk.c.

Referenced by ast_rtp_ice_get_password(), and ast_rtp_ice_set_authentication().

char local_ufrag[256]

The local ICE username

Definition at line 501 of file res_rtp_asterisk.c.

Referenced by ast_rtp_ice_get_ufrag(), and ast_rtp_ice_set_authentication().

struct { ... } missing_seqno

A vector of sequence numbers we never received

Referenced by ast_rtp_destroy(), ast_rtp_prop_set(), and ast_rtp_read().

unsigned int passthrough

Bit to indicate that the received packet should be passed through

Definition at line 489 of file res_rtp_asterisk.c.

Referenced by __rtp_recvfrom().

int prevrxseqno

Previous received packeted sequence number, from the network

Definition at line 402 of file res_rtp_asterisk.c.

Referenced by ast_rtp_read().

struct ast_data_buffer* recv_buffer

Buffer for storing received packets for retransmission

Definition at line 477 of file res_rtp_asterisk.c.

Referenced by ast_rtp_destroy(), ast_rtp_prop_set(), and ast_rtp_read().

char remote_passwd[256]

The remote ICE password

Definition at line 499 of file res_rtp_asterisk.c.

Referenced by ast_rtp_ice_set_authentication(), and ast_rtp_ice_start().

unsigned int remote_seed_rx_rtp_ts

RTP timestamp of first RX packet.

Definition at line 421 of file res_rtp_asterisk.c.

unsigned int remote_seed_rx_rtp_ts_stable

RTP timestamp of first packet after RTP_IGNORE_FIRST_PACKETS_COUNT

Definition at line 422 of file res_rtp_asterisk.c.

char remote_ufrag[256]

The remote ICE username

Definition at line 498 of file res_rtp_asterisk.c.

Referenced by ast_rtp_ice_set_authentication(), and ast_rtp_ice_start().

char resp

The current digit being processed

Definition at line 429 of file res_rtp_asterisk.c.

enum ast_rtp_ice_role role

Our role in ICE negotiation

Definition at line 485 of file res_rtp_asterisk.c.

Referenced by ast_rtp_ice_set_role(), ast_rtp_ice_start(), and ice_reset_session().

struct ast_sockaddr rtcp_loop

Loopback address for forwarding RTCP from TURN

Definition at line 494 of file res_rtp_asterisk.c.

Referenced by __rtp_recvfrom(), and ast_rtp_ice_turn_request().

unsigned int rtcp_passthrough

Bit to indicate that TURN RTCP should be passed through

Definition at line 491 of file res_rtp_asterisk.c.

struct ast_sockaddr rtp_loop

Loopback address for forwarding RTP from TURN

Definition at line 493 of file res_rtp_asterisk.c.

Referenced by __rtp_recvfrom(), and ast_rtp_ice_turn_request().

unsigned int rtp_passthrough

Bit to indicate that TURN RTP should be passed through

Definition at line 490 of file res_rtp_asterisk.c.

unsigned int rxcount

How many packets have we received?

Definition at line 408 of file res_rtp_asterisk.c.

Referenced by ast_rtp_get_stat().

double rxjitter

Last calculated Interarrival jitter in seconds.

Definition at line 424 of file res_rtp_asterisk.c.

Referenced by ast_rtp_get_stat().

double rxjitter_samples

Last calculated Interarrival jitter in samples.

Definition at line 425 of file res_rtp_asterisk.c.

double rxmes

Media Experince Score at the moment to be reported

Definition at line 426 of file res_rtp_asterisk.c.

Referenced by ast_rtp_get_stat().

unsigned int rxoctetcount

How many octets have we received? should be rxcount *160

Definition at line 409 of file res_rtp_asterisk.c.

Referenced by ast_rtp_get_stat().

double rxstart

RX time of the first packet in the session in seconds since EPOCH.

Definition at line 419 of file res_rtp_asterisk.c.

Referenced by ast_rtp_new().

double rxstart_stable

RX time of the first packet after RTP_IGNORE_FIRST_PACKETS_COUNT

Definition at line 420 of file res_rtp_asterisk.c.

unsigned short seedrxseqno

What sequence number did they start with?

Definition at line 407 of file res_rtp_asterisk.c.

struct ast_data_buffer* send_buffer

Buffer for storing sent packets for retransmission

Definition at line 476 of file res_rtp_asterisk.c.

Referenced by ast_rtcp_interpret(), ast_rtp_destroy(), ast_rtp_prop_set(), ast_rtp_rtcp_handle_nack(), and rtp_raw_write().

char send_digit

digit we are sending

Definition at line 440 of file res_rtp_asterisk.c.

Referenced by ast_rtp_dtmf_begin(), ast_rtp_dtmf_continuation(), and ast_rtp_dtmf_end_with_duration().

char sending_digit

boolean - are we sending digits

Definition at line 439 of file res_rtp_asterisk.c.

Referenced by ast_rtp_dtmf_begin(), ast_rtp_dtmf_end_with_duration(), bridge_p2p_rtp_write(), and rtp_raw_write().

unsigned short seqno

Sequence number, RFC 3550, page 13.

Definition at line 449 of file res_rtp_asterisk.c.

Referenced by ast_rtp_dtmf_begin(), ast_rtp_dtmf_continuation(), ast_rtp_dtmf_end_with_duration(), ast_rtp_new(), ast_rtp_sendcng(), and rtp_raw_write().

unsigned int ssrc
struct { ... } ssrc_mapping
unsigned int ssrc_orig

SSRC used before native bridge activated

Definition at line 392 of file res_rtp_asterisk.c.

Referenced by ast_rtp_local_bridge().

unsigned char ssrc_saved

indicates if ssrc_orig has a value

Definition at line 393 of file res_rtp_asterisk.c.

Referenced by ast_rtp_local_bridge().

int stream_num

Stream num for this RTP instance

Definition at line 461 of file res_rtp_asterisk.c.

Referenced by ast_rtcp_interpret(), and ast_rtp_new().

struct ast_sockaddr strict_rtp_address

Remote address information for strict RTP purposes

Definition at line 466 of file res_rtp_asterisk.c.

Referenced by ast_rtp_read(), and ast_rtp_remote_address_set().

Current state that strict RTP protection is in

Definition at line 465 of file res_rtp_asterisk.c.

Referenced by ast_rtcp_interpret(), ast_rtp_ice_start(), ast_rtp_read(), ast_rtp_remote_address_set(), and rtp_learning_start().

unsigned int themssrc
unsigned int themssrc_valid

True if their SSRC is available.

Definition at line 396 of file res_rtp_asterisk.c.

Referenced by __rtp_find_instance_by_ssrc(), ast_rtcp_interpret(), ast_rtcp_write(), ast_rtp_bundle(), ast_rtp_read(), and ast_rtp_set_remote_ssrc().

struct rtp_transport_wide_cc_statistics transport_wide_cc

Transport-cc statistics information

Definition at line 479 of file res_rtp_asterisk.c.

Referenced by ast_rtp_destroy(), ast_rtp_new(), ast_rtp_prop_set(), and ast_rtp_stop().

pj_turn_sock* turn_rtcp

RTCP TURN relay

Definition at line 487 of file res_rtp_asterisk.c.

Referenced by ast_rtp_ice_start(), ast_rtp_ice_turn_request(), and ice_reset_session().

pj_turn_sock* turn_rtp

RTP TURN relay

Definition at line 486 of file res_rtp_asterisk.c.

Referenced by ast_rtp_ice_start(), and ast_rtp_ice_turn_request().

pj_turn_state_t turn_state

Current state of the TURN relay session

Definition at line 488 of file res_rtp_asterisk.c.

Referenced by ast_rtp_ice_turn_request(), and ice_reset_session().

unsigned int txcount

How many packets have we sent?

Definition at line 410 of file res_rtp_asterisk.c.

Referenced by ast_rtp_get_stat(), and rtp_sendto().

unsigned int txoctetcount

How many octets have we sent? (txcount*160)

Definition at line 411 of file res_rtp_asterisk.c.

Referenced by ast_rtp_get_stat(), and rtp_sendto().


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