WARNING: The online documentation has moved to https://docs.pjsip.org.

Visit the new documentation at https://docs.pjsip.org:

BLOG | DOCUMENTATION | GITHUB

Home --> Documentations --> PJNATH Reference

#include <ice_session.h>

Data Fields

char obj_name [PJ_MAX_OBJ_NAME]
 
pj_pool_tpool
 
void * user_data
 
pj_grp_lock_tgrp_lock
 
pj_ice_sess_role role
 
pj_ice_sess_options opt
 
pj_timestamp tie_breaker
 
pj_uint8_tprefs
 
pj_bool_t is_nominating
 
pj_bool_t is_complete
 
pj_bool_t is_destroying
 
pj_bool_t valid_pair_found
 
pj_bool_t is_trickling
 
pj_status_t ice_status
 
pj_timer_entry timer
 
pj_timer_entry timer_end_of_cand
 
pj_ice_sess_cb cb
 
pj_stun_config stun_cfg
 
pj_str_t tx_ufrag
 
pj_str_t tx_uname
 
pj_str_t tx_pass
 
pj_str_t rx_ufrag
 
pj_str_t rx_uname
 
pj_str_t rx_pass
 
unsigned comp_cnt
 
pj_ice_sess_comp comp [PJ_ICE_MAX_COMP]
 
unsigned comp_ka
 
unsigned lcand_cnt
 
pj_ice_sess_cand lcand [PJ_ICE_MAX_CAND]
 
unsigned lcand_paired
 
unsigned rcand_cnt
 
pj_ice_sess_cand rcand [PJ_ICE_MAX_CAND]
 
unsigned rcand_paired
 
pj_ice_msg_data tp_data [PJ_ICE_MAX_STUN+PJ_ICE_MAX_TURN]
 
pj_ice_rx_check early_check
 
pj_ice_sess_checklist clist
 
pj_ice_sess_checklist valid_list
 
union {
   char   txt [128]
 
   char   errmsg [PJ_ERR_MSG_SIZE]
 
tmp
 

Detailed Description

This structure describes the ICE session. For this version of PJNATH, an ICE session corresponds to a single media stream (unlike the ICE session described in the ICE standard where an ICE session covers the whole media and may consist of multiple media streams). The decision to support only a single media session was chosen for simplicity, while still allowing application to utilize multiple media streams by creating multiple ICE sessions, one for each media stream.

Forward declaration for pj_ice_sess

Field Documentation

◆ cb

pj_ice_sess_cb pj_ice_sess::cb

Callback.

◆ clist

pj_ice_sess_checklist pj_ice_sess::clist

Active checklist

◆ comp

pj_ice_sess_comp pj_ice_sess::comp[PJ_ICE_MAX_COMP]

Component array

◆ comp_cnt

unsigned pj_ice_sess::comp_cnt

of components.

◆ comp_ka

unsigned pj_ice_sess::comp_ka

Next comp for KA

◆ early_check

pj_ice_rx_check pj_ice_sess::early_check

Early checks.

◆ grp_lock

pj_grp_lock_t* pj_ice_sess::grp_lock

Group lock

◆ ice_status

pj_status_t pj_ice_sess::ice_status

Error status.

◆ is_complete

pj_bool_t pj_ice_sess::is_complete

Complete?

◆ is_destroying

pj_bool_t pj_ice_sess::is_destroying

Destroy is called

◆ is_nominating

pj_bool_t pj_ice_sess::is_nominating

Nominating stage

◆ is_trickling

pj_bool_t pj_ice_sess::is_trickling

End-of-candidates ind sent/received?

◆ lcand

pj_ice_sess_cand pj_ice_sess::lcand[PJ_ICE_MAX_CAND]

Array of cand.

◆ lcand_cnt

unsigned pj_ice_sess::lcand_cnt

of local cand.

◆ lcand_paired

unsigned pj_ice_sess::lcand_paired

of local cand

paired (trickling)

◆ obj_name

char pj_ice_sess::obj_name[PJ_MAX_OBJ_NAME]

Object name.

◆ opt

pj_ice_sess_options pj_ice_sess::opt

Options

◆ pool

pj_pool_t* pj_ice_sess::pool

Pool instance.

◆ prefs

pj_uint8_t* pj_ice_sess::prefs

Type preference.

◆ rcand

pj_ice_sess_cand pj_ice_sess::rcand[PJ_ICE_MAX_CAND]

Array of cand.

◆ rcand_cnt

unsigned pj_ice_sess::rcand_cnt

of remote cand.

◆ rcand_paired

unsigned pj_ice_sess::rcand_paired

of remote cand

paired (trickling)

◆ role

pj_ice_sess_role pj_ice_sess::role

ICE role.

◆ rx_pass

pj_str_t pj_ice_sess::rx_pass

Local password.

◆ rx_ufrag

pj_str_t pj_ice_sess::rx_ufrag

Local ufrag.

◆ rx_uname

pj_str_t pj_ice_sess::rx_uname

Uname for RX

◆ stun_cfg

pj_stun_config pj_ice_sess::stun_cfg

STUN settings.

◆ tie_breaker

pj_timestamp pj_ice_sess::tie_breaker

Tie breaker value

◆ timer

pj_timer_entry pj_ice_sess::timer

ICE timer.

◆ timer_end_of_cand

pj_timer_entry pj_ice_sess::timer_end_of_cand

End-of-cand timer.

◆ 

union { ... } pj_ice_sess::tmp

Temporary buffer for misc stuffs to avoid using stack too much

◆ tp_data

Array of transport datas

◆ tx_pass

pj_str_t pj_ice_sess::tx_pass

Remote password.

◆ tx_ufrag

pj_str_t pj_ice_sess::tx_ufrag

Remote ufrag.

◆ tx_uname

pj_str_t pj_ice_sess::tx_uname

Uname for TX.

◆ user_data

void* pj_ice_sess::user_data

App. data.

◆ valid_list

pj_ice_sess_checklist pj_ice_sess::valid_list

Valid list.

◆ valid_pair_found

pj_bool_t pj_ice_sess::valid_pair_found

First pair found


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

 


PJNATH - Open Source NAT traversal helper library supporting STUN, TURN, and ICE
Copyright (C) 2006-2009 Teluu Inc.