Chinaunix首页 | 论坛 | 博客
  • 博客访问: 212825
  • 博文数量: 40
  • 博客积分: 945
  • 博客等级: 准尉
  • 技术积分: 395
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-22 18:45
文章分类
文章存档

2020年(14)

2017年(1)

2013年(1)

2012年(6)

2011年(1)

2010年(7)

2009年(3)

2008年(7)

我的朋友

分类: 系统运维

2008-10-21 21:25:02

SIP协议中的T1和T2
因为SIP定义了自己的可靠性机制,所以可以使用不可靠的传输层协议,比方说UDP,来进行连接。

使用UDP来传输SIP时,消息的丢失和接受消息的顺序错乱都是有可能的。因为UDP只能保证传输的内容是无错的,但是不能保证传输的内容一定会到达目的地。SIP的可靠性机制包括:
1. 重传计时器;
2. CSeq递增;
3. 确认通知

UAC和stateful proxy都可以在一个新的request发送之后启动T1计时器。如果在T1时间过后都没有收到response,就要重发request。如果收到了一个临时的response(1xx),T1就被忽略,而一个时间更长的计时器T2就开始计时了。如果在T1时间过后都没有收到response,就要重发request。

每次重发request之后,计时器就会翻倍,但最大不超过T2。如果超过T2,每次就按T2时间重发。在重发了10次之后,这种指数级的增长过程会停止。此时的stateful proxy会丢弃重发的request,只是按照它自己的计时器重发request。一般它还会重发临时的response(1xx)。

对于INVITE的request,重传机制会略有不同。在收到一个临时的response(1xx)之后,INVITE永远都不会被重发。一个proxy可能在3分钟之后丢弃transaction状态。

推荐的T1和T2的值分别为500ms和4s。一般来说,T1是网络中每一跳的时间。这里的值可以更大,但不能缩小,因为这样会产生更多的重传信息。

阅读(1423) | 评论(0) | 转发(0) |
0

上一篇:DHCP消息格式

下一篇:语音编码方式

给主人留下些什么吧!~~