IP电话机、视频可视电话通信产品及组网方案

IP电话中SIP应答消息格式

时间:2019-10-25 08:05 作者:admin 分享到:
       当服务器收到一个SIP请求消息并执行后,服务器根据对请求的执行情况要返回一 个或多个SIP应答消息。SIP应答消息与HTTP应答消息格式几乎一样。应答消息的 格式定义如下:
          Response = Status-Line
            • (general-header
           I response-header
           I entity-header)
             CRLF
            [message-body];
        SIP应答消息的起始行是状态行,状态行由SIP-Version开始,接着是一个表示应答 结果的3位十进制数字的状态码,起始行还可能包含一个原因说明,用文本形式对结果进 行描述,然后由一个CRLF行结束符结束状态行。客户端软件将解释这些状态代码并进 行相应处理,原因说明则用来提供给用户以直观的形式辅助人们对应答的理解。
        状态行的格式定义如下
        Status-Line = SIP-Version SP Status-Code SP Reason-Phrase CRLF
        状态代码在RFC 2543中进行定义,它的值在100和699之间,第一个数字表示应答 的级别,因此在100和199之间的所有状态代码属于同一个级别。不同的级别说明如下。
        1.、1XX
       1XX是临时响应,表示请求消息正在被处理。
• 100表示试呼(Trying),正在进行与呼叫有关的操作(如访问数据库),但被叫用户 还没有定位。
• 180表示被叫振铃(Ringing),被叫用户代理已经得到被叫的位置,正在提醒被叫用户。
• 181表示这个呼叫正在转移。
• 182表示这个呼叫正在排队。

         2、 2XX
      2XX是成功响应,表示请求已被成功接收,完全理解并被接收。这里仅定义了 200这个代码,表示请求被识别并执行完成。在INVITE情况下,200用来指出被叫方已接受这个呼叫。
        3、3XX
       3XX是重定向响应,表示需采取进一步操作以完成该请求。
• 300表示多个选择(Multiple Choice),请求中的地址被解析为多个位置,用户可以 将请求重定向到一个合适的地址。该响应应该包含可供用户或用户代理选择的 位置和资源列表,并且在Contact头域中列{ipg•供选择的地址。
• 301表示永久离开(Moved Permanently),在请求中Request-URL所指的地址找 不到用户,客户应该尝试Contact头域给出的新地址。主叫收到该响应后应该更 新所有的本地目录、地址簿、用户位置缓存并将以后的请求重定向到新的地址。
• 302表示暂时离开(Moved Temporarily),客户应该用Contact头域给出的新地址 尝试呼叫。响应中Expires头域指出该次重定向的有效期,如果没有给出有效 期,那么重定向只对当前呼叫有效。
• 305表示使用代理(Use Proxy),客户所请求的资源必须通过Contact头域中给出的 代理来访问。Contact头域给出代理的URL。该响应只能由用户代理服务器发出。
• 380表示使用其他服务(Alternate Service)。呼叫不成功,但是可选其他的服务 (如,电子邮件、语音信箱)。该响应的消息体给出可选服务的描述。

        4、4XX
       4XX是客户机错误响应,表示请求消息中包含语法错误信息或服务器无法完成客户 机请求。
• 400表示无效请求(Bad Request),请求语法有误,不能被服务器理解。
• 401表示未授权(Unauthorized),请求需要用户认证。
• 402表示要求付费(Payment Required),该响应为将来使用保留。
• 403表示禁止(Forbidden),服务器理解请求,但拒绝完成。客户不应该再次发请求。
• 404表示未找到用户(Not Found),请求中Request-URL给出的地址上没有要呼 叫的用户。当Request-URL给出的地址与服务器管理的域不匹配时,服务器也 发送该响应。
• 405表示方法不允许(Method Not Allowed),请求行中指定的方法不被允许。该 响应必须包含Allow头域,列出服务器支持的方法。
• 406表示;个可接受(Not Acceptable),根据请求中的Accept头域,由请求给出的 资源产生的响应实体里面的内容字符不可接受。
• 407表不需要代理认证(Proxy Authentication Required),该响应与401(未授权) 类似,但它指示用户必须首先向代理认证自己。
• 408表示请求超时(Request Timeout),服务器不能在请求的Expires头域指定的 时间内产生响应,客户可以过一段时间重发请求。
• 409表示冲突(Conflict),客户的请求与资源的当前状态冲突,不能完成请求。当 REGISTER请求的action参数与现存的注册冲突时返回该响应。
• 410表示无可用资源(Gone),服务器上没有所请求的资源,也不知道进一步联系 的地址。这种情况被认为是永久的。如果服务器不能确定该情况是否是永久的, 它应该发送404(被叫未找到)响应。

        5、 5XX
       5XX是服务器错误响应,表示服务器无法完成合法请求。
• 500表示服务器内部错误(Server Internal Error),服务器出现异常情况,不能处 理请求。
• 501表示功能未实现(Not Implemented),服务器不支持完成请求所必需的功能。
• 502表示网关错误(Bad Gateway),作为网关或代理的服务器在处理请求时从其 他服务器接收到一个无效响应。
• 5 03表示服务不Hj用(Service Unavailable),由于临时超载或正在维护,服务器当 前不能处理请求。
• 504表示网关超时(Gateway Timeout),作为网关的服务器在处理呼叫的过程中 没有及时收到其他服务器(如定位服务器)的响应。
• 505表示版本不支持(Version Not Supported),服务器不能或拒绝支持请求消息 所用的版本。

        6、6XX
       6XX是全局故障响应,表示任何服务器无法完成该请求。
• 600表示全忙(Busy Everywhere),被叫的终端系统已经成功连接,但用户正忙,不 能够接受当前呼叫。服务器可以在响应的Retry-After头域中另外指定一个访问 时间。该响应仅用于客户不能通过其他方式(如语音邮箱)访问的情况。如果用 户可通过其他方式访问,则应返回486(Busy Here)响应。
• 603表示拒绝(Decline),被叫的终端系统已经成功连接,但用户明确不愿接受当 前呼叫。服务器可以在响应的Retry-After头域中另外指定一个访问时间。
• 604表示被叫不存在(Does Not Exist Anywhere),请求的To头域指定的用户不存在。
• 606表示不可接受(Not Acceptable),用户代理已经成功连接,但某些会话描述 (如媒体类型、带宽或地址风格)不能接受。该响应表示用户希望建立通信•似不 能充分支持请求所描述的会话(如604,它表明被叫方用户不存在)。

        除了 1XX应答,所有的应答都被认为是最终的,如果起始消息是INVITE的话,应该 使用ACK消息进行确认。1XX应答是临时的,不需要被确认。

版权所有:IP电话:http://www.g3voip.com 转载请注明出处

热销IP电话产品hot products