做网站怎么分手机版和电脑版,重庆服装网站建设地址,足球做网站首页格局,php充值网站源码这里就要先看下Dialog的定义。 dialog是两个UA之间持续一段时间的点对点 SIP关系。dialog通过SIP消息建立#xff0c;例如对 INVITE request的 2xx response。dialog由Call-ID、local tag和remote tag来区分#xff0c;也就是Call-ID 、from-tag和to-tag就可以确定一个dialog…这里就要先看下Dialog的定义。 dialog是两个UA之间持续一段时间的点对点 SIP关系。dialog通过SIP消息建立例如对 INVITE request的 2xx response。dialog由Call-ID、local tag和remote tag来区分也就是Call-ID 、from-tag和to-tag就可以确定一个dialog ID用于区分不同的dialog。在intial INVITE收到non-failure response(例如 200 ok) 时dialog就被创建但是只有带有to-tag的 2xx 和 101-199 response请求为 INVITE才会建立dialog。 而对于之前的non-final response这个期间的dialog 叫做early dialog而什么是final response在介绍transaction时会提到。
举例来说dialog ID 由Call-ID 、from-tag、和to-tag确定UAC在生成INVITE时会生成Call-ID及From tag在收到183 SESSION PROGRESS时就收到了UAS 的To tag此时就可以确定dialog ID根据这段描述此时对应的是early dialog而在收到final response即200 ok时才算是final dialog。
而re-INVITE的定义如下 INVITE 过程成功后会在两个UA之间建立dialog期间也会通过协商建立session。 在session进行过程中MO和MT可能需要修改session中的地址或端口、添加媒体流、删除媒体流等这时可以在当前建立的dialog中重新发送一个INVITE实现这就是所说的re-INVITE(即re-INVITE消息必须与intial INVITE消息处于同一dialog中)。也就是说re-INVITE是在当前dialog 中发送的此时已经有Call-ID 、from-tag和to-tag。
到这里结合dialog的定义就可以看出INVITE和re-INVITE的区别就是re-INVITE会带to-tag而initial INVITE因为还没有建立dialog所以是不带to-tag这也是区分两中INVITE的一个方法。