首页> 中国专利> 嵌入式VoIP电话系统及实现VoIP电话语音质量管理的方法

嵌入式VoIP电话系统及实现VoIP电话语音质量管理的方法

摘要

本发明涉及一种嵌入式VoIP电话系统及实现VoIP电话语音质量管理的方法,属于嵌入式通信技术领域。采用了该发明的嵌入式VoIP电话系统,其包括语音质量管理模块,该语音质量管理模块包括高速缓存区、报文校验模块、RTP差错处理模块、RTP语音弥补模块和RTP协议报文发送模块,用以对从RTP协议处理模块获得的RTP协议报文进行纠错和弥补。从而利用本发明的方法能够在VoIP网络信号较弱的情况下,利用所述的语音质量管理模块进行补偿语音数据,让用户在通话中感觉到信息的完整性,可靠性,大幅提升用户体验,且本发明的嵌入式VoIP电话系统及实现VoIP电话语音质量管理的方法的系统结构简单,成本低廉,方法应用方式简便,应用范围较为广泛。

著录项

  • 公开/公告号CN102932568A

    专利类型发明专利

  • 公开/公告日2013-02-13

    原文格式PDF

  • 申请/专利权人 上海市共进通信技术有限公司;

    申请/专利号CN201210480398.4

  • 发明设计人 巴万琴;蒋中;曹双进;

    申请日2012-11-23

  • 分类号H04M7/00(20060101);H04M3/24(20060101);H04L12/26(20060101);

  • 代理机构31002 上海智信专利代理有限公司;

  • 代理人王洁;郑暄

  • 地址 200235 上海市徐汇区虹梅路1905号远中科研楼7楼

  • 入库时间 2024-02-19 18:13:15

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-03-12

    授权

    授权

  • 2013-03-20

    实质审查的生效 IPC(主分类):H04M7/00 申请日:20121123

    实质审查的生效

  • 2013-02-13

    公开

    公开

说明书

技术领域

本发明涉及嵌入式通信技术领域,特别涉及VoIP技术领域,具体是指一种嵌入式VoIP 电话系统及实现VoIP电话语音质量管理的方法。

背景技术

嵌入式系统日新月异的壮大,嵌入式VoIP电话系统在整个通信行业占据了不可忽视的部 分,国内VoIP技术不是很成熟,但相对竞争激烈的几家比较好的公司在VoIP技术领域内也 取得了突飞猛进的发展。为了使VoIP成为合成网络的先驱,新的服务必须保留用户双方进行 简单的POTS电话呼叫的特性。但是,业界一直为这个问题争论不休,即任何一种基于包的 技术都将在语音流中引入延时,在用户通话过程中经常可以感受到,其结果将导致用户的不 满。公用网络中的VoIP技术必须克服这个潜在的问题,并把延时降低到不可觉察的级别。另 一个因素是VoIP语音质量传输和最新的语音压缩技术的结合。如果存在潜在的延时问题,同 时又有语音压缩带来的不可避免的语音质量降低,那么结果也将是用户的感受变坏。现在可 以用客观的方式测量语音质量,其间的差异也可以用多种来自实践经验的可用数据、信息和 知识来弥补。

IP电话领域使用RTP协议进行语音数据的传输,RTP协议提供端到端的实时数据(包括 音频和视频)传送,可以用于媒体点播以及交互式通信等方面。RTP包括数据和控制两部分, 控制部分由RTCP协议完成。RTCP协议支持Internet内任何规模大小的实时会议。RTCP监 测服务质量并传送会议参加者的信息,还支持不同媒体之间的同步。需要指出的是,RTP本 身并不提供任何机制保证及时传送,也不保证任何服务质量,而是依赖于低层协议提供这些 服务。从这种意义上讲RTP似乎名不符实,但是应该知道Internet原本就是一种不提供服务 质量保证的网络,目前还没有一种端到端的协议可以确保及时传送。RTP提供了时间标签和 控制不同数据流同步特性的机制,可以让接收端重组发送端的数据分组,可以提供接收端到 多点发送组的服务质量反馈,具有较强的时间特征,从这种意义上讲它是一种实时传送协议。 RTP协议本身包括两部分:RTP协议负责数据的实时传送;RTCP协议负责控制数据传送。 为了可靠、高效地传送实时数据,RTCP协议和RTP协议一起配合使用,进行流量控制和拥 塞控制。通常RTCP分组的数量占所有传输量的5%。

发明内容

本发明的目的是克服了上述现有技术中的缺点,提供一种VoIP语音数据传输过程中安全 处理以及在网络信号较弱的情况下补偿语音数据,让用户在通话中感觉到信息的完整性,可 靠性,从而大幅提升用户体验,且结构简单,成本低廉,应用方式简便,应用范围较为广泛 的嵌入式VoIP电话系统及实现VoIP电话语音质量管理的方法。

为了实现上述的目的,本发明的嵌入式VoIP电话系统具有如下构成:

该系统包括:SOCKET API网络处理单元、呼叫业务控制模块、SIP/H248协议栈、底层 处理模块、底层摘挂机事件轮询模块、轮询底层媒体报文模块、RTP协议处理模块和语音质 量管理模块。

其中,SOCKET API网络处理单元用以连接外部网络;

呼叫业务控制模块用以处理H248协议栈启动、注册对应回调,负责终端系统的初始化、 收发媒体包任务以及事件检测任务的启动;

SIP/H248协议栈连接于所述的呼叫业务控制模块,负责H248协议包的收发及重传;

底层处理模块用以处理底层事件上报、媒体处理和声音播放;

底层摘挂机事件轮询模块连接于所述的底层处理模块和呼叫业务控制模块之间,用以在 轮询到事件,将其并放入队列中后,等待呼叫业务控制模块中的一个任务从队列中取出事件 进行上层处理;

轮询底层媒体报文模块连接于所述的底层处理模块和SOCKET API网络处理单元之间, 用以将底层媒体报文通过SOCKET API网络处理单元发送;

RTP协议处理模块连接于所述的SOCKET API网络处理单元,用以负责接收RTP协议包, 并将其通过所述的底层处理模块发送至DSP语音硬件;

语音质量管理模块连接于所述的RTP协议处理模块与所述的底层处理模块之间,用以对 从RTP协议处理模块获得的RTP协议报文进行纠错和弥补。

该嵌入式VoIP电话系统中,所述的语音质量管理模块包括:高速缓存区、报文校验模块、 RTP差错处理模块、RTP语音弥补模块和RTP协议报文发送模块。

其中,高速缓存区用以存储从所述的RTP协议处理模块获得的报文;

报文校验模块用以检测所述的高速缓存区内存储的报文是否为RTP协议报文,摒弃其中 的非RTP协议报文;

RTP差错处理模块用以检测出存在差错的RTP协议报文;

RTP语音弥补模块用以对存在差错的RTP协议报文进行修补;

RTP协议报文发送模块用以将经过修补的RTP协议报文通过所述的底层处理模块发送至 DSP语音硬件。

本发明还提供一种基于所述的系统实现嵌入式VoIP电话语音质量管理的方法,该方法包 括以下步骤:

(1)所述的高速缓存区存储从所述的RTP协议处理模块获得的报文;

(2)所述的报文校验模块检测所述的高速缓存区内存储的报文是否为RTP协议报文, 摒弃其中的非RTP协议报文;

(3)所述的RTP差错处理模块检测出存在差错的RTP协议报文;

(4)所述的RTP语音弥补模块对存在差错的RTP协议报文进行修补;

(5)所述的RTP协议报文发送模块将经过修补的RTP协议报文通过所述的底层处理模 块发送至DSP语音硬件。

该实现嵌入式VoIP电话语音质量管理的方法中,所述的步骤(2)具体包括以下步骤:

(21)所述的报文校验模块利用增量哈希方法,利用哈希表作为索引检测所述的高速缓 存区内存储的报文是否为RTP协议报文;

(22)所述的报文校验模块摒弃非RTP协议报文;

(23)所述的报文校验模块将RTP协议报文哈希表存入所述的高速缓存区。

该实现嵌入式VoIP电话语音质量管理的方法中,所述的RTP差错处理模块检测出存在 差错的RTP协议报文,具体为;

所述的RTP差错处理模块轮询所述的哈希表中的RTP协议报文,检测出存在差错的RTP 协议报文。

该实现嵌入式VoIP电话语音质量管理的方法中,所述的RTP语音弥补模块对存在差错 的RTP协议报文进行修补,具体为:

所述的RTP语音弥补模块利用平衡语音包弥补存在差错的RTP协议报文。

该实现嵌入式VoIP电话语音质量管理的方法中,所述的RTP协议报文发送模块将经过 修补的RTP协议报文通过所述的底层处理模块发送至DSP语音硬件,具体为:

所述的RTP协议报文发送模块将经过修补的RTP协议报文归并到哈希表后,通过所述的 底层处理模块发送至DSP语音硬件。

采用了该发明的嵌入式VoIP电话系统,其包括SOCKET API网络处理单元、呼叫业务 控制模块、SIP/H248协议栈、底层处理模块、底层摘挂机事件轮询模块、轮询底层媒体报文 模块、RTP协议处理模块和语音质量管理模块;所述的语音质量管理模块包括:高速缓存区、 报文校验模块、RTP差错处理模块、RTP语音弥补模块和RTP协议报文发送模块,用以对从 RTP协议处理模块获得的RTP协议报文进行纠错和弥补。从而利用本发明的系统和方法能够 在VoIP网络信号较弱的情况下补偿语音数据,让用户在通话中感觉到信息的完整性,可靠性, 大幅提升用户体验,且本发明的嵌入式VoIP电话系统及实现VoIP电话语音质量管理的方法 的系统结构简单,成本低廉,方法应用方式简便,应用范围较为广泛。

附图说明

图1为本发明的嵌入式VoIP电话系统的架构示意图。

图2实际应用中利用本发明系统实现嵌入式VoIP电话语音质量管理的方法的流程示意 图。

图3为本发明的实现嵌入式VoIP电话语音质量管理的方法所使用的增量hash算法的原 理示意图。

具体实施方式

为了能够更清楚地理解本发明的技术内容,特举以下实施例详细说明。

请参阅图1所示,为本发明的嵌入式VoIP电话系统的架构示意图。

在一种实施方式中,该嵌入式VoIP电话系统包括SOCKET API网络处理单元、呼叫业 务控制模块、SIP/H248协议栈、底层处理模块、底层摘挂机事件轮询模块、轮询底层媒体报 文模块、RTP协议处理模块和语音质量管理模块。其中,

SOCKET API网络处理单元用以连接外部网络;

呼叫业务控制模块用以处理H248协议栈启动、注册对应回调,负责终端系统的初始化、 收发媒体包任务以及事件检测任务的启动;

SIP/H248协议栈连接于所述的呼叫业务控制模块,负责H248协议包的收发及重传;

底层处理模块用以处理底层事件上报、媒体处理和声音播放;

底层摘挂机事件轮询模块连接于所述的底层处理模块和呼叫业务控制模块之间,用以在 轮询到事件,将其并放入队列中后,等待呼叫业务控制模块中的一个任务从队列中取出事件 进行上层处理;

轮询底层媒体报文模块连接于所述的底层处理模块和SOCKET API网络处理单元之间, 用以将底层媒体报文通过SOCKET API网络处理单元发送;

RTP协议处理模块连接于所述的SOCKET API网络处理单元,用以负责接收RTP协议包, 并将其通过所述的底层处理模块发送至DSP语音硬件;

语音质量管理模块连接于所述的RTP协议处理模块与所述的底层处理模块之间,用以对 从RTP协议处理模块获得的RTP协议报文进行纠错和弥补。

该语音质量管理模块包括高速缓存区、报文校验模块、RTP差错处理模块、RTP语音弥 补模块和RTP协议报文发送模块。其中,

高速缓存区用以存储从所述的RTP协议处理模块获得的报文;

报文校验模块用以检测所述的高速缓存区内存储的报文是否为RTP协议报文,摒弃其中 的非RTP协议报文;

RTP差错处理模块用以检测出存在差错的RTP协议报文;

RTP语音弥补模块用以对存在差错的RTP协议报文进行修补;

RTP协议报文发送模块用以将经过修补的RTP协议报文通过所述的底层处理模块发送至 DSP语音硬件。

本发明还提供一种基于所述的系统实现嵌入式VoIP电话语音质量管理的方法,在一种实 施方式中,如图2所示,该方法包括以下步骤:

(1)所述的高速缓存区存储从所述的RTP协议处理模块获得的报文;

(2)所述的报文校验模块检测所述的高速缓存区内存储的报文是否为RTP协议报文, 摒弃其中的非RTP协议报文;

(3)所述的RTP差错处理模块检测出存在差错的RTP协议报文;

(4)所述的RTP语音弥补模块对存在差错的RTP协议报文进行修补;

(5)所述的RTP协议报文发送模块将经过修补的RTP协议报文通过所述的底层处理模 块发送至DSP语音硬件。

在一种优选的实施方式中,所述的步骤(2)具体包括以下步骤:

(21)所述的报文校验模块利用增量哈希方法,利用哈希表作为索引检测所述的高速缓 存区内存储的报文是否为RTP协议报文;

(22)所述的报文校验模块摒弃非RTP协议报文;

(23)所述的报文校验模块将RTP协议报文哈希表存入所述的高速缓存区。

在更优选的实施方式中,步骤(3)所述的RTP差错处理模块检测出存在差错的RTP协 议报文,具体为:所述的RTP差错处理模块轮询所述的哈希表中的RTP协议报文,检测出存 在差错的RTP协议报文。

步骤(4)所述的RTP语音弥补模块对存在差错的RTP协议报文进行修补,具体为:所 述的RTP语音弥补模块利用平衡语音包弥补存在差错的RTP协议报文。

步骤(5)所述的RTP协议报文发送模块将经过修补的RTP协议报文通过所述的底层处 理模块发送至DSP语音硬件,具体为:所述的RTP协议报文发送模块将经过修补的RTP协 议报文归并到哈希表后,通过所述的底层处理模块发送至DSP语音硬件。

在实际应用中,本发明的嵌入式VoIP系统如图1所示,集成本系统的语音质量和数据安 全处理模块(FastCache),从网络侧收到的报文进行差错处理,语音丢失弥补,重新封装报 文送往DSP处理。

语音报文在FastCache模块首先进入包校验模块,进行RTP报文过滤,这个跟计算机网 络中包过滤处理差不多,主要针对RTP报文进行过滤。语音报文差错处理,主要针对经过包 校验的RTP报文再进行是异常包还是正常包进行排查,再次过滤出正确格式的RTP报文用于 传输。语音丢失弥补,涉及到的算法也是本发明的难点,在此模块做个死循环,主要不断检 测在一次通话过程中,RTP报文丢失和延时后,反映到用户那里就是语音质量相对比较差, 或者声音不清晰,这里设计的算法会自动检测网络连接情况,从RTP流量统计或者根据报文 不完整导致通话不清晰的的处理,都可以通过此算法来分析和处理。

报文重新分装到发送到DSP处理,这里都是针对前面处理okay的报文的一个转发模块。 统一发送经过FastCache模块的准确和安全的报文给底层模块处理。

语音质量差的主要原因是数据包的延迟和丢失,这类似汽车行驶慢的原因是高速公路堵 车一样。语音质量差的原因并非一个,一种方法也无法解决这一问题。其中的原因可能是ISP 限制了带宽,数据流量的速度受到了防火墙和地址转换机制的影响,或者是电话与邻居正在 下载的视频文件发生了冲突。VoIP的早期采用者可能愿意接受质量较差的VoIP通话,但主 流消费者和企业客户不愿意。服务质量非常重要,希望获得更多收入的VoIP提供商需要提供 始终如一的高质量体验。本发明的目的就是利用系统中新增的FastCache模块解决这个问题。

该应用于VoIP嵌入式技术领域中的语音质量和数据安全管理模块中,所述的FastCache 主要集成于VoIP电话系统中,本发明实施于改进方案下的VoIP系统上,可以作为一个比较 好的终端语音产品设计所采纳的一种方案。

当应用程序开始一个RTP会话时将使用两个端口:一个给RTP,一个给RTCP。RTP本 身并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠 RTCP提供这些服务。在RTP的会话之间周期性的发送些RTCP分组用来监测服务质量和交 换会话用户信息等功能。RTCP分组中含有己发送的数据分组的数量、丢失的数据分组的数 量等统计资料。因此,服务器可以利用这些信息动态地改变传输速率,甚至改变有效载荷类 型。RTP和RTCP配合使用,通常用于UDP之上,它们能以有效的反馈和最小的开销使传输 效率最佳化,因而特别适合传送网上的实时数据。根据用户间的数据传输反馈信息,可以制 定流量控制的策略,而会话用户信息的交互,可以制定会话控制的策略。那么FastCache作 为一种比较好的选择方案来实现会话控制,会话报文丢失弥补,会话更新后发往DSP正确处 理的过程。

为了实现该FastCache功能,本发明基本包含如下主要部分:

1、嵌入式VoIP系统,首先建立在VoIP系统的总体架构上,VoIP主要包括(CallClient 模块,SIP/H248stack,底层处理模块(ENDPT),RTP模块,轮询摘挂机事件模块,轮询底层 媒体包模块,FastCache模块),这些都是系统软件部分,硬件部分主要是语音相关的DSP、 SLIC再加上外围电路。

2、CallClient模块处理H248协议栈的启动及注册对应回调,负责endpoint的初始化、及 收发媒体包任务、事件检测任务的启动。

3、协议栈SIP/H248模块为H248协议栈的核心模块,负责协议包的收发及重传等。

4、底层模块是底层处理模块,处理底层事件上报、媒体处理、声音播放等。

5、RTP模块只是负责RTP包的接收,并传给DSP。

6、底层摘挂机事件轮询,轮询到事件后并放入队列中,等待CallClient模块中的一个任 务从队列中取出事件进行上层处理。

7、轮询底层媒体报文模块,并通过SOCKETAPI发送。

8、FastCache模块主要处理从SOCKETAPI发送过来的媒体报文,因为RTP都承载在UDP (不安全协议)上传输,可能会丢失报文,差错控制方面影响正常的语音通话,这里使用此 模块来处理进出RTP报文,最终确保语音数据的安全控制和语音质量方面的改善。

FastCache模块的实现采用嵌入式linux平台,主要包含三个部分,可以参考图2所示:

1、软件运行包括以下步骤:

1.1进程启动,初始化,整个系统进入空闲状态(FastCache也完成初始化),包括各个模 块的初始化;

1.2当接收到SOCKETAPI侧发过来的语音RTP报文后,此报文登陆FastCache模块,首 先会进入一个高速缓存区将收到的所有RTP报文缓存到次缓冲区。然后第一个报文校验模块 会将高速缓存中的报文按照最快的方式快速检测,确定除去非RTP报文,这里可用索引算法 实现报文检测(比如这里使用增量hash算法来实现),而使用hashtable作为索引要解决的问 题是:怎么可以是bucket动态增长。现在已经存在的解决方案是可扩展hash,但是此算法也 比较复杂,而且当不同的key有同样的hash值的时候,会出现无限扩展的问题。这里我要介 绍的增量hash算法实现比较简单且高效。可以参考图3所示。

增量hash算法的原理就是由多层bucket组成的,如图3上部分所示。一个bucket中可 以拥有n个元素,每个元素,每个元素都具有如图3第一栏中所示的固定格式。

flag字段保存的是本元素属于什么类型的元素,如图3下部分所示,有以下3种情况:

(1)当flag等于0,表示此元素为空(对于图3倒数第三栏)。

(2)当flag等于1,表示此元素是一个指向数据记录的指针(对于图3倒数第二栏)。

(3)当flag等于-1,表示此元素是一个指向下一层的指针(对于图3倒数第一栏)。

从图3可以看出,当flag等于0的时候表示此元素为空,则什么都没有保存。而当flag 为1的时候表示此元素是一个指向数据记录的指针,offset字段是数据文件的文件偏移量,而 key_length字段是key的长度,data_length是数据的长度。当flag等于-1的时候,表示此元 素是一个指向下一个bucket的指针,step字段是hash算法增量,bucket_size字段是下一个 bucket的大小,offset字段是下一个bucket的文件偏移量。

1.3当之前登陆的RTP报文经过1.2中的RTP报文快速检测后,会再次将正确的RTP返 回到hashtable高速缓存中存放,摈弃非RTP报文,在此过程的同时,与之并行的是报文差错 检测和语音弥补模块也同时将轮询RTP校验模块不断校验后的报文,紧跟着从hashtable中取 走,进入报文弥补模块,此模块将需要发往DSP的RTP报文再次检测出来,并通过流量统计 后,丢失的RTP会按照一种特殊平衡语音包来弥补发送,达到丢失的RTP会及时补充的效果。

1.4在弥补模块和校验模块共同完成语音媒体报文的差错控制后,归并到hashtable后一 一发送到DSP。

本发明的VoIP电话系统是基于嵌入式操作系统linux定制裁剪后的实现,所以最低层是 linux系统所提供的TCP/IP协议栈,主要用到的有IP、TCP、UDP等。在这些基础协议栈以 上,使用SIP协议或者H248做为信令控制协议,以及基于UDP的RTP/RTCP协议做为实时 语音传输协议,同时也实现了一些P2P的应用,在协议之上又做了一些控制硬件,在会话建 立期间,基于UDP的RTP/RTCP报文在经过本文中的FastCache模块的处理,在提高语音质 量和数据安全方面做出了优秀的管理,值得借鉴。且该应用于VoIP系统的结构简单,系统开 销相对比较小,功能强大,应用范围较为广泛。

本发明上述的设计方案可以在提高质量保证和管理上作为一个高效的手段,主要应用在 语音终端系统上,也可以放在局端设备上使用。

采用了该发明的嵌入式VoIP电话系统,其包括SOCKET API网络处理单元、呼叫业务 控制模块、SIP/H248协议栈、底层处理模块、底层摘挂机事件轮询模块、轮询底层媒体报文 模块、RTP协议处理模块和语音质量管理模块;所述的语音质量管理模块包括:高速缓存区、 报文校验模块、RTP差错处理模块、RTP语音弥补模块和RTP协议报文发送模块,用以对从 RTP协议处理模块获得的RTP协议报文进行纠错和弥补。从而利用本发明的系统和方法能够 在VoIP网络信号较弱的情况下补偿语音数据,让用户在通话中感觉到信息的完整性,可靠性, 大幅提升用户体验,且本发明的嵌入式VoIP电话系统及实现VoIP电话语音质量管理的方法 的系统结构简单,成本低廉,方法应用方式简便,应用范围较为广泛。

在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种 修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限 制性的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号