当前位置:文档之家› SIP协议测试总结

SIP协议测试总结

SIP协议测试总结

一:响应码定义

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@ SIP/2.0

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

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

Via: SIP/2.0/UDP :5060;branch=z9hG4bKfw19b

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

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

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

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

Max-Forwards: 70

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

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

To: G. Marconi

From: Nikola Tesla ;tag=76341

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

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

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

Call-ID:123456789@

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

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

CSeq: 1 INVITE

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

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

Subject: About That Power Outage...

Contact:

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

Content-Type: application/sdp

Content-Length: 158

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

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

相关主题