doubango sipstack 数据结构

代码位置          


typedef struct tsip_stack_s

{

TSK_DECLARE_RUNNABLE;

TSK_DECLARE_SAFEOBJ;

tsk_timer_manager_handle_t* timer_mgr_global;

tsk_bool_t started;

tsip_stack_callback_f callback;


/* === Identity === */

struct{

char* display_name;

tsip_uri_t *impu;

tsip_uri_t *preferred;

char *impi;

char *password;

} identity;


/* === SigComp === */

struct{

tsip_sigcomp_handle_t* handle;


unsigned dms;

unsigned sms;

unsigned cpb;

tsk_bool_t sip_dict;

tsk_bool_t pres_dict;

} sigcomp;


/* === Network === */

struct{

tsip_stack_mode_t mode;


char *local_ip[TSIP_TRANSPORT_IDX_MAX];

tnet_port_t local_port[TSIP_TRANSPORT_IDX_MAX];


char *proxy_cscf[TSIP_TRANSPORT_IDX_MAX];

tnet_port_t proxy_cscf_port[TSIP_TRANSPORT_IDX_MAX];

tnet_socket_type_t proxy_cscf_type[TSIP_TRANSPORT_IDX_MAX];

tnet_socket_type_t transport_types[TSIP_TRANSPORT_IDX_MAX];

int32_t transport_idx_default;

tsip_uri_t *realm;

//! IP adddress and port to use as AOR (user-defined)

struct{

char* ip[TSIP_TRANSPORT_IDX_MAX];

tnet_port_t port[TSIP_TRANSPORT_IDX_MAX];

} aor;

tsk_bool_t discovery_naptr;

tsk_bool_t discovery_dhcp;


tsk_size_t max_fds;

} network;


/* === Security === */

struct{

char* secagree_mech;

tsk_bool_t earlyIMS;

operator_id_t operator_id;

amf_t amf;

/* IPSec */

struct{

char* alg;

char* ealg;

char* mode;

char* protocol;

} ipsec;

tsk_bool_t enable_secagree_ipsec;

/* TLS */

struct {

char* ca;

char* pbk;

char* pvk;

tsk_bool_t verify;

}tls;

tsk_bool_t enable_secagree_tls;

} security;

tsip_uris_L_t* paths;

tsip_uris_L_t* service_routes;

tsip_uris_L_t* associated_uris;


/* DNS context */

tnet_dns_ctx_t *dns_ctx;


/* NAT Traversal context */

struct {

// STUN

struct{

char* ip;

tnet_port_t port;

char* login;

char* pwd;

tsk_bool_t enabled;

} stun;

struct tnet_nat_ctx_s* ctx;

} natt;


/* DHCP context */


/* QoS */


/* Internals. */

//tsk_timer_manager_handle_t* timer_mgr;

tsip_timers_t timers;

tsip_ssessions_L_t *ssessions;

tsk_params_L_t *headers;

const void* userdata;


/* Layers */

struct tsip_dialog_layer_s *layer_dialog;

struct tsip_transac_layer_s *layer_transac;

struct tsip_transport_layer_s *layer_transport;

}

tsip_stack_t;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值