BLOG | DOCUMENTATION | TRAC

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
}
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
}

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_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_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_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)

Detailed Description

 


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