SIP协议测试总结

上一篇 / 下一篇  2011-07-11 11:44:33

 一:响应码定义

  1、响应(Response)

  1)1XX:临时响应,表示请求消息正在被处理。

  2)2XX:成功响应,表示请求已被成功接收,完全理解并被接受。

  3)3XX:重定向响应,表示需采取进一步以完成该请求。

  4)4XX:客户机错误,表示请求消息中包含语法错误信息或服务器无法完成客户机请求。

  5)5XX:服务器错误,表示服务器无法完成合法请求。

  6)6XX:全局故障,表示任何服务器无法完成该请求。

  100:临时响应,正在尝试

  180:振铃,UA收到INVITE请求之后用该响应通知用户,该响应也可以在发起一个本地回铃

  181:呼叫正在转发

  182:排队

  183:会话进行

  200:OK

  300网络协议不兼容:会话描述中的一个或多个网络协议不可用。

  301网络地址格式不兼容:会话描述中的一个或多个地址格式不可用。

  302传送协议不兼容:会话描述中的一个或多个传送协议不可用。

  303带宽单位不兼容:会话描述中的一个或多个带宽度量单位不被理解。

  304媒体类型不可用:对话描述中的一个或多个媒体类型不可用。

  305媒体格式不兼容:对话描述中的一个或多个媒体格式不可用。

  306媒体特征不被理解:对话描述中的一个或多个媒体特征不被支持。

  307对话描述参数不被理解:除上述几种参数之外的参数不被理解。

  330组播不可用:用户站点不支持组播。

  331单播不可用:用户站点不支持单播通信(通常是由于防火墙的存在)。

  370带宽不足:对话描述中定义的或者媒体定义的带宽超出可用带宽。

  399混合告警:该告警表示用户存在的任意一种错误,收到该告警的系统不可以采取任何自动的动作。

  401:未授权

  403:禁止

  404:未找到

  405:不允许的请求方法

  406:不接受

  407:代理服务器需要鉴权

  408:请求超时

  413:请求消息过大

  415:不支持的媒体类型

  414:Request-URI过长

  415:不支持媒体类型

  416:不支持的URI方案

  420:错误的扩展

  421:需要扩展支持

  423:间隔太短

  480:临时不可用

  481:呼叫/事务不存在

  482:检测到路由循环

  483:跳数太多

  484:地址不完整

  485:不明确

  486:正忙

  487:请求终止

  488:此处不接受

  493:无法解密

  501:不可实现

  502:错误网关

  503:业务不可使用

  504:服务器超时

  505:不支持版本

  513:消息过大

  600:忙

  603:拒绝

  604:用户不存在

  606:无法接受

二:消息体定义

  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

Max-Forwards: 70

  <=最大跳跃数,就是经过SIP服务器的跳跃次数,主要是防止循环跳跃

  <=每经过代理服务器,该整数减一

  To: G. Marconi <sip:Marconi@radio.org>

  From: Nikola Tesla <sip:n.tesla@high-voltage.org>;tag=76341

  <=表示请求消息的发送方和目标方

  <=如果里面有用户名标签,地址要求用尖括号包起来

  <=对于INVITE消息,可以在From字段中包含tag,它也是个随机码

  Call-ID:123456789@lab.high-voltage.org

  <=呼叫ID是由本地设备生成的,全局唯一值。每次呼叫该值唯一不变

  <=对于用户代理发送INVITE消息,本地将生成From tag和Call-ID全局唯一码,被叫方代理则生成To tag全局唯一码。这三个随机码做为整个对话中对话标识(dialog indentifier)在通话双方使用。

  CSeq: 1 INVITE

  <=CSeq,又叫命令队列(Command Seqence),每发送一个新的请求,该数自动加1

  * 以上几个字段是所有SIP消息体所必须的,其它头字段有些是可选的,有些在特定请求也是必须

  Subject: About That Power Outage...

  Contact: <sip:n.tesla@lab.high-voltage.org>

  <=Contact是INVITE消息所必须的,它用来路由到被叫设备地址,也称为用户代理(UA)

  Content-Type: application/sdp

  Content-Length: 158

  <=最后两位附属字段说明消息体类型以及字段长度

  v=0   <=SDP版本号,目前都是0

  o=Tesla 28908445262890844526 INIP4 lab.high-voltage.org   <=主叫源地址,类型等

  s=Phone Call

版权声明:本文出自yubiao584521的51Testing软件测试博客:http://www.51testing.com/?220076


TAG:

 

评分:0

我来说两句

日历

« 2021-12-09  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 6123
  • 日志数: 19
  • 建立时间: 2011-02-14
  • 更新时间: 2011-09-13

RSS订阅

Open Toolbar