From
From头域包含了请求发起者的逻辑标志,可能是用户的address-of-record。就像To头域一样,From头域也包含一个URI并且可以包含一个显示的姓名(sip display info)。
To
To头域是第一个并且也是最先指定请求的”逻辑”接收地( “第一”是因为可能会refer to到另外一个接受地 ),
或者是这个请求的用户或者资源的address-of-record (比如 REGISTER和 SUBSCRIBE Method的 From, To 的URI是一样的)。
Call-ID
Call-ID是一个在一系列消息中,区分一组消息的唯一标志。在对话(dialog/callleg)中的任一UA的所有请求和所有应答的Call-ID必须一致。在UA的每次注册中,都应该是一样的。
注意,如果是请求的重新尝试(re-invite, 例如 Hold,Unhold,Session-timer,还有register机制),则重新尝试的请求不被当作一个新的请求,所以不需要新的Call-ID(重新尝试的请求例如:认证冲突等等)。
Cseq
由顺序号码和一个方法(method)组成。方法(method)必须和请求的方法一致。用来区分和作为事务(Transaction)的顺序。
Max-Forwards
Max-Forwards头域用来限制请求到他的目的地中间的跳转。它包含一个每隔一个跳转就自动减一的数字。如果Max-Forwards在到达目的之前就减到0,他会报告一个483(太多的路由)错误回应。这个字段的缺省值应该是70。该头域保证了在有环路的时候,尽量少消耗proxy的资源。
Via
Via头域是标志了用于事务(Transaction)传输的传输设备,并且也标志了应答送回的地址。只有当需要通过选择传输设备到达下一个节点(hop)的时候,才需要在头域中包含Via域。
Record-Route
Contact
Contact头域提供了访问后续请求的特定UA实例的联系方法。
Contact的作用域是全局性的。这就是说,Contact头域中包含的URI是UA能够接收请求的。
Supported 和 Require,Proxy-Require
如果UAC支持服务端响应相应请求的SIP扩展,UAC应该在请求的时候包含一个Supported头域说明options tags描述那些SIP扩展。
option tags中出现的扩展说明必须是遵循RFCs的标准扩展说明。这样可以防止服务端支持非标准的客户端扩展实现。
如果UAC要求UAS能够支持扩展,以便UAS能够处理UAC的特定请求,那么它必须在请求头中增加一个Require头域来说明处理本特定请求需要什么样的一个扩展option tags。
如果UAC需要请求经过的所有PROXY都支持它发出的某个请求的扩展部分,它必须增加一个Proxy-Require头域来说明需要Proxy支持何种option tag扩展。如同在Supported头域指出的,Require和Proxy-Require头域中的option字段必须限定于RFCs的标准扩展。
//TODO