协议格式及参数.doc_第1页
协议格式及参数.doc_第2页
协议格式及参数.doc_第3页
协议格式及参数.doc_第4页
协议格式及参数.doc_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章 MTP 消息传递部分一、 NO7信令网分级功能结构MTP:消息传递部分SCCP:信令连接控制部分(Signalling Connection and Control Part)TUP:电话用户部分DUP:数据用户部分ISUP:ISDN用户部分TCAP:事务处理能力应用部分其中MTP和SCCP相当于OSI协议的一三层,TCAP相当于OSI的七层;二、 NO7基本信令单元No.7信令方式规定了三种基本的信令单元格式。它们是:消息信令单元(MSU)、链路状态信令单元(LSSU)和填充信令单元(FISU)。消息信令单元用于传送各用户部分的 消息、信令网管理消息及信令网测试和维护消息;链路状态信令单元用于提供链路状态信息,以便完成信令链路的接通、恢复等控制;填充信令单元是当信令链路上没用消息信令单元或链路状态信令单元传递时发送的用以维护信令链路正常工作的,起填充作用的信令单元。三、 信令单元的格式及编码消息信令单元MSU链路状态单元LSSU填充信令单元FISU1、 标志码F标志一个信令单元的开始和结束。编码为01111110。右边是信令单元的头,左边是信令单元的尾。由第二功能级包装并识别。2、前向序号FSN表示本信令单元的发送序号。由第二功能级包装并识别,由7位组成。3、 后向序号BSN表示已经收到对方发来的最后一个信令单元的序号。由第二功能级包装并识别。由7位组成。4、后向指示位BIB表示是否正确收到对方发来的信令单元。由第二功能级包装并识别。5、前向指示位FIB表示当前发送信令单元的标识,取值0或1。由第二功能级包装并识别。6、长度指示语LI表示LI后面CK之前的信息字段的长度,长度单位是8bit,即指示信息字段有多少个8bit。信息字段的长度是可变的,但永远是8bit的整数倍。当LI=0时,说明信令单元没有信息字段,该信令单元是一个填充信令单元。当LI=1或2时,说明信息字段为链路状态信息,也就是本信令点第二功能级的状态。当LI2时,说明信息字段为第三或第四功能级的消息。当信息字段长度大于62个8bit时,LI取值63。信息字段最长不能超过272。LI由6位组成。由第二功能级包装并识别。LI后面的2位为备用,取值“00”。7、校验位CK对信令单元首标志F之后到CK之前的编码进行循环校验运算,得到循环校验码CK。CK由16位构成,用于收端的差错检验。由第二功能级包装并识别。8、状态字段SF状态字段是链路状态信信令单元(LSSU)中特有的字段,用来表示信令链路的状态。其信息字段SF由一个8bit组成,其中低3位为状态指示语,高5位为备用位,取值为0,该字段又称状态字段SF。状态指示语表示本信令点的第二功能级的工作状态。状态指示含义如下:C B A 状态指示0 0 0 SIO 失去定位0 0 1 SIN 正常定位0 1 0 SIE 紧急定位0 1 1 SIOS 业务中断1 0 0 SIPO 处理机故障1 0 1 SIB 链路忙9、业务信息八位位组SIO业务信息八位位组的作用是指明本信令单元是属于哪一个用户部分使用的消息。SIO又分成两部分,即业务表示语 SI(4位)和子业务字段 SSF(4位)。 子业务字段SSF业务表示语SID C B A D C B ASIO1) 业务表示语SISI表示本信令单元是信令点的哪一部分产生的。具体含义如下:0 0 0 0信令网管理消息 SNM0 0 0 1信令网测试和维护消息 SNT0 0 1 0备用0 0 1 1信令连接控制部分 SCCP0 1 0 0电话用户部分 TUP0 1 0 1ISDN用户部分 ISUP0 1 1 0与呼叫和电路有关的数据用户部分 DUP0 1 1 1数据用户部分性能登记与撤消 DUP1 0 0 0 备用1 1 1 12) 子业务字段SSFSSF表示本信令单元属于哪一个信令网。其中BA为备用位,取值“00”。DC含义如下。D C 含义0 0国际网0 1国际备用网1 0国内网1 1国内备用网10、信令信息字段SIF信令信息字段是消息信令单元特有的字段。由消息寻址的标记、用户信令消息的标题、用户信令信息三部分组成。通用的消息寻址的标记格式有四种类型的标记:A类,供MTP管理消息;B类,供TUP;C类,供ISDN-UP(与电路有关)消息;D类,供SCCP消息。如Error! Reference source not found.所示。第2章 SCCP协议一、 SCCP协议类型SCCP可向用户提供无连接服务和面向连接服务,具体有如下四类协议:1、0类(class 0):基本无连接服务2、1类(class 1):有序无连接服务3、2类(class 2):基本面向连接服务4、3类(class 3):流量控制面向连接服务二、原语类型层与层之间的信息交互称为原语,由原语名、原语类型和 原语参数组成。原语包括:N原语:SCCP和其用户之间的原语;MTP原语:SCCP与MTP之间的原语。(一)、N-原语类型原语类型共有四种,面向连接服务使用四种类型原语,无连接服务使用请求和指示两类原语。请求 Request指示 Indication响应 Response证实 Confirmation(二)、原语名面向无连接业务使用的原语有:N_UNITDATA_REQ:单元数据请求原语,在SCCP-用户请求SCCP部分发送数据时使用。N_UNITDATA_IND:单元数据指示原语,SCCP部分将收到的SCCP用户消息上报给SCCP-用户时使用。N_NOTICE_IND:通知指示原语,SCCP部分上报SCCP-用户消息不能发送到对端的原因。(三)、原语参数各原语包含了形成SCCP消息的全部信息参数。N_UNITDATA_REQ 包含:CDA(被叫地址)、CGA(主叫地址)、SEQ(顺序控制、1类服务用)、RO(回送选择)、UD(用户数据)N_UNITDATA_IND 包含:CDA、CGA、UDN_NOTICE_IND 包含:CDA、CGA、RR(回送理由)、UD三、SCCP消息(一)、消息种类SCCP共有16种消息(不包含SCCP管理消息),其中用于面向无连接服务业务的消息有两种:UDT(单元数据)UDTS(单元数据服务)(二)、消息格式及参数1、消息格式2、 消息参数(1)路由选择标记(Label):结构为OPC+DPC+SLS(2)消息类型:用以识别SCCP消息。它是所有消息的必备字节,决定该消息的功能和格式。长度为1字节,UDT为09H,UDTS为0AH。(3)长度固定的必备部分:即该消息所有固定长度的必备参数。(4)长度可变的必备部分:即该消息有长度可变的必备参数。(5)任选部分:即该消息的所有任选参数。UDT和UDTS所含参数参数字段UDTUDTS名编码被叫地址MMH主叫地址MM0H协议类别M05H诊断参数M0BH用户数据MM0FH(1)被叫地址和主叫地址:标识目的地和始发端的SCCP地址。(2)协议类别:1字节。bit1bit4:表示业务类别,其值03代表03类业务。 bit5bit8:表示失败返回选择,其值0000不返回;1000出错返回。 (3)诊断参数:用于无连接协议的UDTS消息,告知消息回送理由。1字节。l 00H:无法翻译该类地址。l 01H:无法翻译这个地址。l 02H:子系统拥塞。l 03H:子系统故障。l 04H:未配备用户。l 05H:MTP网路故障。l 06H:网路拥塞。l 07H:没有资格(如未设置目的信令点等)。l 08H:消息传送中错误。l 09H:本地处理错误。l 0AH:目的地不能重装。l 0BH:SCCP故障。l 其余:备用。(4)用户数据:SCCP用户数据。四、SCCP寻址(一)、寻址原理SCCP地址有三种类型:(1)信令点编码SPC即MTP地址,它只在所定义的七号信令网(国内网或国际网)内有意义。MTP根据DPC识别目的地并选路,根据SI(业务指示语)识别目的地内的用户。(2)子系统号SSN是SCCP使用的本地寻址信息,用于识别一个节点中的各个SCCP用户。它扩充了SI(4比特)的本地寻址范围。(3)全局名GT主要在始发节点不知道目的地节点网络地址的情况下使用。一般为某种编号计划中的号码。由于电信业务的编号计划已考虑到国际统一,因此全局名能标识全球任何一个信令点和/或子系统。但是MTP无法根据GT选路,因此SCCP必须首先把被叫的GT翻译成DPC或DPC+SSN,才能转交MTP发送,同时还需向下一节点标明GT基于的是什么编号计划。由于节点的资源有限,不可能期望一个节点的SCCP能翻译所有的全局名,因此有可能始发端先将GT翻译成某个中间点的DPC,该中间点的SCCP再将GT翻译成最终目的地的DPC,这个中间点就称为SCCP消息的转接点。一个消息可以有若干个转接点,这些转接点一般是不同信令网络接口的信关点(Gateway)。SCCP消息的主叫和被叫地址可以是上述三类地址中的一种或它们的任意组合,最常见的两种是DPC+SSN和GT,也可能是GT+DPC+SSN这样的地址。采用后一种地址,SCCP在发送消息时必须向下一转接点(或目的地)指明应根据GT还是DPC+SSN选择路由。(二)、地址编码SCCP地址编码为八位位组。地址类型指示语地址地址类型指示语的编码形式: 87654321国内备用选路指示语全局指示语子系统号指示位信令点编码Bit1和Bit2置“1”表示包含,置“0”表示不包含。Bit6Bit3:全局码表示语,规定GT码使用的地址格式,含义如下:0000:地址参数中不含GT地址。0001:全局码仅包含地址属性指示语0010:全局码仅包翻译类型0011:全局码含有翻译类型、编号计划、编码方式和地址信息编码0100:全局码含有翻译类型、编号计划、编码方式、地址属性表示 语和地址信息编码其它:备用有线智能网暂不使用GT寻址,所以SCCP地址中不包含GT码。(三)、寻址方式按DPC+SSN寻址按GT寻址按GT+DPC+SSN寻址第3章 INAP协议一、INAP与SCCP关系 利用SCCP的DPC+SSN寻址。也可用SCCP的GT寻址,GT全局码表示语采用0100。使用SCCP面向无连接的0类和1类业务。GT翻译点:全国智能网由HSTP,省内智能网由LSTP二、INAP在No.7中层次关系三、INAP协议体系ASE: 应用服务单元,直接与AP(应用进程)通信的功能实体,每个ASE支持一个或多个操作。SACF:单相关控制功能,单相关控制部分用于管理多个ASE,起协调作用(如接收愿语的次序)。SAO: 单相关对象,是SACF和ASE的总称,负责与远端一个同等物理实体SAO间的相互作用。MACF:多相关控制功能,当一个物理实体需与多个物理实体相互作用时,其每个SAO与一个对等ASO作用,MACF就是在一个物理实体中对几个SAO起协调作用。四、INAP协议内容INAP规程就是SCP与SSP间的通信协议。(一)、INAP信息流INAP协议通过信息流在两信令点INAP对等层间传递信息,这些信息流包括INAP协议“操作”、“结果”和“差错”的全部内容。所有信息流都是由信息单元组成,协议为信息流定义了严格的格式。CINAP共定义了36种信息流,如激活业务过滤、申请计费和启动DP等。(二)、INAP操作操作是INAP协议中支持的远端调用或命令,是通过信息流在对等层间传递,故操作与信息流相对应,具体对应关系参阅INAP规范。根据目前开放业务需求,CINAP采用35种操作(96年规范Phase- 1 支持27种操作)。所有操作划分为TCAP四种类别:类别1:成功和失败都报告。类别2:只报告失败。类别3:只报告成功。类别4:成功和失败均不报告(三)、常用INAP操作Initial DP(启动DP)SSP 发给SCP,操作码00H。SSP请求SCP启动一个智能业务呼叫处理,其数据类型中含有接入码、业务键等。Request Report BCSM Event(请求报告BCSM事件)SCP发给SSP,操作码17H。SCP根据启动的业务逻辑请求SSP配置EDP事件等。Connect Resource(连接资源)SCP发给SSP,操作码13H。SCP要求SSP将呼叫连接到资源上,如放音通道上。Prompt And Collect User Information(PC操作,提示并收集用户信息)SCP发给SSP,操作码30H。SCP请求SSP向用户播放提示音(如请输入卡号)并收集用户输入的信息。Play Announcement(PA操作,播送通知音)SCP发给SSP,操作码2FH。SCP要求SSP向用户播放通知语音,如操作失败时的提示等。Specialized Resource Report(专用资源报告)SSP发给SCP,操作码31H。SSP通知SCP放音结束,如PA通知音放完。Disconnect Forward Connect(拆除前向连接)SCP发给SSP,操作码12H。 SCP要求SSP拆除呼叫与资源的连接。Apply Charging(申请计费)SCP发给SSP,操作码23H 。SCP将有关计费数据下发给SSP,要求SSP开始计费。Connect(连接)SCP发给SSP,操作码14H。 SCP将目的地址和路由消息下发给SSP,要求SSP进行二次接续。Apply Charging Report(申请计费报告)SSP发给SCP,操作码24H。 SSP将计费结果上报给SCP。Event Report BCSM(BCSM事件报告)SSP发给SCP,操作码18H。 SSP向SCP上报检测到的各种DP事件,如挂机事件等。Release Call(释放呼叫)SCP发给SSP,操作码16H。 SCP要求SSP将呼叫释放,SSP收到此消息将拆除呼叫连接,结束本次业务接续。第4章 SIP协议一、SIP协议栈二、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 消息采用文本方式编码,分为两类:请求消息和响应消息。(一)、请求消息用于客户端为了激活按特定操作而发给服务器的SIP 消息,包括INVITE, ACK,OPTIONS,BYE,CANCEL 和REGISTER 消息等,各消息功能如表3-1所示。请求消息消息含义INVITE 发起会话请求,邀请用户加入一个会话, 会话描述含于消息体中。对于两方呼叫来说,主叫方在会话描述中指示其能够接受的媒体类型及其参数。被叫方必需在成功响应消息的消息体中指明其希望接受哪些媒体,还可以指示其行将发送的媒体。如果收到的是关于参加会议的邀请,被叫方可以根据Call-ID 或者会话描述中的标识确定用户已经加入该会议,并返回成功响应消息。ACK 证实已收到对于INVITE 请求的最终响应。该消息仅和INVITE 消息配套使用。BYE 结束会话CANCEL 取消尚未完成的请求,对于已完成的请求(即已收到最终响应的请求)则没有影响REGISTER 注册OPTIONS 查询服务器的能力(二)、响应消息用于对请求消息进行响应,指示呼叫的成功或失败状态。不同类的响应消息由状态码来区分。状态码包含三位整数,状态码的第一位用于定义响应类型,另外两位用于进一步对响应进行更加详细的说明。各响应消息分类和含义如表3-2所示。序号状态码消息功能1xx 信息响应(呼叫进展响应)表示已经接收到请求消息,正在对其进行处理100 试呼叫180 振铃181 呼叫正在前转182 排队2xx 成功响应表示请求已经被成功接受、处理200 OK 3xx 重定向响应表示需要采取进一步动作,以完成该请求300 多重选择301 永久迁移302 临时迁移303 见其它305 使用代理380 代换服务序号状态码消息功能4xx 客户出错表示请求消息中包含语法错误或者SIP 服务器不能完成对该请求消息的处理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 代处理请求491 代处理请求序号状态码消息功能5xx 服务器出错表示SIP 服务器故障不能完成对正确消息的处理500 内部服务器错误501 没实现的502 无效网关503 不提供此服务504 服务器超时505 SIP 版本不支持513 消息太长6xx 全局故障表示请求不能在任何SIP 服务器上实现600 全忙603 拒绝604 都不存在606 不接受(三)、消息结构1、请求消息SIP 请求命令的格式,由起始行、消息头和消息体组成。通过换行符区分消息头中的每一条参数行。对于不同的请求消息,有些参数可选。命令名称对端UPI 版本Call-ID :值Form :值To :值Cseq :值Via :值Contact :值Max-Forwards :值Allow :值Content-Length :值Supported :值User-Agent :值Content-Type :值 空格SDP (1)、Call-ID:该字段用以唯一标识一个特定的邀请或标识某一客户的所有登记。需要注意的是,一个多媒体会议可能会有多个呼叫,每个呼叫有其自己的Call-ID。例如,某用户可数次邀请某人参加同一历时很长的会议。用户也可能会收到数个参加同一会议或呼叫的邀请,其Call-ID 各不相同。用户可以利用会话描述中的标识,例如SDP 中的o(源)字段的会话标识和版本号判定这些邀请的重复性。Call-ID 的一般格式为:Call-ID:本地标识主机其中,主机应为全局定义域名和全局可选路IP 地址,此时,本地标识由在“主机”范围内唯一的URI 字符组成。否则,本地标识必须是全局唯一的值,以保证Call-ID 的全局唯一性。Call-ID 字符需区分大小写。(2)、From所有请求和响应必须包含此字段,以指示请求的发起者。服务器将此字段从请求消息复制到响应消息。From的一般格式为:From:显示名;tag=xxxx 其中,显示名为用户界面上显示的字符,如果系统不予显示,应置显示名为“匿名(Anonymous) ”。显示名为任选字段。tag 称为标记,为16 进制数字串,中间可带连字符“-”。当两个共享同一SIP 地址的用户实例用相同的Call-ID 发起呼叫邀请时,就需用此标记予以区分。标记值必须全局唯一。用户在整个呼叫期间应保持相同的Call-ID 和标记值。(3)、To该字段指明请求的接收者,其格式和From 相同,仅第一个关键词代之以To。所有请求和响应消息必须包含此字段。字段中的标记参数可用于区分由同一SIP URL 标识的不同的用户实例。由于代理服务器可以并行分发多个请求,同一请求可能到达用户的不同实例(如住宅电话等)。由于每个实例都可能响应,因此需用标记来区分来自不同实例的响应。需要注意的是,To 字段中的标记是由每个实例至于响应消息中的。(4)、Cseq Cseq 称之为命令序号。客户在每个请求中应加入此字段,它由命令名称和一个十进制序号组成,该序号由请求客户选定,在Call-ID 范围内唯一确定。序号初值可为任意值,其后具有相同Call-ID 值,但不同命令名称、消息体的请求,其Cseq 序号应加1。重发请求的序号保持不变。服务器将请求中的Cseq 值复制到响应消息中,用于将请求和其触发的响应相关联。ACK 和CANCEL 请求的Cseq 值(十进制序号)和对应的INVITE 请求相同,BYE 请求的Cseq 序号应大于INVITE 请求。服务器必须记忆相同Call-ID 的INVITE 请求的最高序号,收到序号低于此值的INVITE 请求应在给出响应后予以丢弃。由代理服务器并行分发的请求,其Cseq 值相同。严格来说,Cseq 对于任何可由BYE 或CANCEL 请求取消的请求以及客户可连续发送多个具有相同Call-ID 请求的情况都是需要的,其作用是判定响应和请求的对应关系。(5)、Via Via 字段用以指示请求历经的路径。它可以防止请求消息传送产生环路,并确保响应和请求消息选择同样的路径,以保证通过防火墙或满足其它特定的选路要求。发起请求的客户必须将其自身的主机名或网络地址插入请求的Via 字段,如果未采用缺省端口号,还需插入此端口号。在请求前传过程中,每个代理服务器必须将其自身地址作为一个新的Via 字段加在已有的Via 字段之前。如果代理服务器收到一个请求,发现其自身地址位于Via 头部中,则必须回送响应“检测到环路”。当请求消息通过网络地址翻译点(如防火墙)时,请求的源地址和端口号可能被改变,此时Via 字段就不能成为响应消息选路的依据。为了防止这一点,代理服务器应校验顶端Via 字段,如果发现其值和代理服务器检测到的前站地址不符,则应在该Via 字段中加入“receive”参数,如此修改后的字段称为“接收方标记Via 头部字段”。Via:SIP/2.0/UDP :5060 Via:SIP/2.0/UDP :5060;received=0 发出的请求消息路径外部地址为0 的网络地址翻译点后,到达代理服务器 。后者注意到前站发送地址和Via 字段地址不符,就把实际发送地址作为接收方标记加在顶端Via 字段的末尾,然后再将代理自己的地址作为新加的Via 字段置于最上面。Via 字段的一般格式为:Via:发送协议发送方;隐藏参数;生存期参数;多播地址参数;接收方标记,分支参数其中,发送协议的格式为:协议名/协议版本/传送层,协议名和传送层的缺省值分别为SIP 和UDP。发送方为通常的发送方主机和端口号。隐藏参数就是关键词hidden ,如有此参数,表示该字段已由上游代理予以加密,以提供隐私服务。多播地址参数和接收方标记的意义如前所述。生存期参数与多播地址参数配用。分支参数用于代理服务器并行分发请求时标记各个分支,当响应到达时,代理可判定是哪一分支的响应。(6)、Contact该字段用于INVITE、ACK 和REGISTER 请求以及成功响应、呼叫进展响应和重定向响应消息,其作用是给出其后和用户直接通信的地址。INVITE 和ACK 请求中的Contact 字段指示该请求发出的位置。它使被叫可以直接将请求(如BYE 请求)发往该地址,而不必借助Via 字段经由一系列代理服务器返回。对INVITE 请求的成功响应消息可包含Contact 字段,它使其后SIP 请求(如ACK 请求)可直接发往该字段给定的地址。该地址一般是被叫主机的地址,如果该主机位于防火墙之后,则为代理服务器地址。对应于INVITE 请求的呼叫进展响应消息中包含的Contact 字段的含义和成功响应消息相同。但是,CANCEL 请求不能直接发往该地址,必须沿原请求发送的路径前传。REGISTER 请求中的Contact 字段指明用户可达位置。该请求还定义了通配Contact 字段“*”,它只能和值为0 的“失效”字段配用,表示去除某用户的所有登记。Contact 字段也可设定“失效”参数(任选),给定登记的失效时间。如果没有设定该参数,则用“失效”字段值作为其缺省值。如果两者均无,则认为SIP URI 的失效时间为1 小时。REGISTER 请求的成功响应消息中的Contact 字段返回该用户当前可达的所有位置。重定向响应消息,如用户临时迁移、永久迁移、地址模糊等消息中的Contact 字段给出供重试的其它可选地址,可用于对BYE 、INVITE 和OPTIONS 请求的响应消息。Contact 字段的一般格式为:Contact:地址;q 参数;动作参数;失效参数;扩展属性其中,地址的表示形式和To,From 字段相同。q 参数,其取值范围为0,1, 指示给定位置的相对优先级。数值越大,优先级越高。动作参数仅用于REGISTER 请求。它表明希望服务器对其后至该客户的请求进行代理服务还是重定向服务。如果未含此参数,则执行动作取决于服务器的配置。失效参数指明URI 的有效时间,可用秒表示,也可用SIP 日期表示。扩展属性就是扩展名。(7)、Max-Forwards 该字段用于定义一个请求到达其目的地址所允许经过的中转站的最大值。请求每经过一个中转站,该值减1。如果该值为0 时该请求还没有到达其目的地址,服务器将回送“483”(Too Many Hops)响应并终止这个请求。设置该字段的目的主要是为了出现环路时不会一直消耗代理服务器的资源。该字段的初始值为70。Max-Forwards 字段的一般格式为:Max-Forwards:十进制整数(8)、Allow 该字段给出代理服务器支持的所有请求消息类型列表。Allow 字段的示例:Allow: INVITE, ACK, OPTIONS, CANCEL, BYE(9)、Content-Length 该字段表示消息体的大小,为十进制值。应用程序使用该字段表示要发送的消息体的大小,而不考虑实体的媒体类型。如果使用基于流的协议(如TCP 协议)作为传输协议,则必须使用此消息头字段。消息体的长度不包括用于分离消息头部和消息体的空白行。 Content-Length 值必须大于等于0。如果消息中没有消息体,则Content-Length 头字段值必须设为0。(10)、Content-Type Content-Type 字段表示发送的消息体的媒体类型。如果消息体不为空,则必须存在Content-Type 头字段。如果消息体为空且Content-Type 头字段存在,则表示此类型的消息体长度为0 (如一个空的声音文件)。(11)、Supported SIP 协议中定义的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 扩展以保证该消息的可靠传输。(12)、User-Agent User-Agent 头字段包含有发起请求的用户终端的信息。显示用户代理的软件版本信息可能会令用户在使用有安全漏洞的软件易受到外界攻击,因此,应该使User-Agent 头字段成为可选配置项。(13)、Expires Expires 指定了消息(或消息内容)多长时间之后超时。(14)、Accept-Language Accept-Language 头字段用在请求消息中,表示原因短语、会话描述或应答消息中携带的状态应答内容的首选语言类型。如果消息中没有Accept-Language 头字段,则服务器端认为客户端支持所有语言。(15)、Authorization Authorization 字段包含某个终端的鉴权证书。首先介绍一下终端向服务器端请求认证的一般过程:终端发起请求时如果服务器端需要对用户进行认证,那么会在本地产生本次认证的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 为HTTP-DIGEST 认证方式。目前SoftX3000 只支持HTTP-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 的算法。2、响应消息SIP 响应命令的格式,由起始行、消息头和消息体组成。通过换行符区分消息头中的每一条参数行。对于不同的请求消息,有些参数可选。SIP/ 协议版本状态码描述性短语Call-ID :值Form :值To :值Cseq :值Via :值Contact :值Max-Forwards :值Allow :值Content-Length :值Supported :值User-Agent :值Content-Type :值 空格SDP 第5章 H248 协议一、 H248消息协议栈二、 H248消息结构三、 H248协议命令(一)、命令列表命令名称命令代码描述Add ADD MGCMG, 增加一个终端到一个关联中,当不指明ContextID 时,将生成一个关联,然后再将终端加入到该关联中。Modify MOD MGCMG,修改一个终端的属性、事件和信号参数。Subtract SUB MGCMG, 从一个关联中删除一个终端,同时返回终端的统计状态。如关联中再没有其它的终端将删除此关联。Move MOV MGCMG,将一个终端从一个关联移到另一个关联。AuditValue AUD_VAL MGCMG, 获取有关终端的当前特性,事件、信号和统计信息。AuditCapa bilities AUD_CAP MGCMG,获取MG 所允许的终端的特性、事件和信号的所有可能值的信息。Notify NTFY MGMGC ,MG 将检测到的事件通知给MGC。ServiceCh ange SVC_CHG MGCMG 或MGMGC, MG 使用ServiceChange 命令向MGC 报告一个终端或者一组终端将要退出服务或者刚刚进入服务。MG 也可以使用ServiceChange 命令向MGC 进行注册,并且向MGC 报告MG 将要开始或者已经完成了重新启动工作。同时,MGC 可以使用ServiceChange 命令通知MG 将一个终端或者一组终端进入服务或者退出服务。所有的H.248 命令都要接收者回送响应。命令和响应的结构基本相同,命令和响应之间由事务ID 相关联。响应有两种:“Reply ”和“Pending”。“Reply”表示已经完成了命令执行,返回执行成功或失败信息;“Pending ”指示命令正在处理,但仍然没有完成。当命令处理时间较长时,可以防止发送者重发事务请求。(二)、命令描述符一个命令的参数被定义为描述符。描述符是由Name 和item 组成(item 可以携带Value)。一些命令可以共享一个或几个描述符。描述符可以作为一个命令的输出返回值。在很多情况下描述符作为返回值,只有Name 没有其它item。通常,描述符的形式如下:DescriptorName= parm = value, parm = value . 1 H.248 协议定义了19 种描述符,下面我们对常用的一些描述符进行介绍。1、 Modem 描述符(MD) 标识Modem 的类型和其它参数等信息。Modem 描述符包含以下调制解调器类型:V.18、V.22、 V.22bis 、V.32、V32bis 、V.34 、V.90、V.91、同步ISDN, 并且允许进行扩充。缺省情况下,终端中不包含Modem 描述符。2、Mux 描述符(MX) 多媒体呼叫时,媒体流是在一群承载通道上进行传输的。复用描述符将媒体和对应的承载通道联系起来。复用描述符支持的复用类型包括:H.221、H.223 、H.226、V. 7 6 以及一些扩展复用类型。复用描述符的定义由复用类型以及被复用的输入终端的TerminationID 集合组成,例如:Mux=H.221 MyT3/1/2,MyT3/2/3,MyT3/3/6,MyT3/21/22 。3、Media 描述符(M) 媒体描述符是用于描述所有媒体流特性的参数。媒体流特性参数可用终端状态描述符(TerminationState)和若干个流描述符(Stream)来描述。其中,TerminationState 描述符与特定媒体流无关,用于描述终端的特性;Stream 描述符描述媒体流。本协议规定Stream 描述符由StreamID 进行标识。Stream 描述符可分为本地控制描述符(LocalControl )、本地描述符(Local )和远端描述符(Remote) 三种。为简便起见,本协议规定LocalControl、 Local 和Remote 可以在一个Media 描述符中进行定义,当这三种描述符在一个Media 描述符中描述时,Stream 描述符的StreamID 通常假定为1。这几种描述符之间的关系如下所示:Media Descriptor TerminationStateDescriptor Stream Descriptor LocalControl Descriptor Local Descriptor Remote Descriptor zTermination State 描述符(TS) TerminationState 描述符包括业务状态(ServiceStates )特性、事件缓存控制(EventBufferControl )特性以及在包中定义的与特定流无关的终端特性。其中,ServiceStates(SI)特性描述了终端的状态,本协议规定终端状态有以下三种:“test(TE)”、“out of service(OS)”和“in service(IV)”。“test”用于指示一个终端正在处于被检测的状态;“out of service”用于指示一个终端处于退出服务的状态;“in service”用于指示一个终端正处于服务状态。TerminationState 描述符的缺省值为“in service”。EventBufferControl(EB)特性描述了检测到Events 描述符中指定的事件后的处理方式。本协议规定处理方式有两种:一种是立即对事件进行处理;另一种是先对事件进行缓存再处理。zStream 描述符(ST) Stream 描述符用于指定一个双向流的参数。Stream 描述符可分为LocalControl、Local 和Remote 描述符三种。本协议规定Stream 描述符可用StreamID 进行标识,通过在关联中的一个终端上指定一个新的StreamID 可以创建一个新的流。而删除一个存在的流则需要对该流原先所在的关联中的所有终端设置:LocalControl 描述符中 ReserveGroup 和ReserveValue 参数为“false”;Local 和Remote 描述符为空。1 H.248 规定StreamID 由MGC 分配,StreamID 是MGC 和MG 之间的局部参数。一个关联中具有相同StreamID 的流是相互连接。2 zLocalControl 描述符(O)LocalControl 描述符包含模式属性Mode(MO)、预留组属性ReserveGroup(RG)、预留值属性ReserveValue(RV)和包中定义的某些与特定媒体流有关的终端属性。Mode 可分为Sendonly(SO)、Receiveonly(RC)、Send/Receive(SR)、Inactive(IN)和Loopback(LB)几种。其中Send 和Receive 与关联中媒体流的流向有关。例如,如果某个媒体流的模式为Sendonly ,则此流并不将接收到的媒体传送给关联。信号和事件均不受模式的影响。预留属性Reserve 决定了MG 在收到Local 和/或Remote 描述符后的处理动作。Reserve 属性包括ReserveValue 和ReserveGroup 两种属性,属性值为布尔函数,缺省值均为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论