Soft3000技术手册信令与协议分册-SIP协议

上传人:浪*** 文档编号:227113807 上传时间:2023-08-10 格式:DOCX 页数:38 大小:182.36KB
返回 下载 相关 举报
Soft3000技术手册信令与协议分册-SIP协议_第1页
第1页 / 共38页
Soft3000技术手册信令与协议分册-SIP协议_第2页
第2页 / 共38页
Soft3000技术手册信令与协议分册-SIP协议_第3页
第3页 / 共38页
点击查看更多>>
资源描述
U-SYS SoftX3000 软交换系统 技术手册 信令与协议分册目 录目 录第3章 SIP协议3-13.1 概述3-13.1.1 根本概念3-13.1.2 相关术语3-23.1.3 协议栈构造3-53.1.4 SIP协议的应用3-53.2 协议消息3-63.2.1 消息类型3-63.2.2 消息构造3-93.3 根本消息流程3-223.3.1 SIP用户注册流程3-223.3.2 成功的SIP用户呼叫流程3-253.3.3 成功的SIP中继呼叫流程3-333.3.4 成功的SIP-T中继呼叫流程3-36iU-SYS SoftX3000 软交换系统 技术手册 信令与协议分册第3章 SIP协议第3章 SIP 协议3.1 概述3.1.1 根本概念会话启动协议SIPSession Initiation Protocol是由IETF 提出并主持争论的一个在 IP 网络上进展多媒体通信的应用层掌握协议,它被用来创立、修改、和终结一个或多个参与者参与的会话进程。这些会话包括Internet 多媒体会议、Internet 、远程教育以及远程医疗等。即全部的因特网上交互式两方或多方多媒体通信活动, 统称为多媒体会话。参与会话的成员可以通过组播方式、单播联网方式或者两者结 合的方式进展通信。SIP 协议是一个正在进展和不断争论中的协议。一方面,它借鉴了其他 Internet 标准和协议的设计思想,在风格上遵循因特网一贯坚持的简练、开放、兼容和可扩展等原则,并充分留意到因特网开放而简单的网络环境下的安全问题。另一方面,它也充分考虑了对传统公共 网的各种业务,包括IN 业务和ISDN 业务的支持。利用带有会话描述的SIP 邀请消息来创立会话,以使参与者能够通过SIP 交互进展媒体类型协商。它通过代理和重定向恳求用户当前位置,以支持用户的移动性。用户也可以登记它们的当前位置。SIP 协议独立于其他会议掌握协议,它在设计上独立于下面的传输层协议,因此可以敏捷便利地扩展其他附加功能。SIP 作为一个应用层的多媒体会话信令协议,可以被用来发起一个会话进程、在会话中邀请其他参与者参加会议,会话本身可以通过基于组播协议的会话通告协议SAP、电子邮件、网页通告、以及轻量级号薄访问协议LDAP等方式预先通告各个可能的参与者。SIP 协议支持别名映射、重定向效劳、ISDN 和 IN 业务。它支持个人移动personal mobility,即终端用户能够在任何地方、任何时间恳求和获得已订购的任何电信业务。总的来说,会话启动协议能够支持以下五种多媒体通 信的信令功能:l 用户定位:确定参与通信的终端用户的位置;l 用户通信力量协商:确定通信的媒体类型和参数;l 用户意愿交互:确定被叫是否情愿参与某个通信;l 建立呼叫:包括向被叫“振铃”,确定主叫和被叫的呼叫参数;l 呼叫处理和掌握:包括呼叫重定向、呼叫转移、终止呼叫等等。3-1SIP 协议可以通过MCUMultipoint Control Unit、单播联网方式、或组播方式创立多方会话,支持PSTN 和因特网 之间的网关功能。SIP 协议可以与其他用于建立呼叫的信令系统或协议结合使用,它在设计上充分考虑了对其他协议的可扩展性。譬如,SIP 协议支持的主叫可以识别出 H.323 协议支持的被叫,通过H.245 网关利用 H.225.0 协议向被叫发起并建立呼叫;另外,一个SIP 主叫可以识别出PSTN 上的被叫及其 号码,通过与PSTN 相连的网关向被叫发起并建立呼叫。SIP 协议不供给发言掌握floor control、投票等会议掌握功能,也不规定如何治理一个会议。但是 SIP 协议可被用来引发这些会议掌握协议。SIP 协议本身不具备资源预留功能,但可以向被邀请者们传达这方面的信息。3.1.2 相关术语1. 呼叫一个呼叫是由一个公共源端所邀请的在一个会议中的全部参与者组成,由一个全球唯一的Call-ID 进展标识。例如:由同一个源邀请的一个会议的全部参与者构成一个呼叫;点到点 IP 会话是一种最简洁的会话,它映射为单一的SIP 呼叫。通常状况下,呼叫由主叫方创立,但是更一般说来,呼叫可由并不参与媒体通信的第三方创立,此时会话的主叫方和会话的邀请方并不一样。对于多播会议来说,一个用户可由不同的人邀请参与同一会议,则每一个邀请应视作不同的呼叫。对于基于 MCU 的会议,每个参与者使用一个呼叫邀请自己参加MCU。2. 事务SIP 是一个客户/效劳器协议。客户和效劳器之间的操作从第 1 个恳求至最终响应为止的全部消息构成一个SIP 事务。一个正常的呼叫一般包含三个事务。其中,呼叫启动包含两个操作恳求:邀请Invite 和证明ACK,前者需要回送响应,后者只是证明已收到最终响应,不需要回送 响应。呼叫终结包含一个操作恳求:再见Bye。3. SIP URL为了能正确传送协议消息,SIP 还需解决两个重要的问题。一是寻址,即承受什么样的地址形式标识终端用户;二是用户定位下面介绍。SIP 沿用 WWW 技术解决这两个问题。寻址承受SIP URLUniform Resource Locators,依据 RFC2396 规定的URI 导则定义其语法,特别是用户名字段可以是 号码,以支持IP 网关寻址,实现IP 和PSTN 的互通。SIP URL 的一般构造为:SIP:用户名:口令主机:端口;传送参数;用户参数;方法参数;生存期参数; 效劳器地址参数?头部名头部值“SIP”表示需承受SIP 协议和所指示的端系统通信。“用户名”可以由任意字符组成,一般可取类似与E-mail 用户名形式,也可以是 号码SoftX3000 目前用户名是 号码。“主机”可为主机域名或IPv4 地址。 “端口”指示恳求消息送往的端口号,其缺省值为5060,即公开的SIP 端口号。 “口令”可以置于SIP URL 中,但一般不建议这样做,由于其安全性是有问题的。“传送参数”指示承受TCP 还是UDP 传送,缺省值为UDP。“用户参数”,SIP URL的一个特定功能是允许主机类型为IP 网关,此时,用户名可以为一般的 号码。由于 BNF 语法表示无法区分 号码和一般的用户名,因此,在域名后增加了“用户参数”字段。该字段有两个可选值:IP 和 , 当其设定为“ ”时,表示用户名为 号码,对应的端系统为IP 网关。“方法参数”指示所用的方法操作。“生存期参数”指示 UDP 多播数据包的寿命,仅当传送参数为 UDP、效劳器地址参数为多播地址时才能使用。“效劳器地址参数”指示和该用户通信的效劳器的地址,它掩盖“主机”字段中的地址,通常为多播地址。“传送参数”、“生存期参数”、“效劳器地址参数”和“方法参数”均属于URL 参数,只能在重定向地址,即后面所说的Contact 字段中才能使用。下面给出假设干个SIP URL 的例如:Sip; .1.112;55500200 为用户名,191.169.1.112 为 IP 网关的IP 地址。Sip; .0.1:5061; User=phone;55500200 为用户名,127.0.0.1 为主机的 IP 地址,5061 为主机端口号。用户参数为“ ”,表示用户名为 号码。Sip:; method=REGISTER;Alice 为用户名,registrar 为主机域名。方法参数为“登记”。4. 用户定位用户定位基于登记。SIP 用户终端上电后即向登记效劳器SoftX3000登记,SIP 特地为此定义了一个“登记”REGISTER恳求消息,并规定了登记操作过程。5. 定位效劳Location ServiceSIP 重定位效劳器或代理效劳器用来获得被叫位置的一种效劳,可由定位效劳器供给,但SIP 协议不规定SIP 效劳器如何恳求定位效劳。在华为U-SYS 解决方案中, SoftX3000 兼任定位效劳器的角色。6. 代理,代理效劳器Proxy、Proxy sever作为一个规律网络实体代表客户端转发恳求或者响应,可以同时作为客户端和效劳器端。代理效劳器有三种形态:Stateless、Statefull 和Call Stateful,其可以承受分支、循环等方式向多个地址尝试转发恳求。代理效劳器的主要功能:路由、认证鉴权、计费监控、呼叫掌握、业务供给等。在华为U-SYS 解决方案中,SoftX3000 兼任代理效劳器的角色。7. 重定向效劳器Redirect server重定向效劳器将恳求中的目的地址映射为零个或多个的地址,然后返回给客户端, 客户端直接再次向这些的地址发起恳求。重定向效劳器并不接收或者拒绝呼叫, 主要完成路由功能,与注册过程协作可以支持 SIP 终端的移动性。在华为 U-SYS 解决方案中,SoftX3000 兼任重定向效劳器的角色。8. 注册员Registrar注册员为接收注册恳求的效劳器,通常与Proxy 或者 Redirect Server共存。注册员需要将注册恳求中的地址映射关系保存到数据库中,供后续的相关呼叫过程使用, 同时可以供给定位效劳。在华为 U-SYS 解决方案中,SoftX3000 兼任注册员的角色。9. 用户助理User Agent用来发起或者接收恳求的规律实体称为User Agent。10. 用户助理客户User Agent Client发起恳求的一方称为UACUser Agent Client,举例SIP Phone 就是UAC 的一种实际形态。11. 用户助理效劳器User Agent Server)接收恳求的一方称为UASUser Agent Server,举例 SoftX3000 就是UAS 的一种实际形态。留意:UAC 和UAS 的划分是针对一个事务而言的。3.1.3 协议栈构造SIP 协议栈构造如图3-1所示。H.323SIPRTSPRSVPRTCPH.263 etc.RTPTCPUDPIPPPPAAL3/4AAL5PPPSonetATMEthernetV.34图3-1 SIP 协议栈SIP 协议是IETF 多媒体数据和掌握体系构造的一局部,与其它协议相互合作,例如: RSVPResource ReServation Protocol用于预约网络资源, RTPReal-time Transmit Protocol用于传输实时数据并供给效劳质量QoS反响, RTSP Real-Time Stream Protocol用于掌握实时媒体流的传输, SAP Session Announcement Protocol用于通过组播公布多媒体会话,SDPSession Description Protocol用于描述多媒体会话。但是SIP 协议的功能和实施并不依靠这些协议。传输层支持:SIP 协议承载在IP 网,网络层协议为 IP,传输层协议可用 TCP 或UDP,推举首选UDP。3.1.4 SIP 协议的应用SoftX3000 通过SIP/SIP-T 与其它软交换系统互通,以及与其它 SIP 域设备如 SIP Phone,SIP Softphone 等互通,SIP 协议在NGN 中的典型应用如图3-2所示:U-SYS SoftX3000 软交换系统 技术手册 信令与协议分册第3章 SIP协议SoftX3000A局SoftSwitchB局A市城域网SIP中继IP骨干网SIP中继B市城域网AMGSIP PhoneSIP SoftPhone图3-2 SIP 在 NGN 中的典型应用3.2 协议消息3.2.1 消息类型SIP 消息承受文本方式编码,分为两类:恳求消息和响应消息。1. 恳求消息用于客户端为了激活按特定操作而发给效劳器的SIP 消息,包括 INVITE, ACK, OPTIONS,BYE,CANCEL 和REGISTER 消息等,各消息功能如表3-1所示。恳求消息消息含义INVITE发起会话恳求,邀请用户参加一个会话,会话描述含于消息体中。对于两方呼叫来说,主叫方在会话描述中指示其能够承受的媒体类型及其参数。被叫方必需在成功响应消息的消息体中指明其期望承受哪些媒体,还可以指示其行将发送的媒体。假设收到的是关于参与会议的邀请,被叫方可以依据 Call-ID 或者会话描述中的标识确定用户已经参加该会议,并返回成功响应消息。ACK证明已收到对于INVITE恳求的最终响应。该消息仅和INVITE 消息配套使用。BYE完毕会话CANCEL取消尚未完成的恳求,对于已完成的恳求即已收到最终响应的恳求则没有影响表3-1 恳求消息3-6恳求消息消息含义REGISTER注册OPTIONS查询效劳器的力量2. 响应消息用于对恳求消息进展响应,指示呼叫的成功或失败状态。不同类的响应消息由状态码来区分。状态码包含三位整数,状态码的第一位用于定义响应类型,另外两位用于进一步对响应进展更加具体的说明。各响应消息分类和含义如表3-2所示。序号状态码消息功能信息响应呼叫进展响应表示已经接收到恳求消息,正在对其进展处理100试呼叫1xx客户出错表示恳求消息中包含语法错误或者SIP效劳器不能完成对4xx表3-2 响应消息180振铃181呼叫正在前转182排队2xx成功响应表示恳求已经被成功承受、处理200OK重定向响应表示需要实行进一步动作,以完成该恳求300多重选择301永久迁移3xx302临时迁移303见其它305使用代理380代换效劳该恳求消息的处理400错误恳求401无权402要求付款403制止404没有觉察405不允许的方法序号状态码消息功能406不承受407要求代理权408恳求超时410消逝413恳求实体太大414恳求 URI 太大415不支持的媒体类型416不支持的 URI 方案420分机无人接听421要求转机423间隔太短480临时无人接听481呼叫腿/事务不存在482相环探测483跳频太高484地址不完整485不清楚486线路忙487终止恳求488此处不承受491代处理恳求493难以识别效劳器出错表示 SIP 效劳器故障不能完成对正确消息的处理500内部效劳器错误501没实现的5xx502无效网关503不供给此效劳504效劳器超时505SIP 版本不支持513消息太长6xx全局故障表示恳求不能在任何 SIP 效劳器上实现600全忙U-SYS SoftX3000 软交换系统 技术手册 信令与协议分册第3章 SIP协议序号状态码消息功能603拒绝604都不存在606不承受恳求消息和响应消息都包括SIP 头字段和SIP 消息字段。在 SIP 消息中参加SDP 消息正文局部。3.2.2 消息构造1. 恳求消息(1) 恳求消息构造如图3-3所示是SIP 恳求命令的格式,由起始行、消息头和消息体组成。通过换行符区分消息头中的每一条参数行。对于不同的恳求消息,有些参数可选。3-10命令名称对端UPI版本起始行Call-ID:值Form:值To :值Cseq :值Via : 值Contact : 值Max-Forwards :值消息头Allow :值Content-Length :值Supported :值User-Agent :值Content-Type :值厖空格SDP消息体图3-3 SIP 恳求消息构造(2) 恳求消息参数下面仅对几个常用的参数字段进展说明。Call-ID该字段用以唯一标识一个特定的邀请或标识某一客户的全部登记。需要留意的是,一个多媒体会议可能会有多个呼叫,每个呼叫有其自己的Call-ID。 例如,某用户可数次邀请某人参与同一历时很长的会议。用户也可能会收到数个参 加同一会议或呼叫的邀请,其Call-ID 各不一样。用户可以利用会话描述中的标识, 例如SDP 中的o源字段的会话标识和版本号判定这些邀请的重复性。Call-ID 的一般格式为: Call-ID:本地标识主机其中,主机应为全局定义域名和全局可选路IP 地址,此时,本地标识由在“主机” 范围内唯一的URI 字符组成。否则,本地标识必需是全局唯一的值,以保证 Call-ID 的全局唯一性。Call-ID 字符需区分大小写。Call-ID 例如:Call-Id: .150.101其中,191.169.150.101 为主机的 IP 地址,call-973636852-4 为全局唯一的本地标识。l From全部恳求和响应必需包含此字段,以指示恳求的发起者。效劳器将此字段从恳求消息复制到响应消息。该字段的一般格式为:From:显示名;tag=xxxx其中,显示名为用户界面上显示的字符,假设系统不予显示,应置显示名为“匿名(Anonymous)”。显示名为任选字段。tag 称为标记,为 16 进制数字串,中间可带连字符“-”。当两个共享同一 SIP 地址的用户实例用一样的 Call-ID 发起呼叫邀请时,就需用此标记予以区分。标记值必需全局唯一。用户在整个呼叫期间应保持一样的Call-ID 和标记值。From 字段的例如:From:;tag=1c17691l To该字段指明恳求的接收者,其格式和From 一样,仅第一个关键词代之以To。全部恳求和响应消息必需包含此字段。字段中的标记参数可用于区分由同一SIP URL 标识的不同的用户实例。由于代理服 务器可以并行分发多个恳求,同一恳求可能到达用户的不同实例如住宅 等。由于每个实例都可能响应,因此需用标记来区分来自不同实例的响应。需要留意的 是,To 字段中的标记是由每个实例至于响应消息中的。To 字段的例如:To:To:;tag=62beb3ca留意,在SIP 中,Call-ID、From 和To 三个字段标识一个呼叫分支。在代理效劳器并行分发恳求时,一个呼叫可能会有多个呼叫分支。l CseqCseq 称之为命令序号。客户在每个恳求中应参加此字段,它由命令名称和一个十进制序号组成,该序号由恳求客户选定,在 Call-ID 范围内唯一确定。序号初值可为任意值,其后具有一样Call-ID 值,但不同命令名称、消息体的恳求,其Cseq 序号应加 1。重发恳求的序号保持不变。效劳器将恳求中的 Cseq 值复制到响应消息中,用于将恳求和其触发的响应相关联。ACK 和CANCEL 恳求的Cseq 值十进制序号和对应的INVITE 恳求一样,BYE 恳求的 Cseq 序号应大于 INVITE 恳求。效劳器必需记忆一样 Call-ID 的 INVITE 恳求的最高序号,收到序号低于此值的INVITE 恳求应在给出响应后予以丢弃。由代理效劳器并行分发的恳求,其 Cseq 值一样。严格来说,Cseq 对于任何可由BYE 或CANCEL 恳求取消的恳求以及客户可连续发送多个具有一样Call-ID 恳求的状况都是需要的,其作用是判定响应和恳求的对应关系。Cseq 字段的例如:Cseq: 1 INVITEViaVia 字段用以指示恳求历经的路径。它可以防止恳求消息传送产生环路,并确保响应和恳求消息选择同样的路径,以保证通过防火墙或满足其它特定的选路要求。发起恳求的客户必需将其自身的主机名或网络地址插入恳求的 Via 字段,假设未承受缺省端口号,还需插入此端口号。在恳求前传过程中,每个代理效劳器必需将其自身地址作为一个的 Via 字段加在已有的 Via 字段之前。假设代理效劳器收到一个恳求,觉察其自身地址位于Via 头部中,则必需回送响应“检测到环路”。当恳求消息通过网络地址翻译点如防火墙时,恳求的源地址和端口号可能被转变,此时 Via 字段就不能成为响应消息选路的依据。为了防止这一点,代理效劳器应校验顶端 Via 字段,假设觉察其值和代理效劳器检测到的前站地址不符,则应在该 Via 字段中参加“receive”参数,如此修改后的字段称为“接收方标记Via 头部字段”。例如:Via:SIP/2.0/UDP softx3000.bell-telephone :5060 Via:SIP/2.0/UDP 10.0.0.1:5060;received=191.169.12.30由点10.0.0.1 发出的恳求消息路径外部地址为191.169.12.30 的网络地址翻译点后,到达代理效劳器softx3000.bell-telephone 。后者留意到前站发送地址和Via 字段地址不符,就把实际发送地址作为接收方标记加在顶端 Via 字段的末尾,然后再将代理自己的地址作为加的Via 字段置于最上面。假设代理效劳器向多播地址发送恳求,则必需在其 Via 头部字段中参加“多播地址(maddr)”参数,此参数指明该多播地址。代理效劳器或UAC 收到Via 头部字段时的处理规章是:规章 1:第 1 个 Via 头部字段应当指示本代理效劳器或UAC。假设不是,丢弃该消息,否则,删除该Via 字段。U-SYS SoftX3000 软交换系统 技术手册 信令与协议分册第3章 SIP协议规章 2:假设没有第 2 个 Via 头部字段,则该响应已经到达目的地。否则,连续做如下处理。规章 3:假设第2 个Via 头部字段包含“maddr”参数,则按该参数指示的多播地址发送响应,端口号由“发送方”参数指明,如未指明,就使用端口号5060。响应的 生存期应置为“生存期ttl”参数指定的值,如未指明,则置为1。规章 4:假设第2 个Via 字段不包含“maddr”参数,但有一个接收方标记字段,则应将该响应发往“received”参数指示的地址。规章 5:假设既无“maddr”参数又无标记,就按发送方参数指示的地址发送响应。Via 字段的一般格式为:Via:发送协议 发送方;隐蔽参数;生存期参数;多播地址参数;接收方标记,分支参数其中,发送协议的格式为:协议名/协议版本/传送层,协议名和传送层的缺省值分别为SIP 和UDP。发送方为通常的发送方主机和端口号。隐蔽参数就是关键词 hidden, 如有此参数,表示该字段已由上游代理予以加密,以供给隐私效劳。多播地址参数 和接收方标记的意义如前所述。生存期参数与多播地址参数配用。分支参数用于代 理效劳器并行分发恳求时标记各个分支,当响应到达时,代理可判定是哪一分支的 响应。Via 字段的例如:Via:SIP/2.0/UDP191.169.1.116:5061;ttl=16;maddr=191.169.10.20;branch=z9hG4bkbc427dad6Contact该字段用于INVITE、ACK 和 REGISTER 恳求以及成功响应、呼叫进展响应和重定向响应消息,其作用是给出其后和用户直接通信的地址。INVITE 和 ACK 恳求中的 Contact 字段指示该恳求发出的位置。它使被叫可以直接将恳求如BYE 恳求发往该地址,而不必借助Via 字段经由一系列代理效劳器返回。对 INVITE 恳求的成功响应消息可包含Contact 字段,它使其后 SIP 恳求如 ACK 恳求可直接发往该字段给定的地址。该地址一般是被叫主机的地址,假设该主机位于防火墙之后,则为代理效劳器地址。对应于INVITE恳求的呼叫进展响应消息中包含的Contact字段的含义和成功响应消息一样。但是,CANCEL 恳求不能直接发往该地址,必需沿原恳求发送的路径前传。REGISTER恳求中的Contact字段指明用户可达位置。该恳求还定义了通配Contact字段“*”,它只能和值为 0 的“失效”字段配用,表示去除某用户的全部登记。Contact3-13U-SYS SoftX3000 软交换系统 技术手册 信令与协议分册第3章 SIP协议字段也可设定“失效”参数任选,给定登记的失效时间。假设没有设定该参数, 则用“失效”字段值作为其缺省值。假设两者均无,则认为SIP URI 的失效时间为1 小时。REGISTER 恳求的成功响应消息中的 Contact 字段返回该用户当前可达的全部位置。重定向响应消息,如用户临时迁移、永久迁移、地址模糊等消息中的Contact 字段给出供重试的其它可选地址,可用于对 BYE、INVITE 和 OPTIONS 恳求的响应消息。Contact 字段的一般格式为:Contact:地址;q 参数;动作参数;失效参数;扩展属性其中,地址的表示形式和To,From 字段一样。q 参数,其取值范围为0,1,指示给定位置的相对优先级。数值越大,优先级越高。动作参数仅用于 REGISTER 恳求。它说明期望效劳器对其后至该客户的恳求进展代理效劳还是重定向效劳。假设未含 此参数,则执行动作取决于效劳器的配置。失效参数指明URI 的有效时间,可用秒表示,也可用SIP 日期表示。扩展属性就是扩展名。Contact 字段的例如为:Contact:;q=0.7;expires=3600l Max-Forwards该字段用于定义一个恳求到达其目的地址所允许经过的中转站的最大值。恳求每经过一个中转站,该值减 1。假设该值为 0 时该恳求还没有到达其目的地址,效劳器将回送“483”(Too Many Hops)响应并终止这个恳求。设置该字段的目的主要是为了消灭环路时不会始终消耗代理效劳器的资源。该字段的初始值为 70。Max-Forwards 字段的一般格式为:Max-Forwards:十进制整数l Allow该字段给出代理效劳器支持的全部恳求消息类型列表。Allow 字段的例如:Allow: INVITE, ACK, OPTIONS, CANCEL, BYEl Content-Length该字段表示消息体的大小,为十进制值。应用程序使用该字段表示要发送的消息体的大小,而不考虑实体的媒体类型。假设使用基于流的协议如TCP 协议作为传输协议,则必需使用此消息头字段。3-14消息体的长度不包括用于分别消息头部和消息体的空白行。Content-Length值必需 大于等于 0。假设消息中没有消息体,则Content-Length 头字段值必需设为 0。SDP 用于构成恳求消息和 2xx 响应消息的消息体。Content-Length 字段的一般格式为:Content-Length:十进制值Content-Length 字段的例如:Content-Length: 349表示消息体的长度为 349 个字节。l Content-TypeContent-Type 字段表示发送的消息体的媒体类型。假设消息体不为空,则必需存在Content-Type 头字段。假设消息体为空且Content-Type 头字段存在,则表示此类型的消息体长度为 0 如一个空的声音文件。Content-Type 字段的例如:Content-Type: application/sdpl SupportedSIP 协议中定义的 100 类临时响应消息的传输是不行靠的,即 UAS 发送临时响应后并不能保证UAC 端能够承受到该消息。假设需要在该响应消息中携带媒体信息,那么就必需保证该消息能够牢靠的传输到对端。100rel 扩展为 100 类响应消息的牢靠传输供给了相应的机制。100rel 增加对临时响应消息确实认恳求方法:PRACK。假设 UAC 支持该扩展,则在发送的消息中增加 Supported:100rel 头域和字段。假设 UAS 支持该扩展,则在发送 100 类响应时增加Require:100rel 头域和字段。UAC 收到该响应消息后需要向UAS 发送PRACK 恳求通知UAS 已收到该临时响应。UAS 向 UAC 发送对PRACK 的 2XX 响应消息完毕对该临时响应确实认过程。假设某一UA 想要在发送的临时响应消息中携带SDP 消息体,那么 UAC 和UAS 都必需支持和使用 100rel 扩展以保证该消息的牢靠传输。举例:Supported: 100rell User-AgentUser-Agent 头字段包含有发起恳求的用户终端的信息。显示用户代理的软件版本信息可能会令用户在使用有安全漏洞的软件易受到外界攻击,因此,应当使User-Agent 头字段成为可选配置项。举例:User-Agent: Softphone Beta1.5l ExpiresExpires 头字段指定了消息或消息内容多长时间之后超时。举例:Expires: 5l Accept-LanguageAccept-Language 头字段用在恳求消息中,表示缘由短语、会话描述或应答消息中携带的状态应答内容的首选语言类型。假设消息中没有Accept-Language 头字段, 则效劳器端认为客户端支持全部语言。举例:Accept-Language: enl AuthorizationAuthorization 字段包含某个终端的鉴权证书。首先介绍一下终端向效劳器端恳求认证的一般过程:终端发起恳求时假设效劳器端需要对用户进展认证,那么会在本地产生本次认证的NONCE,并且通过认证恳求头域将全部必要的参数返回给终端从而发起对用户认证过程。终端收到认证恳求消息后依据效劳器端返回的信息和用户配置等信息承受特定的算法生成加密的RESPONSE,并且通过的恳求消息发送给效劳器端。效劳器端在收到带有认证响应的的恳求消息后首先检查NONCE 的正确性。假设NONCE 不是本地产生,则直接返回失败。否则假设 NONCE 是本地产生,但是认证过程已经超时,则效劳器端会重产生NONCE 并重发起对用户的认证过程。其中老的NONCE 会通过CNONCE 参数返回。NONCE 验证通过后效劳器端会依据 NONCE、用户名、密码效劳器端可以依据本地用户信息猎取用户的密码、URI 等承受和终端一样的算法生成RESPONSE, 并且对此 RESPONSE 和恳求消息中的 RESPONSE 进展比较,假设二者全都则用户认证成功,否则认证失败。Authorization 字段的一般格式为:Authorization:认证方式 USERNAME,REALM,NONCE,RESPONSE,URI, CNONCE,ALGORITHM认证方式:有 DIGEST、BASIC、CHAP-PASSWORD、CARDDIGEST 等认证方式。DIGEST 为 -DIGEST 认证方式。目前SoftX3000 只支持 -DIGEST方式。以后为了实现 Uniphone 的卡号呼叫还会参加卡号认证的 CARDDIGEST 方式。USERNAME:被认证的用户的用户名。 REALM:用于标识发起认证过程的域。 NONCE:由发起认证过程的实体产生的加密因子。RESPONSE:终端在收到效劳器的认证恳求后依据效劳器端产生的NONCE、用户名、密码、URI 等信息经过肯定的算法生成的一个字符串。该字符串中包含了经过加密后的用户密码。在认证过程中处理用户密码之外其他信息都会通过SIP 消息以明文的方式在终端和效劳器端进展传递。URI:发起的呼叫恳求消息的 Request-URI。由于终端在收到认证恳求后需要重向效劳器端发起恳求其中带有认证响应信息。该恳求消息在经过网络效劳器时某些字段包括 RequestURI 都有可能被修改。认证头域的URI 参数用于传递终端发起恳求时原始消息的Request-URI 用于对认证信息进展认证,这样才能保证认证过程的正确性。CNONCE:假设在效劳器端超时后终端才向效劳器返回了带有认证响应的的恳求 消息,则效劳器端需要重产生NONCE 重对用户进展认证。其中NONCE 中带有的NONCE,老的NONCE 会通过CNONCE 参数返回给终端。ALGORITHM:用于传递生成RESPONSE 的算法。举例:Authorization:DIGESTUSERNAME=“6540012“,REALM=“huawei “, NONCE=“202361722310491179922“, RESPONSE=“b7c848831dc489f8dc663112b21ad3b6“, URI=“sip:191.169.150.30“(3) 恳求消息例如下面是SIP 恳求消息编码的例如:INVITEsip:.1.110SIP/2.0From:;tag=1ccb6df3 To:CSeq: 1 INVITECall-ID: 20973e49f7c52937fc6be224f9e52543sx3000Via: SIP/2.0/UDP 191.169.1.116:5061;branch=z9hG4bkbc427dad6 Contact:Supported: 100rel,100rel Max-Forwards:70Allow:INVITE,ACK,CANCEL,OPTIONS,BYE,REGISTER,PRACK,INFO,UPDATE,SUBSCRIBE,N OTIFY,MESSAGE,REFERContent-Length:230Content-Type: application/sdpv: 0o: HuaweiSoftX3000 1073741831 1073741831 IN IP4 191.169.1.116s: Sip Callc: IN IP4 191.169.1.95 t: 0 0m: audio 30000 RTP/AVP 8 0 4 18a: rtpmap:8 PCMA/8000 a: rtpmap 0 PCMU/8000 a: rtpmap 4 G723/8000 a: rtpmap 18 G729/8000第一行:恳求起始行。 INVITE 恳求消息。恳求 URI,即被邀用户的当前地址为“sip:.1.110”。SIP 版本号为 2.0。其次行:From 字段。指明恳求发起方的地址为“”。标记为“1ccb6df3”,用于共享同一 SIP 地址的不同用户用一样的Call-ID 发起呼叫邀请时,对用户进展区分。第三行:To 字段。指明恳求接收方的地址为“”。从 From 和 To 字段,我们可以看出:IP 地址为 191.169.1.116 的 MGC 掌握下的终端 44510000 拨打 IP 地址为191.169.1.110 的 MGC 掌握下的 66500002 终端。终端类型可以为 SIP、H.323、IAD/AG 下挂的ESL 等。第四行:Cseq 字段。用于将 INVITE 恳求和其触发的响应、对应的 ACK、CANCEL恳求相关联。第五行: Call-ID 字段。该字段唯一标识一个特定的邀请,全局唯一。 Call-ID 为“ 20973e49f7c52937fc6be224f9e52543sx3000 ” , sx3000 为发起呼叫的SoftX3000 的域名,20973e49f7c52937fc6be224f9e52543 为本地标识。第六行:Via 字段。该字段用于指示该恳求历经的路径。“SIP/2.0/UDP”表示发送的协议,协议名为“SIP”,协议版本为 2.0,传输层为 UDP;“191.169.1.116:5061” 表 示 发 送 方 SoftX3000IP地 址 为 191.169.1.116 , 端 口 号 为 5061 ; “branch=z9hG4bkbc427dad6”为分支参数,SoftX3000 并行分发恳求时标记各个分支。第七行: Contact 字段。指示其后的恳求 如 BYE 恳求 可以直接发往,而不必借助Via 字段。第八行:100rel 扩展,该字段为 100 类响应消息的牢靠传输供给了相应的机制。第九行:Max-Forwards 字段。表示该恳求到达其目的地址所允许经过的中转站的最大值为 70。第十行:Allow 字段。给出 IP 地址为 191.169.1.116 的 SoftX3000 支持的恳求消息类型 列表。第十一行:Content-Type 字段,表示消息中携带的消息体是单消息体且为SDP。第十二行:空行,表示下面为SDP 会话描述。第十三行:SDP 协议版本号,目前为 0 版本。第十四行:会话拥有者/创立者和会话标识,用于给出会话的发起者其用户名和用户主机地址以及会话标识和会话版本号。“HuaweiSoftX3000”为用户名,用户 名是用户在发起主机上的登录名,假设主机不支持用户标识的概念,该字段标记为“-”。第一个“1073741831”为会话标识,会话标识为一数字串,使得多元组用户名、会话标识、网络类型、地址类型、地址构成会话的全球唯一的标识符。第 二个“1073741831”为版本号,指该会话公告的版本。供代理效劳器检测同一会话的假设干个公告哪一个是最的公告。其根本要求是会话数据修改后,其版本号应递 增。“IN”指网络类型,为文本串形式,目前规定的“IN”为 Inernet。“IP4”指地址类型,为文本串形式,目前已定义的有“IP4”和“IP6”两种。“191.169.1.116” 为创立会话的主机的IP 地址。对于 IP4 地址类型,可以是域名全称或点分十进制 IP4 地址表示形式。对于 IP6 地址类型,可以是域名全称或压缩文本 IP6 地址表示形式。第十五行:会话名。每个会话描述必需有一个且只有一个会话名。第十六行:连接数据。网络类型和地址类型目前的定义值仅限于IN 和 IP4。“191.169.1.95”为 SoftX3000IP 地址:191.169.1.116掌握下的 MG 的 IP 地址终端类型为IAD/AG 下挂的ESL 或SIP、H.323 终端的IP 地址终端类型为SIP、H.323 。第十七行:时间描述,给出会话激活的时间区段,允许会话周期性发生。 “0”表示起始时间。该字段的格式为 t:。其中起始时间和终止时间值为NTPNetwork Time Protocol时间值的十进制表示,单位为秒。第十八行:媒体级描述,该局部给出只适用于该媒体流的信息。“audio”表示媒体类型为音频。目前定义的媒体类型有 5 种:音频、视频、应用、数据和掌握。“30000” 指明媒体流发往的传送层端口,即 MG 的UDP 端口号终端类型为 IAD/AG 下挂的ESL 或SIP、H.323 终端的UDP 端口号终端类型为SIP、H.323 。“RTP/AVP”为传送层协议,其值和“c”行中的地址类型有关,对于 IP4 来说, 大多数媒体业务流都在RTP/UDP 上传送,已定义如下两类协议:RTP/AVP,音频/ 视频应用文档,在UDP 上传送;Udp,UDP 协议。“8 0 4 18”对于音频和视频来说,就是 RTP 音频/视频应用文档中定义的媒体静荷类型。表示会话中全部这些格式都可能被用到,但第一个格式是会话的缺省格式。该行总体表示,缺省 A 律PCM 编码单信道音频信号,其在 RTP 音频/视频应用文档中的静态静荷类型号为 8 ,该信号发往UDP 端口 30000。第十九二十二行:rtpmap 属性行,指明从 RTP 静荷类型至编码的映射关系。该行的格式为:a: rtpmap:/。其中,指的就是音频信道数,对于视频信号尚无编码参数。2. 响应消息(1) 响应消息构造如图3-4所示是SIP 响应消息的格式,由起始行、消息头和消息体组成。通过换行符区分消息头中的每一行参数。对于不同的响应消息,有些参数可选。SIP/协议版本状态码描述性短语起始行Call-ID:值Form:值To :值Cseq :值Via :值Contact :值Max-Forwards :值消息头Allow :值Content-Length :值Supported :值User-Agent :值Content-Type :值厖空格SDP消息体图3-4 SIP 响应消息构造(2) 响应消息参数响应消息参数请参考“恳求消息参数”一节。(3) 响应消息例如下面是SIP 响应消息编码的例如:SIP/2.0 180 Ringing From:;tag=1ccb6df3 To:;tag=58877b85 Cseq:1 INVITECall-ID: 20973e49f7c52937fc6be224f9e52543sx3000Via: SIP/2.0/UDP 191.169.1.116:5061;branch=z9hG4bkbc427dad6 Require:100relRSeq:1 Contact: Content-Length:157Content-Type:application/sdpv=0o=HuaweisoftX3000 1073741824 1073741824 IN IP4 191.169.1.110s=Sip Callc=IN IP4 191.169.1.135t=0 0m=audio 30016 RTP/AVP 8 a=rtpmap:8 PCMA/8000第一行:SIP 协议,版本号为 2.0。状态码为 180。“Ringing”为注释短语。表示向被叫送振铃。其次行、第三行:请参考“恳求消息例如”小节。第四行:Cseq 字段。用于将 INVITE 恳求和其触发的响应、对应的 ACK、CANCEL 恳求相关联。该响应消息和上文中的恳求消息Cseq 字段一样,均为“1 INVITE”, 说明该响应消息由上文中的恳求消息触发。第五第十一行:请参考“恳求消息例如”小节。第十二行:空行,表示下面为SDP 会话描述。第十三行:SDP 协议版本号,目前为 0 版本。第十四行:会话拥有者/创立者和会话标识,用于给出会话的发起者其用户名和用户主机地址以及会话标识和会话版本号。“HuaweiSoftX3000”为用户名,用户 名是用户在发起主机上的登录名,假设主机不支持用户标识的概念,该字段标记为“-”。第一个“1073741824”为会话标识,会话标识为一数字串,使得多元组用户名、会话标识、网络类型、地址类型、地址构成会话的全球唯一的标识符。第 二个“1073741824”为版本号,指该会话公告的版本。供代理效劳器检测同一会话 的假设干个公告哪一个是最的公告。其根本要求是会话数据修改后,其版本号应递 增。“IN”指网络类型,为文本串形式,目前规定的“IN”为 Inernet。“IP4”指地址类型,为文本串形式,目前已定义的有“IP4”和“IP6”两种。“191.169.1.110” 为创立会话的主机的IP 地址。第十五行:会话名。每个会话描述必需有一个且只有一个会话名。第十六行:连接数据。网络类型和地址类型目前的定义值仅限于IN 和 IP4。“191.169.1.135”为SoftX3000IP 地址:191.169.1.110掌握下的 MG 的 IP 地址终端类型为IAD/AG 下挂的ESL 或SIP、H.323 终端的IP 地址终端类型为SIP、H.323 。第十七行:时间描述,给出会话激活的时间区段,允许会话周期性发生。第十八行:媒体级描述,该局部给出只适用于该媒体流的信息。“audio”表示媒体类型为音频。“30016”指明媒体流发往的传送层端口,即MG 的UDP 端口号终端类型为 IAD/AG 下挂的 ESL 或 SIP、H.323 终端的 UDP 端口号终端为SIP、H.323 。“RTP/AVP”为传送层协议,其值和“c”行中的地址类型有关,对于 IP
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 成人自考


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!