/**
*Transport.
*/
typedef struct pjsua_transport_data
{
int index;
pjsip_transport_type_e type;
pjsip_host_port local_name;
union {
pjsip_transport *tp;
pjsip_tpfactory *factory;
void *ptr;
} data;
pj_bool_t is_restarting;
} pjsua_transport_data;
//Unknown error has been reported.
#define PJ_EUNKNOWN (PJ_ERRNO_START_STATUS + 1) /* 70001 */
//The operation is pending and will be completed later.
#define PJ_EPENDING (PJ_ERRNO_START_STATUS + 2) /* 70002 */
static void init_data(){
pj_bzero(&pjsua_var, sizeof(pjsua_var));// 前面分析过pjsua_var置0
for (i=0; i<PJ_ARRAY_SIZE(pjsua_var.acc); ++i)
pjsua_var.acc[i].index = i;//PJ_ARRAY_SIZE 获取 acc[8] 大小 并保存index
for (i=0; i<PJ_ARRAY_SIZE(pjsua_var.tpdata); ++i)//tpdata[8]
pjsua_var.tpdata[i].index = i;//保存tpdata 传输数据的索引
pjsua_var.stun_status = PJ_EUNKNOWN; //STUN server status 初始化 error report
pjsua_var.nat_status = PJ_EPENDING; //Detection status 初始化pending
//初始化列表 stun_res outbound_proxy
pj_list_init(&pjsua_var.stun_res);
pj_list_init(&pjsua_var.outbound_proxy);
pjsua_config_default(&pjsua_var.ua_cfg);
}
/*
了解几个概念
STUN(Simple Traversal of UDP over NATs,NAT 的UDP简单穿越)是一种网络协议,它允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一 个本地端口所绑定的Internet端端口。这些信息被用来在两个同时处于NAT 路由器之后的主机之间建立UDP通信
NAT(Network Address Translation,网络地址转换)所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接
*/
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-67841-5.html
一个让人随便入侵领海领空的国家还谈什么强国
文章中