Asterisk - The Open Source Telephony Project GIT-master-85241bd
Data Fields
ast_sip_session Struct Reference

A structure describing a SIP session. More...

#include <res_pjsip_session.h>

Collaboration diagram for ast_sip_session:
Collaboration graph
[legend]

Data Fields

struct ast_sip_session_media_stateactive_media_state
 
int ani2
 
struct ast_sip_aoraor
 
unsigned int authentication_challenge_count:4
 
enum ast_sip_session_call_direction call_direction
 
struct ast_channelchannel
 
struct ast_sip_contactcontact
 
struct ao2_containerdatastores
 
unsigned int defer_end:1
 
unsigned int defer_terminate:1
 
pjsip_rx_data * deferred_reinvite
 
struct {
   struct ast_sip_session_delayed_request *   first
 
   struct ast_sip_session_delayed_request *   last
 
delayed_requests
 
struct ast_format_capdirect_media_cap
 
struct ast_dspdsp
 
enum ast_sip_dtmf_mode dtmf
 
unsigned int early_confirmed:1
 
unsigned int ended_while_deferred:1
 
struct ast_sip_endpointendpoint
 
char exten [AST_MAX_EXTENSION]
 
struct ast_party_id id
 
struct pjsip_inv_session * inv_session
 
struct {
   size_t   current
 
   struct ast_rtp_instance_stats **   elems
 
   size_t   max
 
media_stats
 
unsigned int moh_passthrough:1
 
struct ast_sip_session_media_statepending_media_state
 
pjsip_uri * request_uri
 
pj_timer_entry rescheduled_reinvite
 
pjsip_fromto_hdr * saved_from_hdr
 
pj_timer_entry scheduled_termination
 
struct ast_taskprocessorserializer
 
struct {
   struct ast_sip_session_supplement *   first
 
   struct ast_sip_session_supplement *   last
 
   ast_mutex_t   lock
 
supplements
 
struct ast_sip_session_suspendersuspended
 
enum ast_sip_session_t38state t38state
 
unsigned int terminate_while_deferred:1
 

Detailed Description

A structure describing a SIP session.

For the sake of brevity, a "SIP session" in Asterisk is referring to a dialog initiated by an INVITE. While "session" is typically interpreted to refer to the negotiated media within a SIP dialog, we have opted to use the term "SIP session" to refer to the INVITE dialog itself.

Definition at line 181 of file res_pjsip_session.h.

Field Documentation

◆ active_media_state

struct ast_sip_session_media_state* active_media_state

Active media state (sessions + streams) - contents are guaranteed not to change

Definition at line 211 of file res_pjsip_session.h.

Referenced by chan_pjsip_digit_begin(), chan_pjsip_digit_end(), chan_pjsip_get_rtp_peer(), chan_pjsip_get_vrtp_peer(), chan_pjsip_indicate(), chan_pjsip_write_stream(), hangup(), and pjsip_acf_dtmf_mode_write().

◆ ani2

int ani2

Originating Line Info (ANI II digits)

Definition at line 247 of file res_pjsip_session.h.

◆ aor

struct ast_sip_aor* aor

The AOR associated with this session

Definition at line 225 of file res_pjsip_session.h.

◆ authentication_challenge_count

unsigned int authentication_challenge_count

Number of challenges received during outgoing requests to determine if we are in a loop

Definition at line 243 of file res_pjsip_session.h.

◆ call_direction

enum ast_sip_session_call_direction call_direction

The direction of the call respective to Asterisk

Definition at line 245 of file res_pjsip_session.h.

◆ channel

struct ast_channel* channel

◆ contact

struct ast_sip_contact* contact

The contact associated with this session

Definition at line 187 of file res_pjsip_session.h.

Referenced by ast_sip_session_alloc(), and ast_sip_session_create_outgoing().

◆ current

size_t current

Definition at line 241 of file res_pjsip_session.h.

◆ datastores

struct ao2_container* datastores

Datastores added to the session by supplements to the session

Definition at line 195 of file res_pjsip_session.h.

◆ defer_end

unsigned int defer_end

Whether the end of the session should be deferred

Definition at line 229 of file res_pjsip_session.h.

◆ defer_terminate

unsigned int defer_terminate

Whether the termination of the session should be deferred

Definition at line 217 of file res_pjsip_session.h.

◆ deferred_reinvite

pjsip_rx_data* deferred_reinvite

Deferred incoming re-invite

Definition at line 221 of file res_pjsip_session.h.

◆ 

struct { ... } delayed_requests

Requests that could not be sent due to current inv_session state

◆ direct_media_cap

struct ast_format_cap* direct_media_cap

Format capabilities pertaining to direct media

Definition at line 205 of file res_pjsip_session.h.

◆ dsp

struct ast_dsp* dsp

Optional DSP, used only for inband DTMF/Fax-CNG detection if configured

Definition at line 215 of file res_pjsip_session.h.

Referenced by pjsip_acf_dtmf_mode_write().

◆ dtmf

enum ast_sip_dtmf_mode dtmf

DTMF mode to use with this session, from endpoint but can change

Definition at line 237 of file res_pjsip_session.h.

Referenced by chan_pjsip_digit_begin(), chan_pjsip_digit_end(), pjsip_acf_dtmf_mode_read(), and pjsip_acf_dtmf_mode_write().

◆ early_confirmed

unsigned int early_confirmed

Whether early media state has been confirmed through PRACK

Definition at line 235 of file res_pjsip_session.h.

◆ elems

struct ast_rtp_instance_stats* * elems

Definition at line 241 of file res_pjsip_session.h.

◆ ended_while_deferred

unsigned int ended_while_deferred

Session end (remote hangup) requested while termination deferred

Definition at line 231 of file res_pjsip_session.h.

◆ endpoint

struct ast_sip_endpoint* endpoint

◆ exten

char exten[AST_MAX_EXTENSION]

Dialplan extension where incoming call is destined

Definition at line 183 of file res_pjsip_session.h.

Referenced by new_invite(), and session_inv_on_redirected().

◆ first [1/2]

Definition at line 193 of file res_pjsip_session.h.

◆ first [2/2]

Definition at line 201 of file res_pjsip_session.h.

◆ id

struct ast_party_id id

Identity of endpoint this session deals with

Definition at line 209 of file res_pjsip_session.h.

Referenced by Section::__cmp__(), Section::__eq__(), Section::__ge__(), Section::__gt__(), Section::__le__(), Section::__lt__(), and Model::load().

◆ inv_session

struct pjsip_inv_session* inv_session

◆ last [1/2]

Definition at line 193 of file res_pjsip_session.h.

◆ last [2/2]

Definition at line 201 of file res_pjsip_session.h.

◆ lock

Definition at line 193 of file res_pjsip_session.h.

◆ max

size_t max

Definition at line 241 of file res_pjsip_session.h.

◆ 

struct { ... } media_stats

Media statistics for negotiated RTP streams

Referenced by ast_sip_session_media_stats_save().

◆ moh_passthrough

unsigned int moh_passthrough

Whether to pass through hold and unhold using re-invites with recvonly and sendrecv

Definition at line 233 of file res_pjsip_session.h.

Referenced by chan_pjsip_indicate(), pjsip_acf_moh_passthrough_read(), and pjsip_acf_moh_passthrough_write().

◆ pending_media_state

struct ast_sip_session_media_state* pending_media_state

Pending media state (sessions + streams)

Definition at line 213 of file res_pjsip_session.h.

Referenced by chan_pjsip_call(), and media_offer_write_av().

◆ request_uri

pjsip_uri* request_uri

Initial incoming INVITE Request-URI. NULL otherwise.

Definition at line 239 of file res_pjsip_session.h.

Referenced by channel_read_pjsip().

◆ rescheduled_reinvite

pj_timer_entry rescheduled_reinvite

When we need to reschedule a reinvite, we use this structure to do it

Definition at line 203 of file res_pjsip_session.h.

◆ saved_from_hdr

pjsip_fromto_hdr* saved_from_hdr

From header saved at invite creation

Definition at line 227 of file res_pjsip_session.h.

◆ scheduled_termination

pj_timer_entry scheduled_termination

When we need to forcefully end the session

Definition at line 207 of file res_pjsip_session.h.

◆ serializer

◆ 

struct { ... } supplements

Registered session supplements

◆ suspended

struct ast_sip_session_suspender* suspended

Non-null if the session serializer is suspended or being suspended.

Definition at line 199 of file res_pjsip_session.h.

◆ t38state

enum ast_sip_session_t38state t38state

Current T.38 state

Definition at line 223 of file res_pjsip_session.h.

Referenced by chan_pjsip_indicate(), chan_pjsip_queryoption(), and channel_read_pjsip().

◆ terminate_while_deferred

unsigned int terminate_while_deferred

Termination requested while termination deferred

Definition at line 219 of file res_pjsip_session.h.


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