sip头域

一、示例

INVITE sip:victor@add.ultrapower.com.cn;transport=tcp SIP/2.0
Via: SIP/2.0/TCP 192.168.5.162;branch=z9hG4bK381ACAFC.537D4376;branched=FALSE;
Max-Forwards: 69
Contact: <sip:long@add.ultrapower.com.cn:2992;maddr=192.168.5.162;transport=tcp;ms-received-cid=B100>
Via: SIP/2.0/TCP 192.168.5.162:11499;ms-received-port=2992;ms-received-cid=b100        Record-Route: <sip:helen.add.ultrapower.com.cn;transport=tcp>;tag=9B8AE5F9C759FB02F679AFD6CB71394C
From: <sip:long@add.ultrapower.com.cn>;tag=704b1683edd4438f85a34adb6201e078;epid=d9176cec0c
To: <sip:victor@add.ultrapower.com.cn>;epid=203e516cd9
Call-ID: d455d3faf197403482154b9a319f54e0
CSeq: 1 INVITE
Require: com.microsoft.rtc-multiparty
Content-Type: application/sdp
Content-Length: 134

二、解析

(1)起始行:本消息属于Request Line,它所包含的信息: RequestType: 方法名就是INVITE,表示邀请其他用户加入会话 Request-URI: sip:long@add.ultrapower.com.cn;transport=tcp, 这属于SIP URI中的“Address-of-Record(AOR)”种类。 SIP Version:2.0版本号。

(2)via:记录了请求在SIP网络中的路由路径。 最下面的Via是初始化这个请求的UA(User Agent)插入的; 上面的Via都是在这个路由路径上的Proxy们插入的。Via头域就是用来指示如何将响应沿原路返回到UA的。(上面是最新的

(3)Max-Forwards:最大转发数,用来限制一个SIP请求消息所能经过的实体的最大数目。 如果消息拷贝中包含一个Max-Forwards字段,代理服务器必须将其减一。 如果消息拷贝中不含Max-Forwards字段,代理服务器必须加入该字段,其值应该为70。 如果请求消息中包含Max-Forwards字段,且其值为零,则SIP实体不得转发,并且返回483(Too Many Hops)响应。

(4)From Tag,To Tag,和Call-ID构成了dialog信息,可以唯一标识一个dialog。  在本次呼叫(Call)中的所有请求和响应将使用同样dialog信息。Call-ID的构成: 伪随机数字+”@”+主机名或者IP地址。

(5)CSeq: Command Sequence Number 用于标识事务并对事务排序。由一个序列号和请求方法组成。 呼叫开始时初始化CSeq。非REGISTER请求的CSeq,序列号值可以是一个任意的32位无符号整数。CSeq按照各自方向严格单向按1递增。 CSeq能够区分某个请求是新请求还是重发的请求。

(6)Contact: 包含的SIP/SIPS URI是UA希望用来接收请求的地址,后续请求可以用它来联系到当前UA。 如果代理服务器没有插入Record-Route字段来希望自己留在后续请求消息的传输路径上,那么可以忽略这些代理服务器,后续请求直接用Contact字段的URI来通讯。 当Contact中包含一个显示名称时,带有所有的URI参数的URI应该放入尖括号<>中。

(7)Record-Route: 如果代理服务器希望自己留在后续请求消息的传输路径上,而这些后续请求消息属于由当前请求创建的一个对话,那么即使请求中已经出现了Route字段,代理服务器也必须在请求消息的拷贝中已有的Record-Route字段值之前插入一个Record-Route字段。

(8)Content-Type: 定义消息实体的类型,如text/plain,或application/sdp。如果消息体不为空,Content-Type字段必须存在。 Content-Length: 定义消息实体的长度,单位为字节。 SIP消息实体不能采用HTTP 1.1中所定义的“Chunked”传送编码机制。

三、示例扩展

v=0
o=-0 0 IN IP4 192.168.5.162
s=session
c=IN IP4 192.168.5.162
t=0 0
m=message 5060 sip sip:victor@add.ultrapower.com.cn

Version Number,协议版本
Origin,所有者/创建者和会话标识符
Subject,会话名称
Connection Data,连接信息
Time,会话活动时间
Media(type, port, RTP/AVP Profile),媒体名称和传输地址

原文地址:https://www.cnblogs.com/zhangxianrong/p/14265799.html