《《协议概述》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《协议概述》PPT课件.ppt(37页珍藏版)》请在三一办公上搜索。
1、2833协议概述和实例分析,主讲:丁向军,日期:2023年7月11日,2833包是什么包?,2833包其实是RTP包的一种特殊表现形式,它是用来对DTMF数字、电话音信号等进行RTP封装,在RTP数据包中传送双音多频(DTMF)信号、其它电话信号音,并且对该包赋以动态的负载类型。,2833包传输的具体事件类型,1、DTMF音 Event encoding(decimal)0-9 0-9*10#11 A-D 12-15 Flash 16,2、Modem&Fax 命名事件 Event encoding(decimal)Answer tone(ANS)32/ANS 33ANSam 34/ANSam
2、35Calling tone(CNG)36 V.21 channel 1,0 bit 37 V.21 channel 1,1 bit 38V.21 channel 2,0 bit 39V.21 channel 2,1 bit 40 CRdi 41 CRdr 42 CRe 43 ESi 44 ESr 45 MRdi 46 MRdr 47 MRe 48 CT 49,3、线路事件 Event encoding(decimal)Off Hook 64 On Hook 65 Dial tone 66 PABX internal dial tone 67 Special dial tone 68 Seco
3、nd dial tone 69 Ringing tone 70 Special ringing tone 71 Busy tone 72 Congestion tone 73 Special information tone 74 Comfort tone 75 Hold tone 76 Record tone 77 Caller waiting tone 78 Call waiting tone 79 Pay tone 80 Positive indication tone 81 Negative indication tone 82 Warning tone 83 Intrusion to
4、ne 84 Calling card service tone 85 Payphone recognition tone 86 CPE alerting signal(CAS)87 Off-hook warning tone 88 Ring 89,4、扩展线路事件 Event encoding(decimal)Acceptance tone96 Confirmation tone97 Dial tone,recall 98 End of three party service tone99 Facilities tone100 Line lockout tone101 Number unobt
5、ainable tone102 Offering tone103 Permanent signal tone104 Preemption tone105 Queue tone106 Refusal tone107 Route tone108 Valid tone109 Waiting tone110 Warning tone(end of period)111 Warning Tone(PIP tone)112,5、特定地区(国家)线路事件 Event encoding(decimal)Acceptance tone 96 Confirmation tone 97 Dial tone,reca
6、ll 98 End of three party service tone 99 Facilities tone100 Line lockout tone101 Number unobtainable tone102 Offering tone103 Permanent signal tone104 Preemption tone105 Queue tone106 Refusal tone107 Route tone108 Valid tone109 Waiting tone110 Warning tone(end of period)111 Warning Tone(PIP tone)112
7、,2833包头的结构,描述事件方法,通过名称描述事件(DTMF和信号音)对电话音还可通过波形属性描述信号音,1.通过名称编码描述事件RTP负载格式,字段说明,Event:表示DTMF、电话音等事件所对应的编码。Volume:本字段描述音频的功率级,以dBm0标记。功率级范围从0 到-63 dBm0。有效的DTMF范围是从0 到-36 dBm0(必须做到);低于-55 dBm0则必须丢弃(TR-TSY-000181,ITU-T Q.24A)。因而,值越大表明音量越小。这里的值只为DTMF数字定义。对于其它事件,发送端设置为零,那么接收端将忽略该值。duration:数字信号的宽度以时间戳单元表示
8、。这样,事件从RTP时间戳表示的瞬间开始,并一直持续到该参数表示的长度。事件可以已经结束也可以没有结束。以8000赫兹取样来说,本字段最长可以表示8秒。E:结束位若设置为1表明数据包中含有事件的结束。因此上述的duration参数即测定了事件的完整宽度。R:本字段为以后使用而保留。发送方必须将它设为0,接收端则应忽略它。,2.通过波形描述电话音RTP负载格式,字段说明,Modulation:调制频率,用Hz表示,该字段是9位无符号整数,允许频率到511 Hz。如果没有调制,该字段值为0。T:如果“T”位设为1,调制频率要被3除。否则,就使用本来的调制频率。由于实际中还在使用16 2/3 Hz这
9、样的调制频率,该位允许调制频率精确到1/3 Hz。Volume:话音的功率级别,以dBm0标记,范围从0 到-63 dBm0。Duration:宽度:话音的宽度,用时间戳单元度量。话音由RTP时间戳标志的瞬间开始,持续到整个宽度值。时间戳描述了第一个样本的采样点。Frequency:信号音频率,用Hz表示,以12位无符号整数发送。字段的长度足够表示到4095 Hz,超出了电话网的范围。0值表示静音。R:本字段为保留字段。发送方必须将它设为0,接收端则应忽略它。,事件包的发送机制,音源一识别到事件就应开始发送事件数据包,之后按每50毫秒或根据会话中使用的音频编解码器的时间间隔连续发送。如果一个事
10、件延续了一个周期以上,信号源产生事件将发送一个新的事件数据包,其RTP时间戳值为事件开始时刻(timestamp不变),事件的持续时间duration相应的增加。(RTP序列号sequence number按每个数据包依次增一)如果最后间隔中没有新事件出现,那么事件应重发3次或直到下个事件被识别。这确保了即使最后一个数据包丢失,也能正确识别事件的宽度。为了避免接收端等待事件的完成,DTMF数字信号及事件按递增形式发送。由于一些音频长达2秒,将造成实际延迟。发送方并不知道事件长度是否重要,因而需要立即且递增式地传送。如果接收端应用不在乎事件持续时间,那么这样的递增传输机制就避免了延迟。而有些应用
11、则同时要关心延迟和事件持续时间,如PSTN网关等。,可靠性,在一个事件中,RTP事件负载格式提供了事件的递增更新。错误恢复取决于接收端的播放延迟。例如,如果播放延迟为120毫秒,包间隙为50毫秒,一行丢失两个数据包不会造成接收端产生音频间隙。RFC 2198 6中描述的音频冗余机制可以用于恢复数据包中丢失的事件。,非冗余2833包的具体结构,非冗余2833包的具体实例,说明:DTMF PT97,传送数据是1,并且1没有结束,从取样时刻(102200/8000=12.775s)开始已经持续时间为0 x03e8/8000=125ms。,非冗余2833打包间隔,事件结束时的3次重发机制,说明:这样做
12、的目的是确保了即使最后一个数据包丢失,也能正确识别事件的宽度,冗余2833包,RFC 2198 6中描述的音频冗余机制可以用于恢复数据包中丢失的事件。有效的数据速率是每50毫秒r个64位(32位作为冗余头,32位作为电话事件负载)或每秒r个1280位,其中r是每个数据包中携带的冗余事件数。r值可在具体实现时确定,建议可以使用5。,2198冗余包结构,一个承载了冗余数据的RTP包应该有一个标准RTP头,同时要在负载类型中表示其中含有冗余信息。(可以参考RFC2198)紧接着RTP头是一些附加头,定义于下图中,它们规定了包所携带的每个编码的内容。主编码块头后是数据块,其中包括了这些编码的标准RTP
13、负载数据。注意:所有的冗余附加头都要同32位边界对齐,但负载数据却往往不需要对齐。,在RTP头后面的附加头格式,头中的各位定义如下:标志位(F):1位,头中的第一位,表示后面是否还有另一个头块。如果该位为1表示后面还有头块,如果该位为0表示这是最后一个头块。块负载类型(block PT):7位,表示该块的RTP负载类型。时间戳偏移(timestamp offset):14位,本块相对于RTP头时间戳的无符号时间戳偏移量。使用无符号偏移则说明冗余数据的发送必须在主数据已经发送之后,因此要从当前时间中减去主数据的发送时间来决定冗余数据所在块的时间戳。块长度(block length):10位,表示
14、对应数据块的字节长度,其中不包括头的长度。,主数据块附加头的说明,主编码块头位于包头的最后。我们可以忽略本块头中的时间戳和块长度字段,因为他们可以通过RTP头和整个包的长度来判断。主数据块的头由一个零F位和一个块负载类型组成,总共8位。最后一个头之后就是数据块,存储顺序和头的排列顺序相同。数据块之间不需要填充或者使用其它分隔,一般不需要32位对齐。如此选择仍是为了在损失一定额外解码时间的情况下降低带宽负担。,冗余2833包具体结构,2833的冗余原理,关于冗余包中有多少个Event的问题,有两个控制条件:一个是最大Event数(Mindspeed固件中是5个)一个是生存周期(Mindspeed
15、固件中是2秒)在生存周期内,小于最大Event数的DTMF digit都会在冗余包中。如果说当前的DTMF 事件出现的时刻与前面一个或几个DTMF事件(不超过4个)结束时刻之间的间隔小于2秒,那么前面的一个或几个DTMF 事件就应该包含在该DTMF冗余包中。至于这两个值的定义是由实现时候灵活掌握的。,一个典型的2833冗余例子,冗余2833包分析,打包间隔50ms(Q.24 5,表A-1,指出了所有测量管理使用40毫秒的最小信号宽度),连续两个具体的2833包(1),连续两个具体的2833包(2),两个包的DTMF分析,包的主要内容:1.Sequence number:356timestamp
16、:56720payload:61 010704102.Sequence number:357timestamp:56720payload:61 01070550,只有1个DTMF事件的冗余包,说明:蓝色框所代表的时刻是20.67s,红色框所代表的时刻是18.02s,两个DTMF之间的间隔20.6718.022.652,所以下面的一个DTMF包(蓝色)中不包含上一个DTMF(红色)的冗余。,有2个DTMF事件的冗余包,说明:蓝色框所代表的时刻是12.46s,红色框所代表的时刻是12.41s,两个DTMF之间的间隔12.4612.410.052,所以下面的一个DTMF包(蓝色)中应该包含上一个DTMF(红色)的冗余。,有3个DTMF事件的冗余包,说明:当前DTMF包对应的时刻是45.30s,上一个DTMF包对应的结束时刻是45.25s,上上一个DTMF包对应的结束时刻是45.13s,那么他们之间的时间最大间隔是45.3045.13=0.17s2s,所以当DTMF应该包含前两个DTMF事件的冗余。,总结:当然大家也可以分析带有4个冗余DTMF,也就是含有5个DTMF事件的2833包,要点是要把握DTMF冗余原理的2个条件:时间间隔和最大冗余数。,参考文档,RFC2833RFC2198RFC3550RFC3551,