首先我们要知道,User Agent必须维护它所发起或参与的呼叫的状态(state).

我们可以用一些头域(header fields)的组合来表示呼叫的状态。

这个头域组合的最小子集必须包括 local/remote tags, Call-ID,Cseq. (另外可以有route set等等状态信息。)

其中Cseq用于区分一个invite请求是新的请求(re-Invite)还是仅仅老invite的重传(Invite Retransmission)。

re-Invite和re-transmitted Invite的区别:

  • re-Invite消息用于改变会话参数,因此,虽然消息还是带同样的call-id和tag,但是CSeq一定要增一因为这是一个新的请求

  • 而retransmitted invite则用相同的Cseq,因为只是在重传的是原来的old Invite


笔者在公众号“协议工程师笔记”定期发布5G/LTE/IMS...学习笔记, 敬请关注、订阅和分享,谢谢!

                                                               图片

                                                                      一起努力,蒸蒸日上

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐