PJ_INLINE(void) pj_list_init(pj_list_type * node) //pj_list_type void //初始化
{
((pj_list*)node)->next = ((pj_list*)node)->prev = node;
//typedef struct pj_list pj_list;
}
#define PJ_DECL_LIST_MEMBER(type) \
/** List @a prev. */ \
type *prev; \
/** List @a next. */ \
type *next
//参考《C语言和内存》专题中的《C语言内存对齐,提高寻址效率》
初始化完成了,设置config_default默认的值,pjsua_config_default分析(&pjsua_var.ua_cfg)
//查看ua_cfg结构体
typedef struct pjsua_config{
unsigned max_calls; //default: 4PJSUA_MAX_CALLS = 32
unsigned thread_cnt;
unsigned nameserver_count; //如果没有配置服务器 pj_gethostbyname()
pj_str_t nameserver[4];//SIP resolver subsystem
pj_bool_t force_lr;//Force loose-route Default: 1
//route/proxy URIs (outbound_proxy* and account's proxy settings)
unsigned outbound_proxy_cnt;
pj_str_t outbound_proxy[4];
pj_str_t stun_domain;
pj_str_t stun_host;//HOST[:PORT] port:default=3478
unsigned stun_srv_cnt;
pj_str_t stun_srv[8];
pj_bool_t stun_try_ipv6;//Default: PJ_FALSE
pj_bool_t stun_ignore_failure; //Default: PJ_TRUE
pj_bool_t stun_map_use_stun2;//Default: PJ_FALSE
/**
* - 0: no information will be added in SDP, and parsing is disabled.
* - 1: only the NAT type number is added.
* - 2: add both NAT type number and name.
*/
int nat_type_in_sdp;//Default: 1
pjsua_100rel_use require_100rel;//Default: PJSUA_100REL_NOT_USED PRACK
pjsua_sip_timer_use use_timer;//Default: PJSUA_SIP_TIMER_OPTIONAL 会话计时
pj_bool_t enable_unsolicited_mwi;//message waiting indication (MWI) info Default: PJ_TRUE
pjsip_timer_setting timer_setting;
unsigned cred_count;//credentials证书
pjsip_cred_info cred_info[PJSUA_ACC_MAX_PROXIES];//will be used by all accounts
pjsua_callback cb;
pj_str_t user_agent;
pjmedia_srtp_use use_srtp;//Default: #PJSUA_DEFAULT_USE_SRTP
//全实时传输协议(Secure Real-time Transport Protocol)
/**
* Valid values are:
* 0: SRTP does not require secure signaling
* 1: SRTP requires secure transport such as TLS
* 2: SRTP requires secure end-to-end transport (SIPS)
*/
int srtp_secure_signaling;//Default: #PJSUA_DEFAULT_SRTP_SECURE_SIGNALING
pj_bool_t srtp_optional_dup_offer;
pj_bool_t hangup_forked_call;//Default: PJ_TRUE
} pjsua_config;
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-67841-6.html