四 SIP协议栈传输层的启动(1)

本文探讨了SIP协议栈启动时的传输结构,指出每个传输节点对应一个端口,TCP连接用于可靠信令交换,UDP则需要应用程序处理重传。协议栈包括事务层、对话层和传输层,启动时会创建默认传输实例,该实例包含一个主循环线程和运行线程,分别用于处理网络层消息和回调给SIP传输层进行处理。
摘要由CSDN通过智能技术生成

协议栈的默认传输结构

对于一个刚启动的协议栈来说,它需要有一个传输层,支持若干的传输结点。每一个传输结点对应于一个端口,若采用TCP连接,一个传输结点就针对于一个点到点的连接,这个连接负责sip信令的可靠交换;若采用UDP进行sip信令的交换,则需要由应用程序维护一个定时器,以防数据包丢失的时候用于重传。

 

Doubango里一个协议栈对应于一个tsip_stack_t实例,而这样一个实例又拥有有三个层次,从上到下依次为:

事物层,对话层,传输层。

各种关系如下图所示:

在实际中,在协议栈启动的时候,会首先生成一个默认的传输实例,并挂接到传输层的transports队列中,完成该工作的函数是:

tsip_transport_layer_add(tsip_transport_layer_t* self,

const char* local_host,

tnet_port_t local_port,

tnet_socket_type_ttype,

const char* description);

在创建默认传输实例时,各个形参对应的实参为:

l  tsip_transport_layer_t *self------传输层实例:stack->layer_transport

l  const 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值