20 #ifndef __PJNATH_ICE_SESSION_H__ 21 #define __PJNATH_ICE_SESSION_H__ 27 #include <pjnath/types.h> 29 #include <pjnath/errno.h> 524 unsigned transport_id,
527 unsigned dst_addr_len);
543 unsigned transport_id,
546 unsigned src_addr_len);
957 unsigned transport_id,
965 unsigned *p_cand_id);
1010 unsigned rem_cand_cnt,
1043 unsigned rem_cand_cnt,
1106 unsigned transport_id,
pj_timestamp prio
Definition: ice_session.h:394
pj_bool_t aggressive
Definition: ice_session.h:643
Definition: ice_session.h:162
unsigned rcand_paired
Definition: ice_session.h:734
pj_status_t pj_ice_sess_set_prefs(pj_ice_sess *ice, const pj_uint8_t prefs[4])
pj_status_t err_code
Definition: ice_session.h:419
pj_uint16_t local_pref
Definition: ice_session.h:277
unsigned transport_id
Definition: ice_session.h:587
Definition: ice_session.h:563
unsigned transport_id
Definition: ice_session.h:214
pj_ice_sess_role
Definition: ice_session.h:553
pj_sockaddr base_addr
Definition: ice_session.h:313
pj_status_t pj_ice_sess_update_check_list(pj_ice_sess *ice, const pj_str_t *rem_ufrag, const pj_str_t *rem_passwd, unsigned rem_cand_cnt, const pj_ice_sess_cand rem_cand[], pj_bool_t trickle_done)
pj_ice_cand_type
Definition: ice_session.h:132
Definition: ice_session.h:151
pj_ice_cand_type type
Definition: ice_session.h:252
pj_str_t rx_uname
Definition: ice_session.h:717
pj_status_t pj_ice_sess_destroy(pj_ice_sess *ice)
void pj_ice_calc_foundation(pj_pool_t *pool, pj_str_t *foundation, pj_ice_cand_type type, const pj_sockaddr *base_addr)
Definition: ice_session.h:637
Definition: ice_session.h:627
unsigned comp_cnt
Definition: ice_session.h:721
pj_str_t rx_ufrag
Definition: ice_session.h:716
Definition: ice_session.h:220
int controlled_agent_want_nom_timeout
Definition: ice_session.h:666
pj_bool_t use_candidate
Definition: ice_session.h:592
pj_bool_t valid_pair_found
Definition: ice_session.h:702
Definition: ice_session.h:242
pj_str_t tx_ufrag
Definition: ice_session.h:713
Definition: ice_session.h:157
pj_status_t pj_ice_sess_send_data(pj_ice_sess *ice, unsigned comp_id, const void *data, pj_size_t data_len)
pj_status_t pj_ice_sess_create_check_list(pj_ice_sess *ice, const pj_str_t *rem_ufrag, const pj_str_t *rem_passwd, unsigned rem_cand_cnt, const pj_ice_sess_cand rem_cand[])
pj_str_t tx_pass
Definition: ice_session.h:715
pj_status_t status
Definition: ice_session.h:260
pj_status_t pj_ice_sess_detach_grp_lock(pj_ice_sess *ice, pj_grp_lock_handler *handler)
Definition: ice_session.h:491
Definition: ice_session.h:431
Definition: ice_session.h:222
pj_ice_sess_role role
Definition: ice_session.h:695
Definition: ice_session.h:568
pj_stun_uint64_attr * role_attr
Definition: ice_session.h:594
pj_ice_sess_trickle
Definition: ice_session.h:602
Definition: ice_session.h:443
pj_uint32_t priority
Definition: ice_session.h:593
Definition: ice_session.h:183
#define PJ_ICE_MAX_TURN
Definition: config.h:273
Definition: ice_session.h:362
#define PJ_ICE_MAX_CHECKS
Definition: config.h:333
void(* pj_grp_lock_handler)(void *member)
pj_ice_sess_check * valid_check
Definition: ice_session.h:190
pj_uint8_t comp_id
Definition: ice_session.h:267
pj_stun_tx_data * tdata
Definition: ice_session.h:407
pj_ice_sess_cb cb
Definition: ice_session.h:708
Definition: ice_session.h:619
pj_uint32_t prio
Definition: ice_session.h:292
pj_bool_t nominated
Definition: ice_session.h:413
Definition: ice_session.h:355
Definition: ice_session.h:138
pj_status_t pj_ice_sess_start_check(pj_ice_sess *ice)
pj_sockaddr rel_addr
Definition: ice_session.h:319
Definition: stun_config.h:48
Definition: ice_session.h:348
pj_status_t pj_ice_sess_set_options(pj_ice_sess *ice, const pj_ice_sess_options *opt)
struct pj_grp_lock_t pj_grp_lock_t
Definition: ice_session.h:145
pj_ice_sess_options opt
Definition: ice_session.h:696
Definition: stun_msg.h:614
pj_status_t pj_ice_sess_add_cand(pj_ice_sess *ice, unsigned comp_id, unsigned transport_id, pj_ice_cand_type type, pj_uint16_t local_pref, const pj_str_t *foundation, const pj_sockaddr_t *addr, const pj_sockaddr_t *base_addr, const pj_sockaddr_t *rel_addr, int addr_len, unsigned *p_cand_id)
unsigned ckid
Definition: ice_session.h:225
pj_ice_sess_cand * lcand
Definition: ice_session.h:379
pj_ice_sess * ice
Definition: ice_session.h:223
pj_ice_sess_cand * rcand
Definition: ice_session.h:227
unsigned count
Definition: ice_session.h:462
pj_ice_sess_checklist valid_list
Definition: ice_session.h:747
pj_str_t rx_pass
Definition: ice_session.h:718
pj_status_t pj_ice_sess_on_rx_pkt(pj_ice_sess *ice, unsigned comp_id, unsigned transport_id, void *pkt, pj_size_t pkt_size, const pj_sockaddr_t *src_addr, int src_addr_len)
pj_pool_t * pool
Definition: ice_session.h:692
pj_timer_entry timer_end_of_cand
Definition: ice_session.h:707
#define PJ_ICE_MAX_STUN
Definition: config.h:262
Definition: ice_session.h:558
#define PJ_DECL_LIST_MEMBER(type)
struct pj_stun_session pj_stun_session
Definition: stun_session.h:175
pj_timer_entry timer
Definition: ice_session.h:482
pj_bool_t has_req_data
Definition: ice_session.h:217
Definition: ice_session.h:334
Definition: ice_session.h:688
pj_timestamp tie_breaker
Definition: ice_session.h:697
pj_ice_sess_checklist_state
Definition: ice_session.h:426
int foundation_idx
Definition: ice_session.h:389
pj_ice_rx_check early_check
Definition: ice_session.h:741
STUN session management for client/server.
pj_status_t ice_status
Definition: ice_session.h:705
Definition: ice_session.h:211
Definition: ice_session.h:374
pj_stun_config stun_cfg
Definition: ice_session.h:710
pj_bool_t is_destroying
Definition: ice_session.h:701
pj_status_t pj_ice_sess_find_default_cand(pj_ice_sess *ice, unsigned comp_id, int *p_cand_id)
Definition: ice_session.h:452
Definition: ice_session.h:607
pj_ice_sess_checklist * clist
Definition: ice_session.h:224
pj_bool_t is_trickling
Definition: ice_session.h:703
pj_ice_sess_checklist clist
Definition: ice_session.h:744
unsigned foundation_cnt
Definition: ice_session.h:472
pj_ice_sess_trickle trickle
Definition: ice_session.h:674
pj_ice_sess_cand * lcand
Definition: ice_session.h:226
unsigned src_addr_len
Definition: ice_session.h:590
unsigned id
Definition: ice_session.h:247
const char * pj_ice_get_cand_type_name(pj_ice_cand_type type)
pj_sockaddr src_addr
Definition: ice_session.h:589
#define PJ_ICE_MAX_CAND
Definition: config.h:241
unsigned lcand_paired
Definition: ice_session.h:728
Definition: stun_session.h:336
pj_str_t tx_uname
Definition: ice_session.h:714
pj_ice_sess_check * nominated_check
Definition: ice_session.h:197
unsigned comp_id
Definition: ice_session.h:586
pj_status_t pj_ice_sess_get_options(pj_ice_sess *ice, pj_ice_sess_options *opt)
void pj_ice_sess_options_default(pj_ice_sess_options *opt)
unsigned comp_ka
Definition: ice_session.h:723
unsigned nominated_check_delay
Definition: ice_session.h:652
pj_bool_t is_complete
Definition: ice_session.h:700
pj_stun_session * stun_sess
Definition: ice_session.h:203
pj_bool_t is_nominating
Definition: ice_session.h:699
pj_status_t pj_ice_sess_change_role(pj_ice_sess *ice, pj_ice_sess_role new_role)
const char * pj_ice_sess_role_name(pj_ice_sess_role role)
void * user_data
Definition: ice_session.h:693
pj_status_t pj_ice_sess_create(pj_stun_config *stun_cfg, const char *name, pj_ice_sess_role role, unsigned comp_cnt, const pj_ice_sess_cb *cb, const pj_str_t *local_ufrag, const pj_str_t *local_passwd, pj_grp_lock_t *grp_lock, pj_ice_sess **p_ice)
pj_ice_sess_checklist_state state
Definition: ice_session.h:457
Definition: ice_session.h:437
pj_grp_lock_t * grp_lock
Definition: ice_session.h:694
unsigned rcand_cnt
Definition: ice_session.h:732
#define PJ_ICE_MAX_COMP
Definition: config.h:289
pj_str_t foundation
Definition: ice_session.h:285
unsigned lcand_cnt
Definition: ice_session.h:726
pj_ice_sess_check_state state
Definition: ice_session.h:399
unsigned short pj_uint16_t
pj_uint8_t * prefs
Definition: ice_session.h:698
pj_ice_sess_cand * rcand
Definition: ice_session.h:384
pj_timer_entry timer
Definition: ice_session.h:706
pj_ice_sess_check_state
Definition: ice_session.h:327
Definition: ice_session.h:341
pj_sockaddr addr
Definition: ice_session.h:303
pj_uint8_t transport_id
Definition: ice_session.h:272
Definition: ice_session.h:582