Asterisk - The Open Source Telephony Project
18.5.0
|
A structure describing a SIP session. More...
#include <res_pjsip_session.h>
Public Member Functions | |
AST_VECTOR (, struct ast_rtp_instance_stats *) media_stats | |
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 179 of file res_pjsip_session.h.
AST_VECTOR | ( | struct ast_rtp_instance_stats * | ) |
Media statistics for negotiated RTP streams
struct ast_sip_session_media_state* active_media_state |
Active media state (sessions + streams) - contents are guaranteed not to change
Definition at line 209 of file res_pjsip_session.h.
Referenced by ast_sip_session_alloc(), ast_sip_session_media_state_add(), ast_sip_session_terminate(), chan_pjsip_digit_begin(), chan_pjsip_digit_end(), chan_pjsip_get_rtp_peer(), chan_pjsip_get_vrtp_peer(), chan_pjsip_indicate(), chan_pjsip_read_stream(), chan_pjsip_write_stream(), channel_read_rtcp(), channel_read_rtp(), cli_channelstats_print_body(), create_local_sdp(), handle_incoming_sdp(), handle_negotiated_sdp(), is_compatible_format(), on_topology_change_response(), pjsip_acf_dtmf_mode_write(), process_ssrc_attributes(), remote_send_hold_refresh(), reschedule_reinvite(), rtp_find_rtcp_fd_position(), sdp_requires_deferral(), send_direct_media_request(), session_destructor(), session_on_tsx_state(), set_channel_on_rtp_instance(), sip_session_refresh(), t38_reinvite_response_cb(), and t38_reinvite_sdp_cb().
int ani2 |
Originating Line Info (ANI II digits)
Definition at line 243 of file res_pjsip_session.h.
Referenced by caller_id_incoming_request().
struct ast_sip_aor* aor |
The AOR associated with this session
Definition at line 223 of file res_pjsip_session.h.
Referenced by ast_sip_session_create_outgoing(), read_pjsip(), and session_destructor().
unsigned int authentication_challenge_count |
Number of challenges received during outgoing requests to determine if we are in a loop
Definition at line 239 of file res_pjsip_session.h.
Referenced by ast_sip_session_alloc(), outbound_invite_auth(), and session_inv_on_tsx_state_changed().
enum ast_sip_session_call_direction call_direction |
The direction of the call respective to Asterisk
Definition at line 241 of file res_pjsip_session.h.
Referenced by ast_sip_session_create_joint_call_cap(), ast_sip_session_create_joint_call_stream(), ast_sip_session_create_outgoing(), handle_new_invite_request(), and log_caps().
struct ast_channel* channel |
The Asterisk channel associated with the session
Definition at line 189 of file res_pjsip_session.h.
Referenced by __print_debug_details(), answer(), apply_negotiated_sdp_stream(), ast_sip_session_get_name(), ast_sip_session_is_pending_stream_default(), ast_sip_session_regenerate_answer(), ast_sip_session_resume_reinvite(), call(), call_pickup_incoming_request(), caller_id_incoming_request(), caller_id_incoming_response(), caller_id_outgoing_request(), caller_id_outgoing_response(), chan_pjsip_answer(), chan_pjsip_fixup(), chan_pjsip_hangup(), chan_pjsip_incoming_ack(), chan_pjsip_incoming_request(), chan_pjsip_incoming_response(), chan_pjsip_incoming_response_update_cause(), chan_pjsip_request_with_stream_topology(), chan_pjsip_session_end(), clear_session_and_channel(), defer_incoming_sdp_stream(), dtmf_info_incoming_request(), dtmf_mode_refresh_cb(), get_redirecting_add_diversion(), handle_incoming_request(), handle_negotiated_sdp(), incoming_in_dialog_request(), invite_replaces(), is_colp_update_allowed(), log_caps(), on_topology_change_response(), pbx_start_incoming_request(), queue_connected_line_update(), read_pjsip(), refer_attended_alloc(), refer_attended_task(), refer_incoming_attended_request(), refer_incoming_blind_request(), refer_incoming_invite_request(), refer_incoming_refer_request(), refer_outgoing_request(), refer_progress_alloc(), rfc3326_add_reason_header(), rfc3326_incoming_request(), rfc3326_incoming_response(), rfc3326_outgoing_request(), rfc3326_outgoing_response(), rfc3326_use_reason_header(), session_inv_on_create_offer(), session_inv_on_media_update(), session_inv_on_redirected(), session_inv_on_tsx_state_changed(), session_reinvite_on_rx_request(), set_caps(), set_from_header(), set_redirecting(), set_sipdomain_variable(), sip_session_response_cb(), stir_shaken_incoming_request(), t38_attach_framehook(), t38_change_state(), t38_initialize_session(), t38_reinvite_response_cb(), transfer(), transfer_redirect(), transfer_refer(), update_connected_line_information(), update_initial_connected_line(), and video_info_incoming_request().
struct ast_sip_contact* contact |
The contact associated with this session
Definition at line 185 of file res_pjsip_session.h.
Referenced by ast_sip_session_alloc(), path_session_outgoing_request(), path_session_outgoing_response(), read_pjsip(), and session_destructor().
struct ao2_container* datastores |
Datastores added to the session by supplements to the session
Definition at line 193 of file res_pjsip_session.h.
Referenced by ast_sip_session_add_datastore(), ast_sip_session_alloc(), ast_sip_session_get_datastore(), ast_sip_session_remove_datastore(), and session_destructor().
unsigned int defer_end |
Whether the end of the session should be deferred
Definition at line 227 of file res_pjsip_session.h.
Referenced by ast_sip_session_defer_termination(), ast_sip_session_end_if_deferred(), and session_inv_on_state_changed().
unsigned int defer_terminate |
Whether the termination of the session should be deferred
Definition at line 215 of file res_pjsip_session.h.
Referenced by ast_sip_session_defer_termination(), ast_sip_session_defer_termination_cancel(), ast_sip_session_terminate(), chan_pjsip_incoming_request(), refer_incoming_invite_request(), and session_termination_task().
pjsip_rx_data* deferred_reinvite |
Deferred incoming re-invite
Definition at line 219 of file res_pjsip_session.h.
Referenced by ast_sip_session_resume_reinvite(), and session_reinvite_on_rx_request().
struct { ... } delayed_requests |
Requests that could not be sent due to current inv_session state
Referenced by ast_sip_session_alloc(), ast_sip_session_terminate(), delay_request(), invite_proceeding(), invite_terminated(), resend_reinvite(), session_destructor(), session_inv_on_tsx_state_changed(), and sip_session_refresh().
struct ast_format_cap* direct_media_cap |
Format capabilities pertaining to direct media
Definition at line 203 of file res_pjsip_session.h.
Referenced by ast_sip_session_alloc(), create_outgoing_sdp_stream(), send_direct_media_request(), session_destructor(), and set_caps().
struct ast_dsp* dsp |
Optional DSP, used only for inband DTMF/Fax-CNG detection if configured
Definition at line 213 of file res_pjsip_session.h.
Referenced by ast_sip_session_alloc(), chan_pjsip_cng_tone_detected(), chan_pjsip_read_stream(), pjsip_acf_dtmf_mode_write(), session_destructor(), and set_caps().
enum ast_sip_dtmf_mode dtmf |
DTMF mode to use with this session, from endpoint but can change
Definition at line 233 of file res_pjsip_session.h.
Referenced by ast_sip_session_alloc(), chan_pjsip_digit_begin(), chan_pjsip_digit_end(), create_outgoing_sdp_stream(), create_rtp(), get_codecs(), pjsip_acf_dtmf_mode_read(), pjsip_acf_dtmf_mode_write(), and set_caps().
unsigned int ended_while_deferred |
Session end (remote hangup) requested while termination deferred
Definition at line 229 of file res_pjsip_session.h.
Referenced by ast_sip_session_defer_termination(), ast_sip_session_end_if_deferred(), and session_inv_on_state_changed().
struct ast_sip_endpoint* endpoint |
The endpoint with which Asterisk is communicating
Definition at line 183 of file res_pjsip_session.h.
Referenced by __print_debug_details(), add_bundle_groups(), add_crypto_to_stream(), add_extmap_to_stream(), add_ice_to_stream(), add_id_headers(), add_msid_to_stream(), add_rtcp_fb_to_stream(), add_ssrc_to_stream(), apply_negotiated_sdp_stream(), ast_sip_session_alloc(), ast_sip_session_create_invite(), ast_sip_session_create_joint_call_cap(), ast_sip_session_create_joint_call_stream(), ast_sip_session_get_name(), ast_sip_session_media_get_transport(), ast_sip_session_media_state_add(), caller_id_incoming_request(), caller_id_outgoing_response(), chan_pjsip_get_rtp_peer(), chan_pjsip_get_vrtp_peer(), chan_pjsip_incoming_ack(), chan_pjsip_incoming_response(), chan_pjsip_indicate(), chan_pjsip_new(), chan_pjsip_queryoption(), chan_pjsip_read_stream(), chan_pjsip_session_begin(), chan_pjsip_set_rtp_peer(), check_ice_support(), create_local_sdp(), create_outgoing_sdp_stream(), create_rtp(), defer_incoming_sdp_stream(), direct_media_mitigate_glare(), enable_rtcp(), filter_session_outgoing_message(), generate_rtpmap_attr(), get_codecs(), get_destination(), get_redirecting_add_diversion(), handle_incoming_request(), handle_incoming_sdp(), handle_new_invite_request(), handle_outgoing_request(), handle_outgoing_response(), is_colp_update_allowed(), log_caps(), media_offer_read_av(), media_offer_write_av(), nat_incoming_invite_response(), negotiate_incoming_sdp_stream(), new_invite(), outbound_invite_auth(), path_session_outgoing_request(), path_session_outgoing_response(), process_extmap_attributes(), process_ice_attributes(), process_ice_auth_attrb(), process_ssrc_attributes(), push_notify(), queue_connected_line_update(), read_pjsip(), refer_incoming_attended_request(), refer_incoming_blind_request(), refer_incoming_invite_request(), refer_incoming_refer_request(), refer_progress_alloc(), rfc3326_add_reason_header(), send_direct_media_request(), sendtext(), session_destructor(), session_inv_on_media_update(), session_inv_on_redirected(), session_inv_on_tsx_state_changed(), session_refresh_state_get_or_alloc(), set_caps(), set_from_header(), set_ice_components(), set_mid_and_bundle_group(), setup_dtls_srtp(), sip_session_refresh(), stir_shaken_incoming_request(), stir_shaken_outgoing_request(), t38_framehook(), t38_initialize_session(), t38_interpret_sdp(), transmit_info_dtmf(), transmit_info_with_vidupdate(), update_connected_line_information(), and update_incoming_connected_line().
char exten[AST_MAX_EXTENSION] |
Dialplan extension where incoming call is destined
Definition at line 181 of file res_pjsip_session.h.
Referenced by call_pickup_incoming_request(), chan_pjsip_incoming_request(), get_destination(), and new_invite().
struct ast_sip_session_supplement* first |
Definition at line 191 of file res_pjsip_session.h.
struct ast_sip_session_delayed_request* first |
Definition at line 199 of file res_pjsip_session.h.
struct ast_party_id id |
Identity of endpoint this session deals with
Definition at line 207 of file res_pjsip_session.h.
Referenced by add_identity_header(), ast_sip_session_alloc(), ast_sip_session_create_outgoing(), caller_id_incoming_request(), chan_pjsip_new(), diversion_incoming_response(), Model::load(), queue_connected_line_update(), session_destructor(), set_redirecting(), should_queue_connected_line_update(), stir_shaken_incoming_request(), stir_shaken_outgoing_request(), and update_initial_connected_line().
struct pjsip_inv_session* inv_session |
The PJSIP details of the session, which includes the dialog
Definition at line 187 of file res_pjsip_session.h.
Referenced by add_crypto_to_stream(), add_header(), add_party_param(), answer(), apply_negotiated_sdp_stream(), ast_sip_dialog_get_session(), ast_sip_session_alloc(), ast_sip_session_create_invite(), ast_sip_session_regenerate_answer(), ast_sip_session_send_request_with_cb(), ast_sip_session_send_response(), ast_sip_session_terminate(), caller_id_outgoing_response(), chan_pjsip_get_uniqueid(), chan_pjsip_incoming_request(), chan_pjsip_indicate(), chan_pjsip_session_end(), channel_read_pjsip(), create_outgoing_sdp_stream(), direct_media_mitigate_glare(), dtmf_mode_refresh_cb(), generate_session_refresh_sdp(), get_codecs(), get_destination(), handle_incoming_sdp(), handle_negotiated_sdp(), handle_new_invite_request(), incoming_in_dialog_request(), incoming_request(), indicate(), invite_collision_timeout(), media_offer_read_av(), media_offer_write_av(), nat_incoming_invite_request(), nat_outgoing_invite_request(), negotiate_incoming_sdp_stream(), new_invite(), options_incoming_request(), outgoing_request(), process_ice_attributes(), process_ssrc_attributes(), push_notify_channel(), refer_incoming_invite_request(), refer_incoming_refer_request(), refer_outgoing_request(), refer_progress_alloc(), reschedule_reinvite(), send_response(), sendtext(), session_destructor(), session_end_completion(), session_inv_on_create_offer(), session_inv_on_tsx_state_changed(), session_reinvite_on_rx_request(), session_termination_task(), set_from_header(), set_redirecting(), sip_session_refresh(), transfer(), transfer_redirect(), transfer_refer(), transmit_info_dtmf(), transmit_info_with_vidupdate(), update_completed(), update_connected_line_information(), video_info_incoming_request(), and websocket_outgoing_invite_request().
struct ast_sip_session_supplement* last |
Definition at line 191 of file res_pjsip_session.h.
struct ast_sip_session_delayed_request* last |
Definition at line 199 of file res_pjsip_session.h.
ast_mutex_t lock |
Definition at line 191 of file res_pjsip_session.h.
unsigned int moh_passthrough |
Whether to pass through hold and unhold using re-invites with recvonly and sendrecv
Definition at line 231 of file res_pjsip_session.h.
Referenced by ast_sip_session_alloc(), chan_pjsip_indicate(), pjsip_acf_moh_passthrough_read(), and pjsip_acf_moh_passthrough_write().
struct ast_sip_session_media_state* pending_media_state |
Pending media state (sessions + streams)
Definition at line 211 of file res_pjsip_session.h.
Referenced by add_bundle_groups(), add_msid_to_stream(), ast_sip_session_alloc(), ast_sip_session_create_outgoing(), ast_sip_session_is_pending_stream_default(), ast_sip_session_media_add_read_callback(), ast_sip_session_media_get_transport(), ast_sip_session_terminate(), call(), chan_pjsip_call(), chan_pjsip_new(), create_local_sdp(), create_outgoing_sdp_stream(), enable_rtp_extension(), handle_incoming_sdp(), handle_negotiated_sdp(), media_offer_read_av(), media_offer_write_av(), on_topology_change_response(), reschedule_reinvite(), sdp_requires_deferral(), session_destructor(), session_inv_on_media_update(), session_inv_on_rx_offer(), session_on_tsx_state(), session_reinvite_on_rx_request(), set_remote_mslabel_and_stream_group(), sip_session_refresh(), and t38_reinvite_response_cb().
pjsip_uri* request_uri |
Initial incoming INVITE Request-URI. NULL otherwise.
Definition at line 235 of file res_pjsip_session.h.
Referenced by channel_read_pjsip(), get_destination(), and set_sipdomain_variable().
pj_timer_entry rescheduled_reinvite |
When we need to reschedule a reinvite, we use this structure to do it
Definition at line 201 of file res_pjsip_session.h.
Referenced by invite_terminated(), and reschedule_reinvite().
pjsip_fromto_hdr* saved_from_hdr |
From header saved at invite creation
Definition at line 225 of file res_pjsip_session.h.
Referenced by add_pai_header(), add_rpid_header(), and set_from_header().
pj_timer_entry scheduled_termination |
When we need to forcefully end the session
Definition at line 205 of file res_pjsip_session.h.
Referenced by ast_sip_session_defer_termination(), and sip_session_defer_termination_stop_timer().
struct ast_taskprocessor* serializer |
Serializer for tasks relating to this SIP session
Definition at line 195 of file res_pjsip_session.h.
Referenced by ast_sip_session_alloc(), ast_sip_session_suspend(), ast_sip_session_unsuspend(), chan_pjsip_answer(), chan_pjsip_call(), chan_pjsip_digit_end(), chan_pjsip_hangup(), chan_pjsip_indicate(), chan_pjsip_sendtext_data(), chan_pjsip_set_rtp_peer(), chan_pjsip_transfer(), check_delayed_requests(), func_read_header(), func_write_header(), handle_new_invite_request(), handle_topology_request_change(), pjsip_acf_channel_read(), pjsip_acf_dtmf_mode_write(), pjsip_acf_media_offer_write(), pjsip_acf_session_refresh_write(), push_notify_channel(), refer_attended_task(), resend_reinvite(), rfc3326_outgoing_request(), rfc3326_outgoing_response(), session_destructor(), session_end_if_disconnected(), session_inv_on_state_changed(), session_termination_cb(), t38_automatic_reject_timer_cb(), and t38_framehook().
struct { ... } supplements |
Registered session supplements
Referenced by ast_sip_session_add_supplements(), ast_sip_session_alloc(), ast_sip_session_remove_supplements(), handle_incoming_request(), handle_incoming_response(), handle_outgoing_request(), handle_outgoing_response(), handle_session_begin(), handle_session_destroy(), handle_session_end(), has_supplement(), and session_destructor().
struct ast_sip_session_suspender* suspended |
Non-null if the session serializer is suspended or being suspended.
Definition at line 197 of file res_pjsip_session.h.
Referenced by ast_sip_session_suspend(), and ast_sip_session_unsuspend().
Current T.38 state
Definition at line 221 of file res_pjsip_session.h.
Referenced by chan_pjsip_indicate(), chan_pjsip_queryoption(), channel_read_pjsip(), create_outgoing_sdp_stream(), defer_incoming_sdp_stream(), negotiate_incoming_sdp_stream(), t38_change_state(), t38_interpret_sdp(), and t38_reinvite_response_cb().
unsigned int terminate_while_deferred |
Termination requested while termination deferred
Definition at line 217 of file res_pjsip_session.h.
Referenced by ast_sip_session_defer_termination_cancel(), and ast_sip_session_terminate().