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

ice_session.h File Reference

ICE session management. More...

Go to the source code of this file.

Data Structures

struct  pj_ice_sess_comp
 
struct  pj_ice_msg_data
 
union  pj_ice_msg_data::data
 
struct  pj_ice_msg_data::data::request_data
 
struct  pj_ice_sess_cand
 
struct  pj_ice_sess_check
 
struct  pj_ice_sess_checklist
 
struct  pj_ice_sess_cb
 
struct  pj_ice_rx_check
 
struct  pj_ice_sess_options
 
struct  pj_ice_sess
 

Enumerations

enum  pj_ice_cand_type {
  PJ_ICE_CAND_TYPE_HOST ,
  PJ_ICE_CAND_TYPE_SRFLX ,
  PJ_ICE_CAND_TYPE_PRFLX ,
  PJ_ICE_CAND_TYPE_RELAYED ,
  PJ_ICE_CAND_TYPE_MAX
}
 
enum  pj_ice_sess_check_state {
  PJ_ICE_SESS_CHECK_STATE_FROZEN ,
  PJ_ICE_SESS_CHECK_STATE_WAITING ,
  PJ_ICE_SESS_CHECK_STATE_IN_PROGRESS ,
  PJ_ICE_SESS_CHECK_STATE_SUCCEEDED ,
  PJ_ICE_SESS_CHECK_STATE_FAILED
}
 
enum  pj_ice_sess_checklist_state {
  PJ_ICE_SESS_CHECKLIST_ST_IDLE ,
  PJ_ICE_SESS_CHECKLIST_ST_RUNNING ,
  PJ_ICE_SESS_CHECKLIST_ST_COMPLETED
}
 
enum  pj_ice_sess_role {
  PJ_ICE_SESS_ROLE_UNKNOWN ,
  PJ_ICE_SESS_ROLE_CONTROLLED ,
  PJ_ICE_SESS_ROLE_CONTROLLING
}
 
enum  pj_ice_sess_trickle {
  PJ_ICE_SESS_TRICKLE_DISABLED ,
  PJ_ICE_SESS_TRICKLE_HALF ,
  PJ_ICE_SESS_TRICKLE_FULL
}
 

Functions

const char * pj_ice_get_cand_type_name (pj_ice_cand_type type)
 
const char * pj_ice_sess_role_name (pj_ice_sess_role role)
 
void pj_ice_calc_foundation (pj_pool_t *pool, pj_str_t *foundation, pj_ice_cand_type type, const pj_sockaddr *base_addr)
 
void pj_ice_sess_options_default (pj_ice_sess_options *opt)
 
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_status_t pj_ice_sess_get_options (pj_ice_sess *ice, pj_ice_sess_options *opt)
 
pj_status_t pj_ice_sess_set_options (pj_ice_sess *ice, const pj_ice_sess_options *opt)
 
pj_status_t pj_ice_sess_detach_grp_lock (pj_ice_sess *ice, pj_grp_lock_handler *handler)
 
pj_status_t pj_ice_sess_destroy (pj_ice_sess *ice)
 
pj_status_t pj_ice_sess_change_role (pj_ice_sess *ice, pj_ice_sess_role new_role)
 
pj_status_t pj_ice_sess_set_prefs (pj_ice_sess *ice, const pj_uint8_t prefs[4])
 
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)
 
pj_status_t pj_ice_sess_find_default_cand (pj_ice_sess *ice, unsigned comp_id, int *p_cand_id)
 
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_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_status_t pj_ice_sess_start_check (pj_ice_sess *ice)
 
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_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)
 

 


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