SIP信令协议消息(四)SIP消息分类
请求消息消息含义
INVITE 发起会话请求,邀请⽤户加⼊⼀个会话,会话描述含于消息体中。对于两⽅呼叫来说,主叫⽅在会话描述中指⽰其能够接受的媒体类型及其参数。被叫⽅必需在成功响应消息的消息体中指明其希望接受哪些媒体,还可以指⽰其将发送的媒体。
ACK证实已收到对于INVITE请求的最终响应。该消息仅和INVITE消息配套使⽤。BYE结束会话
CANCEL取消尚未完成的请求,对于已完成的请求(即已收到最终响应的请求)则没有影响REGISTER注册
OPTIONS查询服务器的能⼒
美女bb图片
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 phra"可以进⼀步给出排队呼叫的信息, 例如: “队列中有5个呼叫, 期望等待时间为15分钟” 。 服务器可以发出多个182 响应来更新当前排队呼叫的信息。
会话进度( ssion progress) 应答⽤于提⽰建⽴对话的进度信息。
183会话进度( ssion progress) 应答⽤于提⽰建⽴对话的进度信息。Reason-Phra(表达原因的句⼦) 、 头域或者消息体可以⽤于提⽰呼叫进度的更新消息的信息。
200表⽰请求已经被接收、 处理并被成功接受
300多个选择(Multiple Choice) 请求中的地址被解析为多个位置, ⽤户可以将请求重定向到⼀个合适的地址。 该响应应该包含可供⽤户或⽤户代理选择
的位置和资源列表, 并且在Contact头域中, 列出可供选择的地址。 ( ⽹络协议不兼容:会话描述中的⼀个或多个⽹络协议不可⽤。 )
301永久离开(Moved Permanently) 在请求中Request-URI所指的地址找不到⽤户, 客户应该尝试Contact头域给出的新地址。 主叫收到该响应后应该更新所有的本地⽬录, 地址簿, ⽤户位置缓存并将以后的请求重定向到新的
地址。 ( ⽹络地址格式不兼容:会话描述中的⼀个或多个地址格式不可⽤。 )
302暂时离开( Moved Temporarily) 客户应该⽤Contact头域给出的新地址尝试呼叫。 响应中Expire头域指出该次重定向的有效期, 如果没有给出有效期,那么重定向只对当前呼叫有效。 ( 传送协议不兼容:会话描述中的⼀个或多
个传送协议不可⽤。 )
司马炎是谁的儿子303带宽单位不兼容:会话描述中的⼀个或多个带宽度量单位不被理解。304媒体类型不可⽤:对话描述中的⼀个或多个媒体类型不可⽤。
305使⽤代理( U 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请求所取消。
此处请求不接受(not acceptable here) 这个应答和606(Not Acceptable ) 有相同的含义, 但是只是应⽤于Request-URI所指出的特定资源不能接受在其他地⽅请求可能可以接受。 包含了媒体兼容性描述的消息体可以出现
488在其他地⽅请求可能可以接受。 包含了媒体兼容性描述的消息体可以出现
在应答中, 并且根据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 / rvice 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) ⽤户代理已经成功连接, 但某些会话描述如媒体类型、 带宽或地址风格不能接受。 该响应表⽰⽤户希望建⽴通信, 但不能充分⽀持请求所描述的会话