上面的 ua_cfg 结构体用来参考,后面就分析pjsua_config_default,最后初始化了pjsua_config 参数都是默认值
PJ_DEF(void) pjsua_config_default(pjsua_config *cfg){
pj_bzero(cfg, sizeof(*cfg));
cfg->max_calls = ((PJSUA_MAX_CALLS) < 4) ? (PJSUA_MAX_CALLS) : 4;
cfg->thread_cnt = 1;
cfg->nat_type_in_sdp = 1;
cfg->stun_ignore_failure = PJ_TRUE;
cfg->force_lr = PJ_TRUE;
cfg->enable_unsolicited_mwi = PJ_TRUE;
cfg->use_srtp = PJSUA_DEFAULT_USE_SRTP;
cfg->srtp_secure_signaling = PJSUA_DEFAULT_SRTP_SECURE_SIGNALING;
cfg->hangup_forked_call = PJ_TRUE;
cfg->use_timer = PJSUA_SIP_TIMER_OPTIONAL;
pjsip_timer_setting_default(&cfg->timer_setting);
}
这里又用到了timer_setting 结构体,展示如下

typedef struct pjsip_timer_setting{
unsigned min_se;//minimum session expiration period >=90 默认是90
unsigned sess_expires; //session expiration period 默认1800
} pjsip_timer_setting;//最后就是设置时间
PJ_DEF(pj_status_t) pjsip_timer_setting_default(pjsip_timer_setting *setting){
pj_bzero(setting, sizeof(pjsip_timer_setting));
setting->sess_expires = PJSIP_SESS_TIMER_DEF_SE;//1800
setting->min_se = ABS_MIN_SE;//90
return PJ_SUCCESS;
}
以上就是数据初始化 data init ,然后就是设置默认的log设置
typedef struct pjsua_logging_config{
pj_bool_t msg_logging;//Log incoming and outgoing SIP message
unsigned level; //输出等级 5
unsigned console_level;// 控制台输出 4
unsigned decor;
pj_str_t log_filename;
unsigned log_file_flags;
void (*cb)(int level, const char *data, int len);
} pjsua_logging_config;
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-67841-7.html
3000多