sip_timer

在理解sip 的协议栈中,timrt也是很重要的一部分,一直模模糊糊的,这几天整理了一下sip定时器的基础知识以及在实际代码中的应用;

sip 的定时器分类:参考下面的链接->

 

 

定时器缺省值含义
T1500 ms17.1.1.1经历来回时间(RTT)
T24 秒17.1.2.2非 INVITE 请求和 INVITE 响应的最长重新传输时间间隔
T45 秒17.1.2.2消息可保留在网络中的最长持续时间
计时器 A最初为 T117.1.1.2INVITE 请求重新传输时间间隔(仅适用于 UDP)
计时器 B64*T117.1.1.2INVITE 事务超时计时器
计时器 D大于 32 秒(对于 UDP)17.1.1.2响应重新传输的等待时间
0 秒(对于 TCP 和 SCTP)
计时器 E最初为 T117.1.2.2非 INVITE 请求重新传输时间间隔(仅适用于 UDP)
计时器 F64*T117.1.2.2非 INVITE 事务超时计时器
计时器 G最初为 T117.2.1INVITE 响应重新传输时间间隔
计时器 H64*T117.2.1ACK 接收的等待时间
计时器 IT4(对于 UDP)17.2.1ACK 重新传输的等待时间
0 秒(对于 TCP 和 SCTP)
计时器 J64*T1(对于 UDP)17.2.2重新传输非 INVITE 请求的等待时间
0 秒(对于 TCP 和 SCTP)
计时器 KT4(对于 UDP)17.1.2.2响应重新传输的等待时间
0 秒(对于 TCP 和 SCTP)

 

sip 事件类型分为:ICT/IST/NICT/NIST/   

不同的事件添加的timer类型和个数不同;

 

A                                                        B

|                                                        |

|—————1:SIP_INVENT—————>|

|                                                        |

|<————2:INVENT_100 ————— |

|                                                        |

|<————3:INVENT_180 ————— |

|                                                        |

|<————4:INVENT_200 ————— |

|                                                        |

|—————5:200_ACK——————> |

|                                                        |

|<—————6:TALING——————>  |

|                                                        |

|——————7:BYE————————> |

|                                                        |

|——————8:BYE_200——————>|

|                                                       |

 

以下是自己根据网上资料,工作中的应用及rfc资料自己的理解。

1:SIP_INVENT:

创建 call_timer函数,作用是以后call超时操作;

2:INVENT_100:

     B通过这个消息告诉A有回应,A开始启动自己的call_timer,时间可以自己定义。

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值