二:消息体定义

  Call-ID:头字段是用来将消息分组的性标识

  From:头字段是指示请求发起方的逻辑标识,它可能是用户的注册地址。From头字段包含一个URI和一个可选的显示名称

  CSeq:头字段用于标识事务并对事务进行排序。它由一个请求方法和一个序列号组成,请求方法必须与对应的请求消息类型一致

  Max-Fowords:头字段限定一个请求消息在到达目的地之前允许经过的大跳数。它包含一个整数值,每经过一跳,这个值被减一。如果在请求消息到达目的地之前该值变为零,那么请求将被拒绝并返回一个483(跳数过多)错误响应消息。

  Via:头字段定义SIP事务的下层(传输层)传输协议,并标识响应消息将要被发送的位置。只有当到达下一跳所用的传输协议被选定后,才能在请求消息中加入Via头字段值。

  expires:参数指出了该值中包含的URI地址的有效期。这个参数的值是以秒为单

  位计算的。如果没有提供该参数,那么URI地址的有效期由Expires头字段值来确定。

  三:SIP请求的6种方法:

  1、 邀请(INVITE)??邀请用户加入呼叫

  2、 确认(ACK)??确认客户机已经接收到对INVITE的终响应

  3、 可选项(OPTIONS)??请求关于服务器能力的信息

  4、 再见(BYE)??终止一呼叫上的两个用户之间的呼叫

  5、 取消(CANCEL)

  6、 注册(REGISTER)??提供地址解析的映射,让服务器知道其它用户的位置

  四:INVITE请求详解:

  INVITE sip:marconi@radio.org SIP/2.0

  <= 请求方法、请求地址(Request-URI)、SIP版本号(目前都是SIP/2.0)

  <=请求地址一般是被叫方地址,跟MSN中好友eMail地址类似

  Via: SIP/2.0/UDP lab.high-voltage.org:5060;branch=z9hG4bKfw19b

  <=SIP版本号(2.0)、传输类型(UDP)、呼叫地址、

  <=branch是一随机码,它被看作传输标识

  <=Via字段中地址是消息发送方或代理转发方设备地址,一般由主机地址和端口号组成

  <=传输类型可以为UDP、TCP、TLS、SCTP