SIP 进 阶 ----wireshark 使用及实例分析 一 、SIP 会话概念: Call-ID:一 个会话的唯一 标识 CSeq:对应一 个序号+请求方法,例如 60 INVITE,对应的响应也需要和这个 CSeq 一 致,每次不同的事务 CSeq 都需要+1,uac 和 uas 独立计算 Branch:会话中一 个事务的唯一 标识,一 个事务简单说就是请求+响应,按标准必须以z9hG4bK 开头,一 般来说所有的请求的 Branch 都是不一 样的,除了两个特殊的:CANCEL和针对非 2xx 响应的 ACK 需要和其取消的请求有一 致的 Branch From tag:会话中 uac 标识 To tag:会话中 uas 标识 以 call_id
pcapng 中的例子讲解: 1
[Call-ID]从最初的 INVITE 到最后 BYE 结束通话,整个算同一 个会话,所以这中间的其他请求(I 帧请求和 Session Timer 更新也是包含在这个会话当中)和响应都是同一 个 Call-ID: 2
[Branch]初始 INVITE、uas 响应的 100/422、uac 的 ACK 确认是一 个事务,Branch 应该一 样,这里 ACK 因为是对 422(非 2xx)响应的,所以 Branch 也一 致 接下来的 INVITE、uas 响应的 180/200 是一 个事务,而 ACK 是针对 200ok(2xx)的,所以是一 个单独的 Branch 会话过程中的 INFO 和 UPDATE 和对应的响应都是不同的 Branch,最后的 BYE 和 200 又是一 次事务,整个会话结束 3
[From tag&To tag]整个会话过程中 From tag 和 To tag 都是唯一 的 4
[Cseq]uac 和 uas 的 CSeq 独立计算二 、wi