SIP信令协议消息(四)

SIP消息分类

请求消息消息含义
INVITE发起会话请求,邀请用户加入一个会话,会话描述含于消息体中。对于两方呼叫来说,主叫方在会
话描述中指示其能够接受的媒体类型及其参数。被叫方必需在成功响应消息的消息体中指明其希望
接受哪些媒体,还可以指示其将发送的媒体。
ACK证实已收到对于INVITE请求的最终响应。该消息仅和INVITE消息配套使用。
BYE结束会话
CANCEL取消尚未完成的请求,对于已完成的请求(即已收到最终响应的请求)则没有影响
REGISTER注册
OPTIONS查询服务器的能力
MESSAGE发送IP短信息
SUBSCRIBE用来请求对方节点的当前状态以及后续状态变化的请求方法,从网络订阅消息
NOTIFY用于向服务器请求返回当前状态消息
UPDATE更新会话媒体信息
PRACK类似ACK功能,但PRACK响应为临时响应
PUBLISH
INFO

SIP响应消息分类

序号消息功能
1XX临时响应, 表示请求消息正在被处理。
2XX成功响应, 表示请求已被成功接收, 完全理解并被接受。
3XX重定向响应, 表示需采取进一步以完成该请求。
4XX客户机错误, 表示请求消息中包含语法错误信息或服务器无法完成客户机请求。
5XX服务器错误, 表示服务器无法完成合法请求。
6XX全局故障,表示任何服务器无法完成该请求。

SIP信令协议消息

100试呼(Trying) 正在进行与呼叫有关的操作(例如:访问数据库) , 但被叫
用户还没有定位。
180被叫振铃( Ringing) 被叫用户代理已经得到被叫的位置, 正在提醒被叫用
户。 该响应也可以再发起一个本地回铃
181呼叫前转(Call Is Being Forwarded) 代理服务器可以用该状态码表示当前
呼叫正被转移到其它目的地。 (呼叫正在转发)
182呼叫排队(Queued) 被叫暂时不可访问, 当前呼叫被排队而不是被拒绝。
当服务器有效时, 可以继续响应该呼叫。 该响应的"reason phrase"可以进
一步给出排队呼叫的信息, 例如: “队列中有5个呼叫, 期望等待时间为15
分钟” 。 服务器可以发出多个182 响应来更新当前排队呼叫的信息。
183会话进度( session progress) 应答用于提示建立对话的进度信息。
Reason-Phrase(表达原因的句子) 、 头域或者消息体可以用于提示呼叫进
度的更新消息的信息。
200表示请求已经被接收、 处理并被成功接受
300多个选择(Multiple Choice) 请求中的地址被解析为多个位置, 用户可以将
请求重定向到一个合适的地址。 该响应应该包含可供用户或用户代理选择
的位置和资源列表, 并且在Contact头域中, 列出可供选择的地址。 ( 网络
协议不兼容:会话描述中的一个或多个网络协议不可用。 )
301永久离开(Moved Permanently) 在请求中Request-URI所指的地址找不到
用户, 客户应该尝试Contact头域给出的新地址。 主叫收到该响应后应该更
新所有的本地目录, 地址簿, 用户位置缓存并将以后的请求重定向到新的
地址。 ( 网络地址格式不兼容:会话描述中的一个或多个地址格式不可用。 )
302暂时离开( Moved Temporarily) 客户应该用Contact头域给出的新地址尝
试呼叫。 响应中Expire头域指出该次重定向的有效期, 如果没有给出有效期,
那么重定向只对当前呼叫有效。 ( 传送协议不兼容:会话描述中的一个或多
个传送协议不可用。 )
303带宽单位不兼容:会话描述中的一个或多个带宽度量单位不被理解。
304媒体类型不可用:对话描述中的一个或多个媒体类型不可用。
305使用代理( Use Proxy) 客户所请求的资源必须通过Contact头域中给出的
代理来访问。 Contact头域给出代理的URI。 该响应只能由用户代理服务器
发出。 (媒体格式不兼容:对话描述中的一个或多个媒体格式不可用。 )
306媒体特征不被理解:对话描述中的一个或多个媒体特征不被支持。
307对话描述参数不被理解:除上述几种参数之外的参数不被理解
330组播不可用:用户站点不支持组播
331单播不可用:用户站点不支持单播通信(通常是由于防火墙的存在)
370带宽不足:对话描述中定义的或者媒体定义的带宽超出可用带宽。
380使用其它服务( Alternate Service) 呼叫不成功, 但是可选其它的服务
(如:电子邮件, 语音信箱) 。 该响应的消息体给出可选服务的描述。
399混合告警:该告警表示用户存在的任意一种错误,收到该告警的系统不可
以采取任何自动的动作
400无效请求(Bad Request) 请求语法有误, 不能被服务器理解。
401未授权(Unauthorized) 请求需要用户认证。
402要求付费(Payment Required) 该响应为将来使用保留。
403禁止(Forbidden) 服务器理解请求, 但拒绝完成。 客户不应该再次发请
求。
404未找到用户( Not Found) 请求中Request-RUL给出的地址上没有要呼
叫的用户。 当Request-RUL给出的地址与服务器管理的域不匹配时, 服
务器也发送该响应。
405方法不允许(Method Not Allowed) 请求行中指定的方法不被允许。 该
响应必须包含Allow头域, 列出服务器支持的方法。
406不可接受(Not Acceptable) 根据请求中的Accpe头域, 由请求给出的资
源产生的响应实体里面的内容字符不可接受。
407需要代理认证(Proxy Authentication Required) 该响应与401(未授权)
类似, 但它指示用户必须首先向代理认证自己。
408请求超时(Request Timeout) 服务器不能在请求的Expire头域指定的时
间内产生响应。 客户可以过一段时间重发请求。
409冲突(Conflict) 客户的请求与资源的当前状态冲突, 不能完成请求。 当
REGISTER请求的action参数与现存的注册冲突时返回该响应。
410无可用资源(Gone) 服务器上没有所请求的资源, 也不知道进一步联系
的地址。 这种情况被认为是永久的。 如果服务器不能确定该情况是否是
永久的, 它应该发送404(被叫未找到) 响应。
411需要消息体长度(Length Required) 服务器拒绝接受没有包含Content-Length头域的
请求。 客户何以在加入一个表示消息体长度的Cotent-Length头域后重发请求。
413请求实体过长(Request Entity Too Large) 服务器拒绝处理过长的消息实体。 如果这
种情况是暂时的, 服务器应该在响应中包含Retry-After头域指示客户何时重发请求。
414Request-URI过长(Request-URI Too Long) 服务器不能解析过长的Request-URI。
415媒体类型不支持(Unsupported Media Type) 服务器不支持请求消息体的格式。 服务
器应该在响应中用Accept, Accept-Encoding 和Accept-Language头域列出它支持的
格式。
416不支持的URI方案( unsupported url scheme) 服务器由于不支持Request-URI中的
URI方案而终止处理这个请求。
420错误的扩展(Bad Extension) 服务器不理解请求中Require头域指定的协议扩展。
421

需要扩展支持(extension required) UAS需要特定的扩展来处理这个请求, 但是这个
扩展并没有在请求的Supported头域中列出。 具有这个应答码的应答必须包含一个
Require头域列出所需要的扩展。

UAS不应当使用这个应答除非它真的不能给客户端提供有效的服务。 相反, 如果在
Support头域中没有列出需要的扩展, 服务器应当根据基准的SIP兼容的方法和客户端
支持的扩展来进行处理。

423间隔太短(interval too brief) 服务器因为在请求中设置的资源刷新时间(或者有效时
间) 过短而拒绝请求。 这个应答可以用于注册服务器来拒绝那些Contact头域有效期过
短的注册请求。
480暂时不可访问( Temporarily Unavailable) 被叫的终端系统已经成功连接, 但用户暂
时不可访问(例如:用户未登录, 或登录为免打扰) 。 服务器可以在Retry-After头域
中另外指定一个访问时间。
481呼叫支路/事务不存在(Call leg/Transaction Does Not Exist) 在两种情况下服务器返
回该响应:服务器收到一个BYE请求但找不到匹配的呼叫支路;或是收到一个
CANCEL请求但找不到匹配的事务;或是收到与原来TAG标志不一样的INVITE请求。
(对于无匹配的ACK请求, 服务器直接将它丢弃, 不响应) 。
482检测到循环呼叫(Loop Detected) 请求消息的Via头域中包含接收服务器自身的地址。
483跳数过多(Too Many Hop) 请求的Via头域包含的条目数(跳数) 超过Max-Forwards
头域指定的值。
484地址不全(Address Incomplete) 请求的To或Request-RUL所指的地址不全。
485地址不明确(Ambiguous) 请求中提供的被叫地址不明确。 该响应可以在Contact头域
中列出不明确的地址。
486被叫忙(Busy Here) 被叫的终端系统已经成功连接, 但用户暂时不愿意或不能够接
收更多的呼叫。 服务器可以在响应的Retry-After头域中另外指定一个访问时间。 客户
也可能通过其它方式访问, 如:语音邮箱, 因此该响应并不终止一个查询。 如果我们
知道没有其他终端系统能够接听这个呼叫, 那么应当返回一个状态码600( Busy
Everywhere) 。
487请求被拒绝(Request Cancelled) 原来的请求消息被一个CANCEL请求所
取消。
488此处请求不接受(not acceptable here) 这个应答和606(Not Acceptable
) 有相同的含义, 但是只是应用于Request-URI所指出的特定资源不能接受
在其他地方请求可能可以接受。 包含了媒体兼容性描述的消息体可以出现
在应答中, 并且根据INVITE请求中的Accept头域进行规格化( 如果没有
Accept头域, 那么就是application/sdp) 。 这个应答就像给OPTIONS请求
的200(OK)应答的消息体一样。
491未决请求( request pending) 在同一个对话中, UAS接收到的请求有一个
依赖的请求正在处理。
493无法解密(undecipherable) 不可辨识, UAS接收到了一个请求, 包含了一
个加密的MIME,并且不知道或者没有提供合适的解密密钥。 这个应答可以包
含单个包体, 这个包体包含了合适的公钥, 这个公钥用于给这个UAS通讯
中加密包体使用的。
500服务器内部错误( Server Internal Error) 服务器出现异常情况, 不能处理
请求。
501功能未实现(Not Implemented 不可执行) 服务器不支持完成请求所必需的
功能。
502网关错误(Bad Gateway) 作为网关或代理的服务器在处理请求时从其它服
务器接收到一个无效响应。
503服务不可用(Sevice Unavailable) 由于临时超载或正在维护, 服务器当前
不能处理请求。
504网关超时(Gateway Timeout / service Time-out 服务器超时) 作为网关的
服务器在处理呼叫的过程中没有及时收到其它服务器(例如:定位服务器)
的响应。
505版本不支持( Version Not Supported) 服务器不能或拒绝支持请求消息所
用的版本。
513消息过大(message too large)
600全忙(Busy Everywhere) 被叫的终端系统已经成功连接, 但用户正忙, 不
愿够接受当前呼叫。 服务器可以在响应的Retry-After头域中另外指定一个访
问时间。 该响应仅用于客户不能通过其它方式(如:语音邮箱) 访问的情况
如果用户可通过其它方式访问, 则应返回486(Busy Here) 响应。
603拒绝( Decline) 被叫的终端系统已经成功连接, 但用户明确不愿接受当前
呼叫。 服务器可以在响应的Retry-After头域中另外指定一个访问时间。
604被叫不存在(Does Not Exist Anywhere) 请求的To头域指定的用户不存在
606不可接受(Not Acceptable) 用户代理已经成功连接, 但某些会话描述如媒
体类型、 带宽或地址风格不能接受。 该响应表示用户希望建立通信, 但不能
充分支持请求所描述的会话

  • 1
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值