CN101031092A - 一种语音报文的处理方法和报文处理器 - Google Patents

一种语音报文的处理方法和报文处理器 Download PDF

Info

Publication number
CN101031092A
CN101031092A CN 200610034086 CN200610034086A CN101031092A CN 101031092 A CN101031092 A CN 101031092A CN 200610034086 CN200610034086 CN 200610034086 CN 200610034086 A CN200610034086 A CN 200610034086A CN 101031092 A CN101031092 A CN 101031092A
Authority
CN
China
Prior art keywords
message
fragment
processor
voice
message fragment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN 200610034086
Other languages
English (en)
Inventor
蔡利剑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN 200610034086 priority Critical patent/CN101031092A/zh
Publication of CN101031092A publication Critical patent/CN101031092A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及语音报文的处理技术,公开了一种语音报文的处理方法和报文处理器。本发明中,在放音业务处理过程中,在内存中设置报文分片队列,用于缓存报文分片。在报文处理器需要发送语音报文时,报文处理器从报文分片队列中读取报文分片,并为读取的报文分片封装报文首部,转换成语音报文,发送给物理层设备处理;在报文处理器不需要发送语音报文时,报文处理器从内存中读取报文分片,将报文分片置入报文分片队列。本发明利用了报文分片队列缓存机制,将读取报文分片、发送语音报文等操作分开,有效地利用了报文处理器资源,提高报文处理的效率。

Description

一种语音报文的处理方法和报文处理器
技术领域
本发明涉及通信技术,特别涉及语音报文的处理技术。
背景技术
在现代通信网络中,各个通信设备(如媒体网关)上都有网络处理器,用于处理各种各样复杂的业务。尤其是一些业务流量大的媒体设备上,对网络处理器的处理能力要求非常高。在某些情况下,出于对成本、灵活性的考虑,采用普通CPU处理各种网络业务。
在各种通信业务中,放音业务是一种基本的、传统的电话业务。主叫呼叫被叫过程中,主被叫尚未接通时,主叫用户会听到“嘟——嘟——”的回铃音,这种回铃音的播放就是一种放音业务。特别地,智能提示音业务也是一种放音业务,如查询余额,提示余额为:“x”“元”“y”“角”“z”“分”,则其中的“元”、“角”、“分”各自分别是语音片断,是以PCM码或其它编码格式存储在内存的语音数据。
以放音业务的报文处理为例,现有的方案如图1所示:
步骤101、102:报文处理器收到发送语音报文指示消息时,从内存中读取一报文分片;
语音数据是以PCM码或其它编码格式存储在内存中,报文处理器读取报文分片是根据需要发送的语音报文的具体要求(如语音编解码方式),控制读取的语音数据的长度为报文净荷分片(以下称报文分片)的大小。比如:如果DSP(数字信号处理器)采用G.711 20ms打包间隔的编解码方式处理语音报文,一个分片是160字节;如果采用是AMR编解码方式,一个分片最短可以12字节,最长31字节。
步骤103:报文处理器将报文分片转换成一帧语音报文,发送给物理层设备(如FPGA接口);
该步骤中,将语音数据转换成一帧语音报文的过程如下:报文处理器根据读取的报文分片生成报文首部,将报文首部和报文分片依次发送至物理层设备,这样物理层设备接收到的就是一个完整的语音报文。
步骤104:物理层设备将语音报文转发至DSP。
步骤105:DSP接收语音报文,经过编解码转换或者其它处理后,发送至TDM网络或者IP网络。
其中,报文处理器可以普通CPU,也可以是专用的网络处理器。网络处理器是专用于网络设备(如路由器、网关等)的处理器,针对网络处理进行优化,和普通CPU相比,具有多内核、特别设置了大量位域操作指令、硬件支持的多线程调度和切换、专用的指令存储空间等特点。
上述方案中,只有报文处理器收到发送语音报文指示消息时,才从内存中读取报文分片,进行后续报文发送处理。如果报文处理器的能力不足,可能会导致报文处理任务未完成的情况下,处理器时间就被其它业务的任务处理抢占,则会影响报文的正常处理。
发明内容
有鉴于此,本发明的主要目的在于提供一种语音报文的处理方法和报文处理器,提高报文处理的效率。
为实现上述目的,本发明提供了一种语音报文处理的方法,应用于放音业务处理,该方法包括:
步骤A:报文处理器判断当前是否需要发送语音报文,如果需要,则执行步骤B,如果不需要,则执行步骤C;
步骤B:所述报文处理器从报文分片队列中读取报文分片,转换成语音报文,所述报文处理器发送该语音报文;
步骤C:所述报文处理器从语音数据存储区读取报文分片置入报文分片队列。
本发明的方法中,所述步骤B包括:
步骤B1:所述报文处理器判断所述报文分片队列是否为空,如果不为空,则执行步骤B2;
步骤B2:所述报文处理器从所述报文分片队列中读取报文分片,转至步骤B3;
步骤B3:所述报文处理器将所述报文分片转换成语音报文,发送至物理层设备。
进一步,所述步骤B还可以包括:
步骤B4:物理层设备将所述语音报文发送至数字信号处理器,所述数字信号处理器将所述语音报文编解码后发送至IP网络或TDM网络。
特别地,所述步骤B3中,所述报文处理器采用多帧复用方式将所述报文分片转换成语音报文;
或者
所述报文处理器直接读取一个报文分片转换成语音报文。
而且,步骤B2中读取报文分片的数量由所述数字信号处理器的缓存大小和所述报文分片的大小确定;
所述报文分片的大小由所述语音报文的编解码方式确定。
本发明的方法中,所述步骤A包括:
步骤A1:所述报文处理器获取***时间;
步骤A2:所述报文处理器比较所述***时间和下一语音报文的报文发送时间,如果所述***时间达到所述报文发送时间,则报文处理器发送下一个语音报文。
特别地,所述方法进一步可以包括:设置所述报文发送时间戳的允许窗口,如果所述***时间在所述报文发送时间戳的允许窗口范围中,则报文处理器需要发送下一个语音报文。
本发明的方法中,所述步骤C包括:
步骤C1:所述报文处理器判断所述报文分片队列是否有空闲项,如果有,则所述报文处理器从所述语音数据存储区中读取报文分片,所述报文处理器将报文分片置入报文分片队列。
本发明还提供了一种报文处理器,包括报文发送单元、数据接收单元、处理决策单元、报文处理单元,
所述处理决策单元获取***时间,根据所述***时间分析下一步操作,发出操作指令;
所述数据接收单元从语音数据存储区读取报文分片,发送至所述报文处理单元处理;
所述报文处理单元接收所述数据接收单元发送的报文分片,将所述报文分片置入报文分片队列;所述报文处理单元从所述报文分片队列中读取报文分片,转换成语音报文后发送至所述报文发送单元;
所述报文发送单元接收所述报文处理单元发送的语音报文,发送至物理层设备。
特别地,所述报文处理单元包括报文复用单元;所述报文处理单元从所述报文分片队列中读取报文分片后,所述报文复用单元采用多帧复用方式将所述报文分片转换成语音报文发送至所述报文发送单元。
通过比较可以发现,本发明的技术方案与现有技术的主要区别在于,利用了报文分片队列缓存机制,将读取语音数据,生成报文分片的操作和其他操作分开,有效地利用了报文处理器资源,提高报文处理的效率。
附图说明
图1是现有技术中报文处理流程示意图;
图2是本发明报文处理流程示意图一;
图3是本发明报文处理流程示意图二;
图4是本发明的报文处理器结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
本发明核心在于,在放音业务处理过程中,在内存中设置报文分片队列,用于缓存报文分片。在报文处理器需要发送语音报文时,报文处理器从报文分片队列中读取报文分片,并为读取的报文分片封装报文首部,转换成语音报文,发送给物理层设备处理;在报文处理器不需要发送语音报文时,报文处理器从内存中读取报文分片,将报文分片置入报文分片队列。
在网络多媒体通信中,一个会话一般对应一个语音通道,用于完成语音报文的处理;每个语音通道都有相应的语音报文处理进程,需要设置一个报文分片队列,报文分片队列长度(指可存储报文分片的数量)可以根据***的具体情况设置或调整。一个语音通道中语音报文的具体处理如下:
报文处理器获得***时间,判断当前是否是发送语音报文的时刻,即当前是否需要发送语音报文;如果不需要发送语音报文,则执行语音报文处理流程(如图2);如果需要发送语音报文,则执行语音报文发送流程(如图3)。
***进行放音业务处理时,报文处理器接收发送语音报文的指示消息后,发出的第一个语音报文中的时间戳就是发送该语音报文的时刻,报文处理器根据该语音报文的打包长度可以计算出下一个待发送的语音报文的报文发送时间戳,即是下一个语音报文要发出的时刻;以后每发出一个语音报文后,都根据当前发出的语音报文的时间戳和打包长度计算下一个报文的报文发送时间戳。
以G.711 20ms打包间隔的编解码方式为例,发送第一个语音报文的具体时刻为T1,则下一个语音报文的时间戳即发送时刻为T1+20ms。
实际处理过程中,由于语音报文处理会有会抖动等现象,因此可能会为发送下一个语音报文的时间戳设置一个允许窗口,该允许窗口可以根据允许的抖动值进行调整。所谓允许窗口就是指发送下一个语音报文的允许时刻范围,如果获得的***时间在该范围内,则进行语音报文发送流程。
如图2所示,语音报文处理流程包括如下步骤:
步骤201:报文处理器判断报文分片队列是否有空闲项(即报文分片队列中是否可以置入新的报文分片),如果报文分片队列已满,则转至步骤204;否则转至步骤202;
步骤202:报文处理器从语音数据存储区中读取报文分片;
该步骤中,语音数据存储区是存储语音片段数据的内存区域;同现有技术的处理方式一样,报文处理器读取报文分片是根据需要发送的语音报文的具体要求(如语音编解码方式),控制读取的语音数据的长度为报文分片的大小。比如:如果DSP(数字信号处理器)采用G.711 20ms打包间隔的编解码方式处理语音报文,一个分片是160字节;如果采用是AMR编解码方式,一个分片最短可以12字节,最长31字节。
步骤203:报文处理器将报文分片置入报文分片队列;
步骤204:结束本次语音报文处理。
如图3所示,语音报文发送流程包括如下步骤:
步骤301:报文处理器判断报文分片队列是否为空(即报文分片队列中是否有未处理的报文分片),如果报文分片队列为空,则转至步骤305;否则,转至步骤302;
步骤302:报文处理器从报文分片队列中读取报文分片;
步骤303:采用多帧复用方式将步骤302中读取的报文分片转换成语音报文,发送至物理层设备;
该步骤中,所谓多帧复用方式将报文分片转换成语音报文的过程是:报文处理器根据读取的报文分片生成报文首部,将报文首部和各报文分片依次发送至物理层设备,这样物理层设备接收到的就是一个完整的语音报文。
在步骤302中,可以根据DSP的缓存能力确定读取报文分片的数量。以采用G.71120ms打包间隔的编解码方式处理语音报文为例,一个报文分片为160字节,如果DSP可以缓存1000字节,则报文处理器可以采用多帧复用方式发送语音报文,将1000/160即6个报文分片共用一个报文首部,复用成一个语音报文。
在步骤302、303中,报文处理器可以不采用多帧复用方式,而直接读取一个报文分片转换成语音报文。
步骤304:物理层设备将语音报文发送给DSP,由DSP经过编解码转换或者其它处理后,发送至TDM网络或者IP网络;
步骤305:结束本次语音报文处理。
图2、3分别描述了语音报文处理流程和语音报文发送流程的具体步骤。其中,在语音报文处理流程中,报文处理器从语音数据存储区中读取报文分片。如果从语音数据存储区读取报文分片时,已经到达了语音片段数据尾部,则报文处理器在报文分片队列中加入一个特殊的业务结束指示报文分片,指示放音业务处理过程结束;在语音报文发送流程,报文处理器读取该业务结束指示报文分片后,结束本次放音业务处理。具体从软件实现角度来说,报文处理器可以将该业务结束指示转换成业务结束指示消息发送给应用层,或者由底层软件发送给上层软件,指示本次放音业务处理结束。
上面描述的是一个语音通道的处理情况。如果有多个用户同时在线,启动了多个会话,则需要分配相应数量的语音通道。此时,为了提高报文处理器的效率,以处理更多的会话,多个语音通道之间的切换处理一般采用轮转算法,可以保证调度公平。
本发明的方法和现有技术相比,现有技术是将读取报文分片、发送语音报文等处理放在一起,每次发送报文都必须读取报文分片并转换成语音报文后发送。由于语音数据是存放在内存中,报文处理器访问内存存在瓶颈问题,即访问内存导致报文处理器执行指令产生等待的情况,将降低报文处理器的性能,可能会对语音报文的及时发出造成影响,同时由于语音业务实时性高,因此要求报文处理器具有较高的性能;本发明则利用发送报文的空闲处理时间,将读取语音数据、拆分报文分片等复杂操作提前完成,降低了对报文处理器的性能要求。
采用本发明的方法,需要对报文处理器进行一些必要的改进。如图4所示,为本发明报文处理器的结构示意图。
报文处理器包括数据接收单元、报文处理单元、报文发送单元及处理决策单元;
其中,处理决策单元获取***时间,根据所述***时间分析下一步操作,发出操作指令。具体来说,处理决策单元负责报文处理器处理工作的总调度,即决定报文处理器下一步的处理,并发出操作指令,包括判断下一步操作是发送语音报文还是读取报文分片,以及报文发送完成后判断是否继续发送语音报文、是否采用多帧复用方式组装报文等。
数据接收单元从语音数据存储区读取报文分片,发送至报文处理单元处理。其中的语音数据存储区是存储语音片段数据的内存区域。
报文处理单元将从数据接收单元接收报文分片,将报文分片置入报文分片队列;报文处理单元还负责从报文分片队列中读取报文分片,转换成语音报文后发送至报文发送单元;
报文发送单元接收报文处理单元发送的语音报文,发送至物理层设备。
在报文处理过程中,为了提高报文处理器效率,一般对报文分片采用多帧复用方式处理,因此报文处理单元还可以包括报文复用单元;
报文处理单元从报文分片队列中读取报文分片,报文复用单元采用多帧复用方式将读取的报文分片转换成语音报文发送至报文发送单元。
虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

Claims (11)

1.一种语音报文处理的方法,应用于放音业务处理,其特征在于,所述方法包括:
步骤A:报文处理器判断当前是否需要发送语音报文,如果需要,则执行步骤B,如果不需要,则执行步骤C;
步骤B:所述报文处理器从报文分片队列中读取报文分片,转换成语音报文,所述报文处理器发送该语音报文;
步骤C:所述报文处理器从语音数据存储区读取报文分片置入报文分片队列。
2.根据权利要求1所述的方法,其特征在于,所述步骤B包括:
步骤B1:所述报文处理器判断所述报文分片队列是否为空,如果不为空,则执行步骤B2;
步骤B2:所述报文处理器从所述报文分片队列中读取报文分片,转至步骤B3;
步骤B3:所述报文处理器将所述报文分片转换成语音报文,发送至物理层设备。
3.根据权利要求2所述的方法,其特征在于,所述步骤B还包括:
步骤B4:物理层设备将所述语音报文发送至数字信号处理器,所述数字信号处理器将所述语音报文编解码后发送至IP网络或TDM网络。
4.根据权利要求2所述的方法,其特征在于,所述步骤B3中,所述报文处理器采用多帧复用方式将所述报文分片转换成语音报文;
或者
所述报文处理器直接读取一个报文分片转换成语音报文。
5.根据权利要求3所述的方法,其特征在于,步骤B2中读取报文分片的数量由所述数字信号处理器的缓存大小和所述报文分片的大小确定。
6.根据权利要求1或5所述的方法,其特征在于,所述报文分片的大小由所述语音报文的编解码方式确定。
7.根据权利要求1所述的方法,其特征在于,所述步骤A包括:
步骤A1:所述报文处理器获取***时间;
步骤A2:所述报文处理器比较所述***时间和下一语音报文的报文发送时间,如果所述***时间达到所述报文发送时间,则报文处理器发送下一个语音报文。
8.根据权利要求7所述的方法,其特征在于,所述方法进一步包括:设置所述报文发送时间戳的允许窗口,如果所述***时间在所述报文发送时间戳的允许窗口范围中,则报文处理器需要发送下一个语音报文。
9.根据权利要求1所述的方法,其特征在于,所述步骤C包括:
步骤C1:所述报文处理器判断所述报文分片队列是否有空闲项,如果有,则所述报文处理器从所述语音数据存储区中读取报文分片,所述报文处理器将报文分片置入报文分片队列。
10.一种报文处理器,其特征在于,包括报文发送单元、数据接收单元、处理决策单元、报文处理单元,
所述处理决策单元获取***时间,根据所述***时间分析下一步操作,发出操作指令;
所述数据接收单元从语音数据存储区读取报文分片,发送至所述报文处理单元处理;
所述报文处理单元接收所述数据接收单元发送的报文分片,将所述报文分片置入报文分片队列;所述报文处理单元从所述报文分片队列中读取报文分片,转换成语音报文后发送至所述报文发送单元;
所述报文发送单元接收所述报文处理单元发送的语音报文,发送至物理层设备。
11.根据权利要求10的报文处理器,其特征在于,所述报文处理单元包括报文复用单元;所述报文处理单元从所述报文分片队列中读取报文分片后,所述报文复用单元采用多帧复用方式将所述报文分片转换成语音报文发送至所述报文发送单元。
CN 200610034086 2006-02-28 2006-02-28 一种语音报文的处理方法和报文处理器 Pending CN101031092A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200610034086 CN101031092A (zh) 2006-02-28 2006-02-28 一种语音报文的处理方法和报文处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200610034086 CN101031092A (zh) 2006-02-28 2006-02-28 一种语音报文的处理方法和报文处理器

Publications (1)

Publication Number Publication Date
CN101031092A true CN101031092A (zh) 2007-09-05

Family

ID=38716107

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200610034086 Pending CN101031092A (zh) 2006-02-28 2006-02-28 一种语音报文的处理方法和报文处理器

Country Status (1)

Country Link
CN (1) CN101031092A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014015498A1 (zh) * 2012-07-26 2014-01-30 华为技术有限公司 报文发送方法、接收方法、装置及***
CN103581457A (zh) * 2012-07-23 2014-02-12 腾讯科技(深圳)有限公司 一种通信的方法、设备和***
WO2014205691A1 (zh) * 2013-06-26 2014-12-31 华为技术有限公司 数据报文处理方法、数据报文处理装置及***
CN105938438A (zh) * 2015-11-24 2016-09-14 杭州迪普科技有限公司 一种数据报文处理方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103581457A (zh) * 2012-07-23 2014-02-12 腾讯科技(深圳)有限公司 一种通信的方法、设备和***
WO2014015498A1 (zh) * 2012-07-26 2014-01-30 华为技术有限公司 报文发送方法、接收方法、装置及***
WO2014205691A1 (zh) * 2013-06-26 2014-12-31 华为技术有限公司 数据报文处理方法、数据报文处理装置及***
CN105938438A (zh) * 2015-11-24 2016-09-14 杭州迪普科技有限公司 一种数据报文处理方法及装置

Similar Documents

Publication Publication Date Title
CN1109459C (zh) 预防语音串联编码的代码转换器
CN1360783A (zh) 数据包的处理
CN1158819C (zh) 用于在多媒体网络节点之间交换信息的方法和***
CN1805427A (zh) 用于处理多媒体流的方法
CN1870514A (zh) 会话服务质量分析的实现方法
CN1961544A (zh) 数据分组传输的基于优先级的多路复用
CN1866929A (zh) 提供实时通信连接的方法
CN1874480A (zh) 一种可视通信平台***及其呼叫控制方法
WO2008063735A2 (en) Payload header compression in an rtp session
CN101056245A (zh) 媒体流中继设备及方法
CN1535523A (zh) 优化基于ip的语音网络优先级和带宽要求
CN1600013A (zh) 用于压缩分组首部的方法和设备
CN101031092A (zh) 一种语音报文的处理方法和报文处理器
CN101039199A (zh) 呼叫处理方法、***、应用服务器及交换设备
CN1874336A (zh) 一种数据流处理的方法和装置
CN1266885C (zh) 一种基于软交换实现监听的方法
CN1754368A (zh) 通信服务单元以及连接顺序执行方法
CN1633129A (zh) 一种基于软交换的媒体服务器
CN1407445A (zh) 纯软件的交互式语音应答/语音信箱设备的实现方法
CN1889604A (zh) 一种控制回铃音的方法及***
CN1761241A (zh) 利用加密在分组通信网络中处理语音数据
CN1885837A (zh) 一种切换媒体流编解码格式的方法
US20030043830A1 (en) Processing requests for service using FIFO queues
CN1845534A (zh) 实现因特网协议语音业务的***和方法
CN101031000A (zh) 窄带用户使用宽带彩铃的***及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication