SIP应答码是协议中重要的部分,可以表明请求的处理状态。但需要注意的是,应答码不能反应产生状态的真实原因,例如,返回486不一定代表被叫拒绝接听呼叫,但是通常是表示拒接。
以下内容参考RFC3261:
Provisional 1xx:
临时应答,表明服务器已经开始进一步处理请求,但还没有获得最终的处理结果。1xx应答不会被可靠传输,不会触发客户端回复ACK
100 Trying: 表明请已经被下一跳服务器处理,像其它的临时应答一样,会停止UAC 对于INVITE消息的重传。与其它临时应答不同的是,100 不会被有状态的代理转发。
180 Ringing: 表明被叫已经收到INVITE正在通过振铃等方式提醒用户,这个应答也会触发通话发起方产生回铃声
181 Call Is Being Forwarded: 服务器可以用这个应答表明呼叫正在转移到不同的目的地址
182 Queued: 被叫方暂时不可用,服务器决定不拒绝该呼叫,而是进入排队状态,当被叫进入可用状态时,返回合适的最终应答
183 SessionProgress: 呼叫正在处理中
Successful 2xx: 表明请求处理成功
200 OK: 请求被成功处理
202 accept: 同200 OK, 不常见
Redirection 3xx
3xx应答通过提供用户新的位置来重定向请求
300 Multiple Choices: 请求的目的地址被解析为多个可选择的位置,用户可以重定向请求到一个喜欢的地址
301 Moved Permanently: 永久转移, 被叫用户的目的地址已经永久变更,主叫以后要通过新的地址呼叫被叫。同时,主叫需要更新本地地址簿。
302 Moved Temporarily: 暂时转移,仅为当前请求重定向使用。SIP中的refer转接功能会使用。
305 Use Proxy: 使用代理,请求需要通过305应答提供的代理完成。
380 Alternative Service: 可代替的服务,请求不能被当前服务完成,380返回的可代替服务有可能完成。可代替的服务信息通过消息体返回,目前还没有相关的格式定义。
Request Failure 4xx 请求失败
400 Bad Request 错误的请求,一般是语法错误
401 Unauthorized: 未授权,要求用户对请求进行认证
402 Payment Required: 保留
403 Forbidden: 拒绝服务,比如注册时用户口令错误
404 Not Found: 不存在,比如没有找到该用户
405 Method Not Allowed: 请求方法不被允许,应答会包含允许头域和方法列表
406 Not Acceptable: 请求不被接受
407 Proxy Authentication Required: 代理需要认证,与401流程类似
408 Request Timeout: 请求超时
410 Gone:请求资源不存在
413 Request Entity Too Large: 请求的消息太大
414 Request-URI Too Long: 请求的URI太长
415 Unsupported Media Type: 不支持的媒体类型
416 Unsupported URI Scheme: 不支持的URI机制
420 Bad Extension: 不支持的扩展
421 Extension Required: 需要扩展支持
423 Interval Too Brief: 间隔时间太短,比如注册超时时间小于服务器要求的最小时间
480 Temporarily Unavailable: 暂时无应答
481 Call/Transaction Does Not Exist: 呼叫或事务不存在
482 Loop Detected: 检测到消息循环
483 Too Many Hops: 经过太多次转发,Max-Forwards字段为0
484 Address Incomplete: 地址不完整
485 Ambiguous:请求URI是模糊的、不确定的
486 Busy Here: 被叫忙
487 Request Terminated: 请求终止
488 Not Acceptable Here: 不被接受,比如媒体参数
491 Request Pending: 有未响应的请求
493 Undecipherable: 不被理解的
Server Failure 5xx 服务端失败
500 Server Internal Error: 服务器内部错误
501 Not Implemented: 不支持该功能
502 Bad Gateway:不合适的网关
503 Service Unavailable: 服务不可用
504 Server Time-out: 服务器超时
505 Version Not Supported: SIP协议版本不支持
513 Message Too Large: 消息太大
Global Failures 6xx 全局失败
600 Busy Everywhere: 忙,且不希望重新尝试请求
603 Decline: 用户忙,不希望参与
604 Does Not Exist Anywhere: 不存在
606 Not Acceptable: 不接受