sip消息类型和消息代码详解
Sip 响应状态码功能对照详解

SIP应答消息状态码与类型状态码状态说明ﻫ临时应答(1XX)100 Trying 正在处理中182queue 排队181call being forwarder呼叫正在前向ﻫ180Ringing振铃ﻫ181* sessionprogress会话进行会话成功(2XX)200OK 会话成功重定向(3XX)300 multiple 多重选择301 moved permanently 永久移动302 movedtemporaily 临时移动305 use proxy 用户代理380 alternative service 替代服务请求失败(4XX) 400bad request 错误请求ﻫ401unauthorized未授权402 payment required 付费要求403 forbidden禁止404 not found 未发现405method no allowed 方法不允许406 not acceptable 不可接受ﻫ407 proxyauthentication required 代理需要认证ﻫ408request timeout请求超时ﻫ410gone离开414request—url too long 请求URL太长ﻫ415413 request entity too large请求实体太大ﻫunsupported media type不支持得媒体类型416unsupportedurl scheme 不支持得URL计划ﻫ420bad extension 不良扩展ﻫ421e xtension required需要扩展481call/tran 423intervaltoo brief间隔太短ﻫ480 temporarily unavailable临时失效ﻫ482loopdetected 发现环路ﻫ483 too m sactiondoes not exist 呼叫/事务不存在ﻫ485ambiguous 不明朗ﻫ486busy 484address inplete 地址不完整ﻫanyhops跳数太多ﻫhere这里忙487requestterminated请求终止ﻫ488not acceptable here 这里请求不可接受491request pending 未决请求493undecipherable不可辨识服务器失败(5XX)500server internal error 服务器内部错误5ﻫ01 notimplemented不可执行502 bad gateway 坏网关503 service unavailable 服务无效ﻫ505version n504servertime-out 服务器超时ﻫotsupported版本不支持513message toolarge 消息太大全局性错误(6XX) 600 busy everywhere 全忙ﻫ603 decline丢弃ﻫ604 does not existany where不存在606 not acceptable不可接受SIP应答代码(以下就是详细内容)应答码就是包含了,并且扩展了/1、1应答码。
SIP协议主要消息 (3)

SIP协议主要消息协议名称:SIP协议主要消息一、引言本协议旨在详细描述SIP(Session Initiation Protocol,会话初始协议)的主要消息,包括其定义、结构和功能。
SIP是一种用于建立、修改和终止多媒体味话的应用层协议,广泛应用于VoIP(Voice over Internet Protocol,互联网语音通信)和实时通信系统中。
二、协议概述SIP协议主要通过请求和响应的方式进行通信,使用文本格式的消息进行交互。
SIP消息由起始行、头部字段和消息体组成,其中起始行包含请求或者响应的方法、URI(Uniform Resource Identifier,统一资源标识符)和SIP版本信息。
头部字段包含了关于消息的元数据,而消息体则携带了具体的数据内容。
三、主要消息类型1. INVITE:该消息用于建立会话,发起方向被叫方发送INVITE请求,包含了被叫方的SIP地址和媒体描述信息。
2. ACK:该消息用于确认INVITE请求的接收,发起方在收到200 OK响应后发送ACK请求,表示会话建立成功。
3. BYE:该消息用于终止会话,可以由任意一方发送,对方收到BYE请求后会发送200 OK响应,表示会话终止。
4. CANCEL:该消息用于取销未完成的请求,普通用于取销INVITE请求,以便重新发起新的请求。
5. REGISTER:该消息用于注册用户地址,用户向服务器发送REGISTER请求,以便在服务器上注册自己的SIP地址。
6. OPTIONS:该消息用于查询服务器的能力,普通用于检测对方是否在线或者支持特定功能。
7. INFO:该消息用于传输非实时信息,如传输DTMF(Dual-tone Multi-frequency)信号等。
四、消息格式和示例1. INVITE消息格式:```INVITE sip:alice@example SIP/2.0Via: SIP/2.0/UDP 192.0.2.1;branch=z9hG4bK776asdhdsMax-Forwards: 70To: <sip:alice@example>From: <sip:bob@example>;tag=1928301774Call-ID: a84b4c76e66710CSeq: 314159 INVITEContact: <sip:bob@example>Content-Type: application/sdpContent-Length: 142v=0o=bob 2890844526 2890844526 IN IP4 192.0.2.1s=-c=IN IP4 192.0.2.1t=0 0m=audio 49172 RTP/AVP 0a=rtpmap:0 PCMU/8000```2. ACK消息格式:```ACK sip:alice@example SIP/2.0Via: SIP/2.0/UDP 192.0.2.1;branch=z9hG4bK776asdhds Max-Forwards: 70To: <sip:alice@example>From: <sip:bob@example>;tag=1928301774Call-ID: a84b4c76e66710CSeq: 314159 ACKContact: <sip:bob@example>Content-Length: 0```3. BYE消息格式:```BYE sip:alice@example SIP/2.0Via: SIP/2.0/UDP 192.0.2.1;branch=z9hG4bK776asdhds Max-Forwards: 70To: <sip:alice@example>From: <sip:bob@example>;tag=1928301774Call-ID: a84b4c76e66710CSeq: 314160 BYEContact: <sip:bob@example>Content-Length: 0```4. CANCEL消息格式:```CANCEL sip:alice@example SIP/2.0Via: SIP/2.0/UDP 192.0.2.1;branch=z9hG4bK776asdhds Max-Forwards: 70To: <sip:alice@example>From: <sip:bob@example>;tag=1928301774Call-ID: a84b4c76e66710CSeq: 314159 CANCELContact: <sip:bob@example>Content-Length: 0```5. REGISTER消息格式:```REGISTER sip:example SIP/2.0Via: SIP/2.0/UDP 192.0.2.1;branch=z9hG4bK776asdhds Max-Forwards: 70To: <sip:bob@example>From: <sip:bob@example>;tag=1928301774Call-ID: a84b4c76e66710CSeq: 314161 REGISTERContact: <sip:bob@example>Expires: 3600Content-Length: 0```6. OPTIONS消息格式:```OPTIONS sip:example SIP/2.0Via: SIP/2.0/UDP 192.0.2.1;branch=z9hG4bK776asdhds Max-Forwards: 70To: <sip:alice@example>From: <sip:bob@example>;tag=1928301774Call-ID: a84b4c76e66710CSeq: 314162 OPTIONSContact: <sip:bob@example>Content-Length: 0```7. INFO消息格式:```INFO sip:alice@example SIP/2.0Via: SIP/2.0/UDP 192.0.2.1;branch=z9hG4bK776asdhds Max-Forwards: 70To: <sip:alice@example>From: <sip:bob@example>;tag=1928301774Call-ID: a84b4c76e66710CSeq: 314163 INFOContact: <sip:bob@example>Content-Type: application/dtmf-relayContent-Length: 18Signal=1Duration=100```五、总结SIP协议的主要消息包括INVITE、ACK、BYE、CANCEL、REGISTER、OPTIONS和INFO。
SIP协议主要消息

SIP协议主要消息协议名称:SIP协议主要消息一、引言本协议旨在详细描述SIP(Session Initiation Protocol,会话发起协议)的主要消息类型及其相关内容。
SIP是一种用于建立、修改和终止多媒体会话的应用层协议,广泛应用于IP电话、视频会议、实时消息传递等通信领域。
二、协议概述SIP协议主要由请求-应答模型组成,请求消息由客户端发送给服务器,服务器根据请求进行处理并返回相应的应答消息。
以下是SIP协议中的主要消息类型:1. INVITEINVITE消息用于建立会话,发起方向接收方发起通话请求。
该消息包含了会话的相关信息,如发起方地址、接收方地址、媒体类型等。
2. ACKACK消息用于确认接收INVITE消息,并建立双向通信。
接收方在接收到INVITE消息后,返回ACK消息给发起方,表示接收到请求并准备好建立通话。
3. BYEBYE消息用于终止会话。
任何一方都可以发送BYE消息,表示希望结束当前会话。
接收方收到BYE消息后,可以发送200 OK应答消息,也可以选择不应答。
4. CANCELCANCEL消息用于取消之前发送的INVITE请求。
当发起方发送INVITE请求后,如果发现不再需要建立会话,可以发送CANCEL消息取消之前的请求。
5. OPTIONSOPTIONS消息用于查询服务器的能力。
发起方可以发送OPTIONS消息给服务器,询问服务器支持的功能、媒体类型等信息。
6. REGISTERREGISTER消息用于注册用户位置信息。
当用户登录到SIP服务器时,会发送REGISTER消息,将自己的位置信息注册到服务器上。
7. INFOINFO消息用于传递媒体相关的信息。
例如,当用户在通话过程中需要传输DTMF(双音多频)信号时,可以使用INFO消息传递相关信息。
8. UPDATEUPDATE消息用于修改会话参数。
当会话已经建立后,发起方可以发送UPDATE消息,修改会话的相关参数,如媒体类型、编码方式等。
SIP代码详解

一VOLTE SIP代码意义SIP应答消息状态码与功能类型状态码状态说明临时应答(1XX)100 Trying 正在处理中180 Ringing 振铃181 call being forwarder 呼叫正在转发182 queue 排队181* session progress 会话进行会话成功(2XX)200 OK 会话成功202 Accept 接受重定向(3XX)300 multiple choices多重选择301 moved permanently 永久移动302 moved temporaily 临时移动305 use proxy 用户代理380 alternative service 替代服务请求失败(4XX)400 bad request 错误请求401unauthorized 未授权402 payment required 付费要求403 forbidden 禁止404 not found 未发现405 method no allowed 方法不允许406 not acceptable 不可接受407 proxy authentication required 代理需要认证408 request timeout 请求超时410 gone 离开413 request entity too large 请求实体太大414 request-url too long 请求URL太长415 unsupported media type 不支持的媒体类型416 unsupported url scheme 不支持的URL计划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 跳数太多484 address incomplete 地址不完整485 ambiguous 不明朗486 busy here 这里忙487 request terminated 请求终止488 not acceptable here 这里请求不可接受491 request pending 未决请求493 undecipherable 不可辨识服务器失败(5XX)500 server internal error 服务器内部错误501 not implemented 不可执行502 bad gateway 坏网关503 service unavailable 服务无效504 server time-out 服务器超时505 version not supported 版本不支持513 message too large 消息太大全局性错误(6XX)600 busy everywhere 全忙603 decline 丢弃604 does not exist anywhere 不存在606 not acceptable 不可接受二、SIP应答代码(以下是详细内容)应答码是包含了,并且扩展了HTTP/1.1应答码。
sip代码含义

1xx = 通知性应答∙100 正在尝试∙180 正在拨打∙181 正被转接∙182 正在排队∙183 通话进展2xx = 成功应答∙200 OK∙202 被接受:用于转接3xx = 转接应答∙300 多项选择∙301 被永久迁移∙302 被暂时迁移∙305 使用代理服务器∙380 替代服务4xx = 呼叫失败∙400 呼叫不当∙401 未经授权:只供注册机构使用,代理服务器应使用代理服务器授权407 ∙402 要求付费(预订为将来使用)∙403 被禁止的∙404 未发现:未发现用户∙405 不允许的方法∙406 不可接受∙407 需要代理服务器授权∙408 呼叫超时:在预定时间内无法找到用户∙410 已消失:用户曾经存在,但已从此处消失∙413 呼叫实体过大∙414 呼叫URI过长∙415 不支持的媒体类型∙416 不支持的URI方案∙420 不当扩展:使用了不当SIP协议扩展,服务器无法理解该扩展∙421 需要扩展∙423 时间间隔过短∙480 暂时不可使用∙481 通话/事务不存在∙482 检测到循环∙483 跳数过多∙484 地址不全∙485 模糊不清∙486 此处太忙∙487 呼叫被终止∙488 此处不可接受∙491 呼叫待批∙493 无法解读:无法解读S/MIME文体部分5xx = 服务器失败∙500 服务器内部错误∙501 无法实施:SIP呼叫方法在此处无法实施∙502 不当网关∙503 服务不可使用∙504 服务器超时∙505 不支持该版本:服务器不支持SIP协议的这个版本∙513 消息过长6xx = 全局失败∙600 各处均忙∙603 拒绝∙604 无处存在∙606 不可使用SIP协议应答码应答代码应答码是包含了,并且扩展了HTTP/1.1应答码。
并不是所有的HTTP/1.1应答码都适当应用,只有在折里指出的是适当的。
其他HTTP/1.1应答码不应当使用。
并且,SIP也定义了新的应答码系列,6xx。
SIP协议主要消息讲解

第一章SIP协议主要消息1.1 SIP消息分类SIP协议是以层协议的形式组成的,就是说它的行为是以一套相对独立的处理阶段来描述的,每个阶段之间的关系不是很密切。
SIP协议将Server和User Agent之间的通讯的消息分为两类:请求消息和响应消息。
请求消息:客户端为了激活特定操作而发给服务器的SIP消息,包括INVITE、ACK、BYE、CANCEL、OPTION和UPDATE消息。
SIP请求的6种方法:1、邀请(INVITE)——邀请用户加入呼叫2、确认(ACK)——确认客户机已经接收到对INVITE的最终响应3、可选项(OPTIONS)——请求关于服务器能力的信息4、再见(BYE)——终止呼叫上的两个用户之间的呼叫5、取消(CANCEL)6、注册(REGISTER)——提供地址解析的映射,让服务器知道其它用户的位置响应消息:服务器向客户反馈对应请求的处理结果的SIP消息,包括1xx、2xx、3xx、4xx、5xx、6xx响应1.2 SIP消息结构请求消息和响应消息都包括SIP消息头字段和SIP消息体字段;SIP消息头主要用来指明本消息是有由谁发起和由谁接受,经过多少跳转等基本信息;SIP消息体主要用来描述本次会话具体实现方式;1.3 消息格式1.3.1 请求消息格式SIP请求消息的格式,由SIP消息头和一组参数行组成,如图1-1所示。
通过换行符区分命令行和每一条参数行。
图1-1 SIP 请求消息结构注意:参数行的顺序不是固定的。
对应的参数解释见错误!未找到引用源。
消息体定义:Call-ID :头字段是用来将消息分组的唯一性标识From :头字段是指示请求发起方的逻辑标识,它可能是用户的注册地址。
From 头字段包含一个URI 和一个可选的显示名称CSeq :头字段用于标识事务并对事务进行排序。
它由一个请求方法和一个序列号组成,请求方法必须与对应的请求消息类型一致Max-Fowords :头字段限定一个请求消息在到达目的地之前允许经过的最大跳数。
SIP常用消息实例

SIP常用消息实例参考1、MESSAGE消息1)头字段填写说明Call-id:必选CSeq:必选From:必选To:必选Max-Forwards:必选Via:必选常用的可选参数:指定的消息体2)消息实例发送MESSAGE请求消息给的6010端口,参考消息如下(带了“Hello”的消息体):MESSAGE:6010 SIP/Call-IDFrom>;tag=-0037-708c9a5cba8dd878To>CSeq: 1 MESSAGEVia: SIP/UDPMax-Forwards: 30Allow: INVITE,ACK,OPTIONS,BYE,CANCEL,REGISTER,INFO,UPDATE,PRACK,REFER,SUBSCRIBE,NOTIFY, MESSAGEContact: <sip:Content-Type: text/plainContent-Length: 5Hello收到来自的6010端口的返回消息,参考消息如下(修改了消息体的内容,变成了“Hello ami go”):SIP/200 OKVia: SIP/UDPFrom>;tag=-0037-708c9a5cba8dd878To>;tag=-002-3c18e810ab17c76fCall-IDCSeq: 1 MESSAGEAllow: INVITE,ACK,OPTIONS,BYE,CANCEL,REGISTER,INFO,UPDATE,PRACK,REFER,SUBSCRIBE,NOTIFY, MESSAGEContact: <sip:Content-Type: text/plainContent-Length: 11Hello amigo2、REGISTER消息1)头字段填写说明Call-id:必选Cseq:必选From:必选To:必选Max-Forwards:必选Via:必选Contact:必选Authorization:必选Expires:常用可选头2)非鉴权注册消息实例在该实例中机器发送注册消息给服务器,发送消息实例如下:REGISTER sip: SIP/Via: SIP/UDPMax-Forwards: 70From>;tag=ca04c1391af3429491f2c4dfbe5e1b2e;epid=4f2e395931To>Call-IDCSeq: 1 REGISTERContact: <sip:"INVITE, MESSAGE, INFO, SUBSCRIBE, OPTIONS, BYE, CANCEL, NOTIFY, ACK, REFER" User-Agent: RTC/ (BOL SIP Phone 1005)Event: registrationAllow-Events: presenceContent-Length: 0当注册成功(回送200 OK)时,服务器发送的res消息参考如下:SIP/200 OKVia: SIP/UDPFrom>;tag=ca04c1391af3429491f2c4dfbe5e1b2e;epid=4f2e395931To>;tag=-00834-14d0805b62bc026dCall-IDCSeq: 1 REGISTERAllow: INVITE,ACK,OPTIONS,BYE,CANCEL,REGISTER,INFO,UPDATE,PRACK,REFER,SUBSCRIBE,NOTIFY, MESSAGEContact: sip:Content-Length: 0Expires: 36003)鉴权注册消息实例当需要鉴权注册时,当请求端使用BOL或xlite等发送注册消息给服务器时,服务器对发送“4 01 Unauthorized”信息给请求端,提示请求段需要带上鉴权信息重新注册,请求端带上鉴权信息后(带有“Authorization”头字段)重新向服务器注册,服务器验证鉴权头的正确性,如果鉴权成功,给请求端发送200 OK消息。
SIP消息代码含义

1xx = 通知性应答100 正在尝试180 正在拨打181 正被转接182 正在排队183 通话进展2xx = 成功应答200 OK202 被接受:用于转介3xx = 转接应答300 多项选择301 被永久迁移302 被暂时迁移305 使用代理服务器380 替代服务4xx = 呼叫失败400 呼叫不当401 未经授权:只供注册机构使用,代理服务器应使用代理服务器授权407 402 要求付费(预订为将来使用)403 被禁止的404 未发现:未发现用户405 不允许的方法406 不可接受407 需要代理服务器授权408 呼叫超时:在预定时间内无法找到用户410 已消失:用户曾经存在,但已从此处消失413 呼叫实体过大414 呼叫URI过长415 不支持的媒体类型416 不支持的URI方案420 不当扩展:使用了不当SIP协议扩展,服务器无法理解该扩展421 需要扩展423 时间间隔过短480 暂时不可使用481 通话/事务不存在482 检测到循环483 跳数过多484 地址不全485 模糊不清486 此处太忙487 呼叫被终止488 此处不可接受491 呼叫待批493 无法解读:无法解读 S/MIME文体部分5xx = 服务器失败500 服务器内部错误501 无法实施:SIP呼叫方法在此处无法实施502 不当网关503 服务不可使用504 服务器超时505 不支持该版本:服务器不支持SIP协议的这个版本513 消息过长6xx = 全局失败600 各处均忙603 拒绝604 无处存在606 不可使用SIP协议应答码应答代码应答码是包含了,并且扩展了HTTP/应答码。
并不是所有的HTTP/应答码都适当应用,只有在折里指出的是适当的。
其他HTTP/应答码不应当使用。
并且,SIP也定义了新的应答码系列,6xx。
1 临时应答1xx临时应答,也就是消息性质的应答,标志了对方服务器正在处理请求,并且还没有决定最后的应答。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在学习asterisk的时候,经常遇到一些远程服务器传回的代码,这些代码都有很重要的信息,让我们了解到对方的sip是如何响应我们这边的sip消息的,于是网上找到了这些sip消息类型和消息代码,自己收藏,相信很有用的。
sip消息类型和消息格式SIP是一个基于文本的协议,使用的是UTF-8字符集.SIP消息主要分为两大类:一类是由客户端发往服务器的请求消息(Request);一类是由服务器发往客户端的应答消息(Response).一个基本的SIP消息包括起始行、一个或多个头字段、说明头字段结束的空行和一个可选的消息体。
消息=起始行(包括请求行/状态行;请求行规定了请求的类别,而状态行指出了每个请求的状态,比如是成功还是失败。
如果是失败的话还要给出失败的原因或类型。
)*头字段CRLF[消息体] (消息首部给出了关于请求或应答的更多信息一般包括消息的来源、规定的消息接收方,另外还包括一些其他方面的重要信息。
消息体通常描述将要建立会议的类型包括所交换媒体的描述,但不具体定义消息体的内容或结构,其结构或内容使用另外一个协议来描述,就是会话描述协议SDP。
)请求消息请求行=方法 +空格 +请求地址 +SIP版本号 +空行通过一个请求行作为起始行,请求行包括了方法名、请求的URL、协议版本号、中间用空格分开。
六种请求方法:INVITE 发出呼叫会话请求ACK INVITE请求被最终请求BYE 释放一个呼叫会话CANCEL 取消挂起的呼叫REGISTER 登记注册用户代理OPTIONS 查询服务器能力应答消息状态行=SIP版本+空格+状态码+空格+相关文本短语+空行SIP应答消息状态码与功能类型状态码状态说明临时应答(1XX) 100 Trying 正在处理中180 Ringing 振铃181 call being forwarder 呼叫正在前向182 queue 排队181* session progress 会话进行会话成功(2XX) 200 OK 会话成功重定向(3XX) 300 multiple 多重选择301 moved permanently 永久移动302 moved temporaily 临时移动305 use proxy 用户代理380 alternative service 替代服务请求失败(4XX) 400 bad request 错误请求401unauthorized 未授权402 payment required 付费要求403 forbidden 禁止404 not found 未发现405 method no allowed 方法不允许406 not acceptable 不可接受407 proxy authentication required 代理需要认证408 request timeout 请求超时410 gone 离开413 request entity too large 请求实体太大414 request-url too long 请求URL太长415 unsupported media type 不支持的媒体类型416 unsupported url scheme 不支持的URL计划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 跳数太多484 address incomplete 地址不完整485 ambiguous 不明朗486 busy here 这里忙487 request terminated 请求终止488 not acceptable here 这里请求不可接受491 request pending 未决请求493 undecipherable 不可辨识服务器失败(5XX) 500 server internal error 服务器内部错误501 not implemented 不可执行502 bad gateway 坏网关503 service unavailable 服务无效504 server time-out 服务器超时505 version not supported 版本不支持513 message too large 消息太大全局性错误(6XX) 600 busy everywhere 全忙603 decline 丢弃604 does not exist anywhere 不存在606 not acceptable 不可接受SIP应答代码(这个是详细的应答码解释)应答码是包含了,并且扩展了HTTP/1.1应答码。
并不是所有的HTTP/1.1应答码都适当应用,只有在折里指出的是适当的。
其他HTTP/1.1应答码不应当使用。
并且,SIP也定义了新的应答码系列,6xx。
1 临时应答1xx临时应答,也就是消息性质的应答,标志了对方服务器正在处理请求,并且还没有决定最后的应答。
如果服务器处理请求需要花200ms以上才能产生终结应答的时候,它应当发送一个1xx 应答。
注意1xx应答并不是可靠传输的。
他们不会导致客户端传送一个ACK应答。
临时性质的(1xx)应答可以包含消息体,包含会话描述。
1.1 100 Trying这个应答表示下一个节点的服务器已经接收到了这个请求并且还没有执行这个请求的特定动作(比如,正在打开数据库的时候)。
这个应答,就像其他临时应答一样,种植了UAC重新传送INVITE请求。
100(Trying)应答和其他临时应答不同的是,在这里,它永远不会被有状态proxy转发到上行流中。
1.2 180 RingingUA收到INVITE请求并且试图提示给用户。
这个应答应当出世化一个本地回铃。
1.3 818 Call is Being Forwarded(呼叫被转发)服务器可以用这个应答代码来表示呼叫正在转发到另一个目的地集合。
1.4 182 Queued当呼叫的对方暂时不能接收呼叫的时候,并且服务器决定将呼叫排队等候,而不是拒绝呼叫的时候,那么就应当发出这个应答。
当被叫方一旦恢复接收呼叫,他会返回合适的终结应答。
对于这个呼叫状态,可以有一个表示原因的短语,比如:”5 calls queued;expected waiting time is 15minutes”。
服务器可以给出好几个182(Queued)应答告诉呼叫方排队的情况(比如排队靠前了等等)。
1.5 183 会话进度183(Session Progress)应答用于提示建立对话的进度信息。
Reason-Phrase(表达原因的句子)、头域或者消息体可以用于提示呼叫进度的更消息的信息。
2 成功信息2xx这个应答表示请求是成功的。
2.1 200 OK请求已经处理成功。
这个信息取决于不同方法的请求的应答。
3 转发请求3XX3xx系列的应答是用于提示用户的新位置信息的,或者为了满足呼叫而转发的额外服务地点。
3.1 300 Multiple Choices请求的地址有多个选择,每个选择都有自己的地址,用户或者(UA)可以选择合适的通讯终端,并且转发这个请求到这个地址。
应答可以包含一个具有每一个地点的在Accept请求头域中允许的资源特性,这样用户或者UA 可以选择一个最合适的地址来转发请求。
没有未这个应答的消息体定义MIME类型。
这些地址选择也应当在Contact头域中列出(20.10节)。
不同于HTTP,SIP应答可以包含多个Contact头域或者一个Contact头域中具有一个地址列表。
UA可以使用Contact头域来自动转发或者要求用户确认转发。
不过,本规范没有定义自动转发的标准。
如果被叫方可以在多个地址被找到,并且服务器不能或者不愿意转发请求的时候,可以使用这个应答来给呼叫方。
3.2 301 Moved Permently当不能在Request-URI指定的地址找到用户的时候,请求的客户端应当使用Contact头域(20.10)所指出的新的地址重新尝试。
请求者应当用这个新的值来更新本地的目录,地址本,和用户地址cache,并且在后续请求中,发送到这个/这些列出的地址。
3.3 302 Moved Temporarily请求方应当把请求重新发到这个Contact头域所指出的新地址(20.10)。
新请求的Request-URI应当用这个应答的Contact头域所指出的值。
在应答中的Expires(20.19节)或者Contact头域的expires参数定义了这个Contact URI的生存周期。
UA或者proxy在这个生存周期内cache这个URI。
如果没有严格的有效时见,那么这个地址仅仅本次有效,并且不能在以后的事务中保存。
如果cache的Contact头域的值失败了,那么被转发请求的Request-URI应当再次尝试一次。
临时URI可以比超时时间更快的失效,并且可以有一个新的临时URI。
3.4 305 Use Proxy请求的资源必须通过Contact头域中指出的proxy来访问。
Contact头域指定了一个proxy的URI。
接收到这个应答的对象应当通过这个proxy重新发送这个单个请求。
305(UseProxy)必须是UAS产生的。
3.5 380 Alternative Service呼叫不成工,但是可以尝试另外的服务。
另外的服务在应答的消息体中定义。
消息体的格式在这里没有定义,可能在以后的规范中定义。
4 请求失败4xx4xx应答定义了特定服务器响应的请求失败的情况。
客户端不应当在不更改请求的情况下重新尝试同一个请求。
(例如,增加合适的认证信息)。
不过,同一个请求交给不同服务器也许就会成功。
4.1 400 Bad Request请求中的语法错误。
Reason-Phrase应当标志这个详细的语法错误,比如”Missing Call-ID header field”。
4.2 401 Unauthorized请求需要用户认证。
这个应答是由UAS和注册服务器产生的,当407(Proxy Authentication Required)是proxy服务器产生的。
4.3 402 Payment Required保留/以后使用4.4 403 Forbidden服务端支持这个请求,但是拒绝执行请求。
增加验证信息是没有必要的,并且请求应当不被重试。
4.5 404 Not Found服务器返回最终信息:用户在Request-URI指定的域上不存在。