版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SIP协议主要消息第一章SIP协议要紧消息1.1SIP消息分类SIP协议是以层协议的形式构成的,就是说它的行为是以一套相对独立的处理阶段来描述的,每个阶段之间的关系不是很密切。SIP协议将Server与UserAgent之间的通讯的消息分为两类:请求消息与响应消息。请求消息:客户端为了激活特定操作而发给服务器的SIP消息,包含INVITE、ACK、BYE、CANCEL.OPTION与UPDATE消息。SIP请求的6种方法:1、邀请(INVITE)——邀请用户加入呼叫2、确认(ACK)——确认客户机已经接收到对INVITE的最终响应3、可选项(OPTIONS)——请求关于服务器能力的信息4、再见(BYE)——终止呼叫上的两个用户之间的呼叫5、取消(CANCEL)6、注册(REGISTER)——提供地址解析的映射,让服务器明白其它用户的位置响应消息:服务器向客户反馈对应请求的处理结果的SIP消息,包含Ixx、2xx、3xx、4xx、5xx、6xx响应SIP消息结构请求消息与响应消息都包含SIP消息头字段与SIP消息体字段;SIP消息头要紧用来指明本消息是有由谁发起与由谁同意,通过多少跳转等基本信息;SIP消息体要紧用来描述本次会话具体实现方式;消息格式请求消息格式sip请求消息的格式,由sip消息头与一组参数行构成,如图it所示。通过换行符区分命令行与每一条参数行。命令名称对端URI协议版本消息头Call-id:值via:值From:值To:值Contact:值Cseq:值参数行Content-Length:值Max-Forward:值Content-Type:值WhiteSpaceSDP图1-1SIP请求消息结构注意:参数行的顺序不是固定的。对应的参数解释见错误!未找到引用源。。消息体定义:Call-ID:头字段是用来将消息分组的唯一性标识From:头字段是指示请求发起方的逻辑标识,它可能是用户的注册地址。From头字段包含一个URI与一个可选的显示名称CSeq:头字段用于标识事务并对事务进行排序。它由一个请求方法与一个序列号构成,请求方法务必与对应的请求消息类型一致Max-Fowords:头字段限定一个请求消息在到达目的地之前同意通过的最大跳数。它包含一个整数值,每通过一跳,这个值就被减一。假如在请求消息到达目的地之前该值变为零,那么请求将被拒绝并返回一个483(跳数过多)错误响应消息、。Via:头字段定义SIP事务的下层(传输层)传输协议,并标识响应消息将要被发送的位置。只有当到达下一跳所用的传输协议被选定后,才能在请求消息中加入Via头字段值。expires:参数指出了该值中包含的URI地址的有效期。这个参数的值是以秒为单位计算的。假如没有提供该参数,那么URI地址的有效期由Expires头字段值来确定。SIP请求消息实例:INVITEsip:0109@:5060;User=phoneSIP/2.0Call-ID:01E04633512400000@Via:SIP/2.0/UDP:5061From:<sip:010203@:5061;User=phone>;tag=29005358336B534F610A000To:<sip:0109@:5060;User=phone〉Contact:sip:010203@:5061CSeq:lINVITEMax-Forwards:70Content-Type:application/SDPContent-Length:168v=0s二SessionSDPc=INIP4t=00m=audio49172RTP/AVP08a=rtpmap:0PCMU/8000a=rtpmap:8PCMA/8000a=sendonlyINVITE消息是其中一种SIP请求消息。第一行由消息头与对端SIP实体的URI(通用资源标识)与SIP版本号码构成。SIPURI是电话URI,附在IP地址上,表示对端与端点收发SIP消息的端口的域。“From”、“To”与“Contact”这三个SIP消息头属于电话URI。当背靠背用户代理发出呼叫时,“From”消息头中的URI填写在“Via”消息头里。请求消息类型填写在CSeq消息头里,同时当该SIP端点发送一个请求,号码就相应递增。SIP协议版本为SIP/2.0o其中SDP被加入到INVITE消息内容里,在消息头里的Content-Length说明了SDP内容的长度。INVITE请求消息详解:INVITEsip:marconi@SIP/2.0=请求方法、请求地址(Request-URI)、SIP版本号(目前都是SIP/2.0)=请求地址通常就是被叫方地址,跟MSN中好友eMail地址类似ia:SIP/2.0/UDPlab.high-voltage,org:5060;branch=z9hG4bKfwl9b=SIP版本号(2.0)、传输类型(UI)P)、呼叫地址、<=branch是一随机码,它被看作传输标识<=Via字段中地址是消息发送方或者代理转发方设备地址,通常由主机地址与端口号构成<=传输类型能够为UDP、TCP、TLS、SCTPMax-Forwards:70=最大跳跃数,就是通过SIP服务器的跳跃次数,要紧是防止循环跳跃<=每通过代理服务器,该整数减一To:G.Marconi<sip:Marconi@>From:NikolaTesla<sip:n.tesla@>;tag=76341〈=表示请求消息的发送方与目标方<=假如里面有用户名标签,地址要求用尖括号包起来=关于INVITE消息,能够在From字段中包含tag,它也是个随机码Call-ID:123456789@=呼叫ID是由本地设备生成的,全局唯一值。每次呼叫该值唯一不变=关于用户代理发送INVITE消息,本地将生成Fromtag与Call-ID全局唯一码,被叫方代理则生成Totag全局唯一码。这三个随机码做为整个对话中对话标识(dialogindentifier)在通话双方使用。CSeq:1INVITE=CSeq,又叫命令队列(CommandSeqence),每发送一个新的请求,该数自动加1以上几个字段是所有SIP消息体所务必的,其它头字段有些是可选的,有些在特定请求也是务必Subject:AboutThatPowerOutage...Contact:<sip:n.tesla@>=Contact是INVITE消息所务必的,它用来路由到被叫设备地址,也称之用户代理(UA)Content-Type:application/sdpContent-Length:158=最后两位附属字段说明消息体类型与字段长度=0<=SDP版本号,目前都是0=Tesla28908445262890844526INIP4lab.high-voltage,org<=主叫源地址,类型等s=PhoneCall响应消息格式SIP响应消息的格式,由SIP响应消息头与一组参数行构成,如0所示。通过换行符区分命令行与每一行参数。SIP/协议版本响应消息头Call-id:值消息头via:值卜From:值To:值Contact:值Cseq:值参数行Content-Length:值Max-Forward:值Content-Type:值WhiteSpaceSDPFSIP响应消息结构注意:参数行的顺序不是固定的。对应的参数解释见错误!未找到引用源。。SIP响应消息实例:SIP/2.0200OKContent-Type:application/SDPVia:SIP/2.0/UDP:5061Call-ID:01EF351F8CSeq:lINVITEFrom:<sip:010203@:5061;User=phone>;tag=29005358336B534F610A000To:<sip:0109@l:5060;User=phone>;tag=5358336B534F2900CD1B0000Contact:<sip:0109@:55061>Content-Length:156v=0s=SipCallt=00m二audio5060RTP/AVP0a=rtpmap:0PCMU/8000200OK消息是SIP响应消息的一种。第一行由SIP版本号与200响应消息构成。SIPURI是电话URL附在IP地址上,表示对端与端点收发SIP消息的端口的域。“From”、“To”与“Contact”这三个SIP消息头属于电话URI。当背靠背用户代理发出呼叫时,“From”消息头中的URI填写在“Via”消息头里。请求消息类型填写在CSeq消息头里,同时当该SIP端点发送一个请求,号码就相应递增。SIP协议版本为SIP/2.0。把SDP加入到INVITE消息内容里,在消息头里说明内容的长度。第二章SIP协议要紧响应码响应码分类sip响应消息用于对请求消息进行响应,指示呼叫的成功或者失败状态。不一致类的响应消息由状态码来区分,状态码包含三位整数,状态码的第一位用于定义响应类型,另外两位用于进一步对响应进行更加全面的说明。响应消息的分类如下所示。1XX:临时响应,表示请求消息正在被处理。2XX:成功响应,表示请求已被成功接收,完全懂得并被同意。3XX:重定向响应,表示需采取进一步以完成该请求。4XX:客户机错误,表示请求消息中包含语法错误信息或者服务器无法完成客户机请求。5XX:服务器错误,表示服务器无法完成合法请求。6XX:全局故障,表示任何服务器无法完成该请求。上述消息中,临时响应用于指示呼叫正在进行,其余最终响应用于结束请求消息。1xx类消息(临时响应)1XX消息表示服务器或者代理正在进行处理,还未得到确定的响应。客户应该继续等待服务器的响应。当服务器预测在200毫秒之内不能得到最终响应时,它应该发送一个1XX响应。服务器能够发送多个Ixx响应。下面是常见的Ixx类消息列表。表1-1常见的1xx类消息列表100试呼(Trying)正在进行与呼叫有关的操作(比如:访问数据库),但被叫用户还没有定位。180被叫振铃(Ringing)被叫用户代理已经得到被叫的位置,正在提醒被叫用户。该响应也能够再发起一个本地回铃181呼叫前转(CallIsBeingForwarded)代理服务器能够用该状态码表不当前呼叫正被转移到其它目的地。(呼叫正在转发)182呼叫排队(Queued)被叫暂时不可访问,当前呼叫被排队而不是被拒绝。当服务器有效时,能够继续响应该呼叫。该响应的"reasonphrase”能够进一步给出排队呼叫的信息,比如:“队列中有5个呼叫,期望等待时间为15分钟”。服务器能够发出多个182响应来更新当前由E队呼叫的信息。183会话进度(sessionprogress)应答用于提示建立对话的进度信息。Reason-Phrase(表达原因的句子)、头域或者者消息体能够用于提示呼叫进度的更新消息的信息。2xx类消息(成功响应)2xx消息表示请求已经被接收、处理并被成功同意;200:OK请求成功。3xx类消息(重定向响应)3xx消息表示响应给出有关用户新位置或者其它可选服务的信息。下面表1-2是常见的3xx类消息列表。
表1-2常见的3xx类消息列表300多个选择(MultipleChoice)请求中的地址被解析为多个位置,用户能够将请求重定向到一个合适的地址。该响应应该包含可供用户或者用户代理选择的位置与资源列表,同时在Contact头域中,列出可供选择的地址。(网络协议不兼容:会话描述中的一个或者多个网络协议不可用。)301永久离开(MovedPermanently)在请求中Request-URI所指的地址找不到用户,客户应该尝试Contact头域给出的新地址。主叫收到该响应后应该更新所有的本地目录,地址簿,用户位置缓存并将以后的请求重定向到新的地址。(网络地址格式不兼容:会话描述中的一个或者多个地址格式不可用。)302暂时离开(MovedTemporarily)客户应该用Contact头域给出的新地址尝试呼叫。响应中Expire头域指出该次重定向的有效期,假如没有给出有效期,那么重定向只对当前呼叫有效。(传送协议不兼容:会话描述中的一个或者多个传送协议不可用。)303带宽单位不兼容:会话描述中的一个或者多个带宽度量单位不被懂得。304媒体类型不可用:对话描述中的一个或者多个媒体类型不可用。305使用代理(UseProxy)客户所请求的资源务必通过Contact头域中给出的代理来访问。Contact头域给出代理的URI。该响应只能由用户代理服务器发出。(媒体格式不兼容:对话描述中的一个或者多个媒体格式不可用。)306媒体特征不被懂得:对话描述中的一个或者多个媒体特征不被支持。307对话描述参数不被懂得:除上述几种参数之外的参数不被懂得。330组播不可用:用户站点不支持组播。331单播不可用:用户站点不支持单播通信(通常是由于防火墙的存在)370带宽不足:对话描述中定义的或者者媒体定义的带宽超出用用带宽。380使用其它服务(AlternateService)呼叫不成功,但是可选其它的服务(如:电子邮件,语音信箱)。该响应的消息体给出可选服务的描述。399混合告警:该告警表示用户存在的任意一种错误,收到该告警的系统不能够采取任何自动的动作4xx类消息(客户机错误)4xx消息表示请求消息中包含语法错误或者者SIP服务器不能完成对该请求消息的处理。下面表1-3是常见的4xx类消息列表。表1-3常见的4xx类消息列表
400无效请求(BadRequest)请求语法有误,不能被服务器懂得。401未授权(Unauthorized)请求需要用户认证。402要求付费(PaymentRequired)该响应为将来使用保留。403禁止(Forbidden)服务器懂得请求,但拒绝完成。客户不应该再次发请求。404未找到用户(NotFound)请求中Request-RUL给出的地址上没有要呼叫的用户。当Request-RUL给出的地址与服务器管理的域不匹配时,服务器也发送该响应。405方法不同意(MethodNotAllowed)请求行中指定的方法不被同意。该响应务必包含Allow头域,列出服务器支持的方法。406不Kl同意(NotAcceptable)根据请求中的Accpe头域,由请求给出的资源产生的响应实体里面的内容字符不可同意。407需要代理认证(ProxyAuthenticationRequired)该响应与401(未授权)类似,但它指示用户务必首先向代理认证自己。408请求超时(RequestTimeout)服务器不能在请求的Expire头域指定的时间内产生响应。客户能够过一段时间重发请求。409冲突(Conflict)客户的请求与资源的当前状态冲突,不能完成请求。当REGISTER请求的action参数与现存的注册冲突时返回该响应。410无可用资源(Gone)服务器上没有所请求的资源,也不明白进一步联系的地址。这种情况被认为是永久的。假如服务器不能确定该情况是否是永久的,它应该发送404(被叫未找到)响应。411需要消息体长度(LengthRequired)服务器拒绝同意没有包含Content-Length头域的请求。客户何以在加入一个表示消息体长度的Cotent-Length头域后重发请求。413请求实体过长(RequestEntityTooLarge)服务器拒绝处理过长的消息实体。假如这种情况是暂时的,服务器应该在响应中包含Retry-After头域指示客户何时重发请求。414Request-URI过长(Request-URITooLong)服务器不能解析过长的Request-URI。415媒体类型不支持(UnsupportedMediaType)服务器不支持请求消息体的格式。服务器应该在响应中用Accept,Accept-Encoding与Accept-Language头域列出它支持的格式。416不支持的URI方案(unsupportedurlscheme)服务器由于不支持Request-URI中的URI方案而终止处理这个请求。420错误的扩展(BadExtension)服务器不懂得请求中Require头域指定的协议扩展。421需要扩展支持(extensionrequired)UAS需要特定的扩展来处理这个请求,但是这个扩展并没有在请求的Supported头域中列出。具有这个应答码的应答务必包含一个Require头域列出所需要的扩展。UAS不应当使用这个应答除非它确实不能给客户端提供有效的服务。相反,假如在Support头域中没有列出需要的扩展,服务器应当根据基准的SIP兼容的方法与客户端支持的扩展来进行处理。423间隔太短(intervaltoobrief)服务器由于在请求中设置的资源刷新时间(或者者有效时间)过短而拒绝请求。这个应答能够用于注册服务器来拒绝那些Contact头域有效期过短的注册请求。480暂时不口]访问(TemporarilyUnavailable)被叫的终端系统己经成功连接,但用户暂时不可访问(比如:用户未登录,或者登录为免打搅)。服务器能够在Retry-After头域中另外指定一个访问时间。481呼叫支路/事务不存在(Callleg/TransactionDoesNotExist)在两种情况下服务器返回该响应:服务器收到一个BYE请求但找不到匹配的呼叫支路;或者是收到一个CANCEL请求但找不到匹配的事务;或者是收到与原先TAG标志不样的INVITE请求。(关于无匹配的ACK请求,服务器直接将它丢弃,不响应)。482检测到循环呼叫(LoopDetected)请求消息的Via头域中包含接收服务器自身的地址。483跳数过多(TooManyHop)请求的Via头域包含的条目数(跳数)超过Max-Forwards头域指定的值。484地址不全(AddressIncomplete)请求的To或者Request-RUL所指的地址不全。485地址不明确(Ambiguous)请求中提供的被叫地址不明确。该响应能够在Contact头域中列出不明确的地址。486被叫忙(BusyHere)被叫的终端系统已经成功连接,但用户暂时不愿意或者不能够接收更多的呼叫。服务器能够在响应的Retry-After头域中另外指定一个访问时间。客户也可能通过其它方式访问,如:语音邮箱,因此该响应并不终止一个查询。假如我们明白没有其他终端系统能够接听这个呼叫,那么应当返回一个状态码600(BusyEverywhere)o487请求被拒绝(RequestCancelled)原先的请求消息被一个CANCEL请求所取消。488此处请求不同意(notacceptablehere)这个应答与606(NotAcceptable)有相同的含义,但是
只是应用于Request-URI所指出的特定资源不能同意,在其他地方请求可能能够同意。包含了媒体兼容性描述的消息体能够出现在应答中,同时根据INVITE请求中的Accept头域进行规格化(假如没有Accept头域,那么就是application/sdp)。这个应答就像给OPTIONS请求的200(OK)应答的消息体一样。491未决请求(requestpending)在同一个对话中,UAS接收到的请求有一个依靠的请求正在处理。493无法解密(undecipherable)不可辨识,UAS接收到了一个请求,包含了一个加密的MIME,同时不明白或者者没有提供合适的解
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 专业化工厂清洁劳务协作协议(2024年度)一
- 二零二五年度电子商务O2O平台合作协议3篇
- 2025年度产业园区新能源车充电基础设施建设协议4篇
- 2025年度节能环保产业项目合作协议书4篇
- 2025版电商供应链金融合作框架协议4篇
- 2025年度企业差旅管理服务全面合作协议4篇
- 个人投资企业股份合作简明协议版A版
- 2025年度复杂地质条件边坡支护与护壁桩施工技术规范合同3篇
- 专业印刷服务订购协议集锦版B版
- 2024综合汽车维修服务协议典范版
- TB 10010-2008 铁路给水排水设计规范
- 黑色素的合成与美白产品的研究进展
- 建筑史智慧树知到期末考试答案2024年
- 金蓉颗粒-临床用药解读
- 社区健康服务与管理教案
- 2023-2024年家政服务员职业技能培训考试题库(含答案)
- 2023年(中级)电工职业技能鉴定考试题库(必刷500题)
- 藏历新年文化活动的工作方案
- 果酒酿造完整
- 第4章-理想气体的热力过程
- 生涯发展展示
评论
0/150
提交评论