嵌入式设备中兼容多协议客户端通信交换的方法及系统的制作方法

文档序号:7776267阅读:201来源:国知局
嵌入式设备中兼容多协议客户端通信交换的方法及系统的制作方法
【专利摘要】本发明提供了一种嵌入式设备中兼容多协议客户端通信交换的方法及系统,该方法包括步骤:a:定义一个交换模块及一个客户端管理模块;b:外部客户端一发送建立呼叫请求给交换模块,交换模块对所述呼叫请求进行处理;c:管理模块通过呼叫请求来源和请求内容查找对应外部客户端二信息,并返回查询目的应答至交换模块;d:交换模块根据收到的应答消息建立外部客户端一与外部客户端二的连接。本发明不限定外部交互的模块/客户端的位置,可以是从网络请求转发至本地,也可以是本地请求转发至网络;对不同的呼叫协议能够适应,不限于一种协议的呼叫状态维护;统一管理外部交换模块,对呼叫请求能够良好控制;良好的扩展性。
【专利说明】嵌入式设备中兼容多协议客户端通信交换的方法及系统
【技术领域】
[0001]本发明涉及网络语音通信(voice over internet protocol,简称VOIP)终端领域,尤其涉及一种在VOIP嵌入式设备中兼容多协议客户端通信交换的方法及系统。
【背景技术】
[0002]随着宽带业务的普及与发展,网络带宽已经不再是网络语音通讯的技术制约。由于VOIP语音业务费用低廉,电信运营商都在力推VOIP语音业务,所以市场对VOIP产品的需求量迅速增加。
[0003]然而VOIP产品和原有PSTN网络之间的对接,需要做到不同网络之间的兼容和适应,所以VOIP产品都需要做到对不同协议的支持,由于VOIP设备主要负责呼叫的建立和控制,往往被设计成多个模块和层次,以区分不同的功能,这些功能模块之间为了完成呼叫都被独立的设计了各自的任务,但模块之间的交互,都没能统一的管理和利用,造成了大量的冗余设计和代码,同时,以往产品为了支持不同协议网络,也都需要完全独立的开发各自协议对应的版本模块,但VOIP产品作为一种嵌入式设备,存储的大小等受到成本控制很大程度的制约。
[0004]现有的消息交互,是直接两个模块/客户端之间直接完成的,这样当一个客户端/模块需要和多个其他模块/客户端交互时,需要单独实现不同的接口,这就导致过多的冗余设计和实现,而且无法较好的维护和管理,同样,当其中一个模块/客户端有变化时,也需要修正与之交互的所有其他模块/客户端以完成适配。

【发明内容】

[0005]本发明的目的在于提供一种嵌入式设备中兼容多协议客户端通信交换的方法及系统,旨在建立一种通用协议消息交互的方法,适应不同的协议和通信模块之间在对呼叫系统消息处理流程上的差异。
[0006]本发明的目的是通过以下技术方案实现的。
[0007]一种嵌入式设备中兼容多协议客户端通信交换的方法,包括步骤:
[0008]a:定义一个交换模块及一个客户端管理模块;
[0009]b:外部客户端一发送建立呼叫请求给交换模块,交换模块对所述呼叫请求进行处理;
[0010]c:管理模块通过呼叫请求来源和请求内容查找对应外部客户端二信息,并返回查询目的应答至交换模块;
[0011]d:交换模块根据收到的应答消息建立外部客户端一与外部客户端二的连接。
[0012]进一步优选的,所述交换模块内部包括交换客户端一和交换客户端二,且分别对应于外部客户端一和外部客户端二。
[0013]进一步优选的,所述步骤b具体包括:
[0014]交换模块初始化内部交换客户端一用以和外部客户端一对应,交换客户端一发送查询目的请求至管理模块。
[0015]进一步优选的,所述步骤d包括:
[0016]交换模块根据外部客户端二初始化内部交换客户端二 ;
[0017]交换模块发送转发建立连接请求至交换客户端二,交换客户端二和外部客户端二对应,直接调用到外部客户端二 ;
[0018]交换客户端二返回连接建立完成至交换模块,交换模块转发建立完成至交换客户端一,交换客户端一与交换客户端二建立连接;对应外部客户端一与外部客户端二的连接完成。
[0019]进一步优选的,步骤d之后还包括:
[0020]交换客户端一发起释放连接请求;
[0021]交换模块转发释放连接请求至交换客户端二,执行释放连接操作;
[0022]交换客户端二返回释放连接请求应答至交换模块;
[0023]交换模块转发释放连接应答至交换客户端一。
[0024]进一步优选的,步骤b还包括:
[0025]交换客户端一发起取消请求至交换模块,交换模块根据当前连接状态处理为:
[0026]如果当前连接状态为查询目的请求和查询目的完成等待转发请求,则直接将此连接状态置为空闲,并返回连接释放应答给交换客户端一。
[0027]进一步优选的,步骤b还包括:
[0028]交换客户端一发起取消请求至交换模块,交换模块根据当前连接状态处理为:
[0029]如果当前状态为请求执行中,
[0030]将此取消请求发送至交换客户端二,并将此连接状态置为取消请求中,等待交换客户端应答;
[0031]交换客户端二返回连接请求应答至交换模块,交换模块将此连接状态置为空闲,并转发此连接请求应答至交换客户端一。
[0032]进一步优选的,步骤b还包括:
[0033]交换客户端一发起取消请求至交换模块,交换模块根据当前连接状态处理为:
[0034]如果当前连接状态为其它状态下,取消连接请求,不处理。
[0035]一种嵌入式设备中兼容多协议客户端通信交换系统,包括:交换模块,管理模块,客户端模块一,客户端模块二 ;
[0036]交换模块,用于对客户端呼叫请求进行处理和状态维护;
[0037]管理模块,用于对呼叫请求目的的查询和管理;
[0038]客户端模块一及客户端模块二,用于发起呼叫请求到交换模块。
[0039]进一步优选的,所述管理模块为集成在交换模块内或者单独形式存在。
[0040]本发明与现有技术相比,有益效果在于:本发明提供的嵌入式设备中兼容多协议客户端通信交换的方法及系统,具有以下优点:1)不限定外部交互的模块/客户端的位置,可以是从网络请求转发至本地,也可以是本地请求转发至网络;2)对不同的呼叫协议能够适应,不限于一种协议的呼叫状态维护;3)统一管理外部交换模块,对呼叫请求能够良好控制;4)良好的扩展性,通过扩展管理模块的功能,就能够实现类似数图、业务的控制。【专利附图】

【附图说明】
[0041]为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0042]图1为本发明嵌入式设备中兼容多协议客户端通信交换的方法流程图;
[0043]图2为本发明嵌入式设备中兼容多协议客户端通信交换系统框图。
【具体实施方式】
[0044]本发明的核心思想是:提供一种嵌入式设备中兼容多协议客户端通信交换的方法及系统,通过统一的外部交换模块的控制,完成各个模块间不同的请求正确的传递,以忽略不同模块、协议间的差异。
[0045]具体地,本发明新定义一个协议交换模块,此模块内部分为两个对等的协议交换客户端(客户端I和客户端2),客户端I和客户端2分别对应外部的两个需要通信的模块/客户端,通过交换模块内部的两个客户端的消息交换和适配工作,来适应外部模块之间的差异,同时提供一套供外部自定义接口的规则,供外部模块统一命名和使用。
[0046]要实现此目的,需要的步骤为:
[0047]1、定义两个对等的协议交换客户端,客户端完全独立于协议,用来充当外部模块/客户端的代理。
[0048]2、定义一个客户端的管理模块,用于管理和维护各个外部客户端的信息。
[0049]3、定义内部通信时需要使用的事件和状态机。
[0050]4、定义一组与客户端无关的通讯接口。
[0051]如上所述实现的步骤I中,两个对等的交换客户端是用来对应外部请求的客户端模块实体使用的,对每一个连接,都有成对的两个对等交换客户端存在,所以并非只支持两个外部客户端,而是在交换模块的角度,每次通信都是从其中一个到对端的另一个,两个客户端定义为内部交换客户端I和交换客户端2,请求可以从交换客户端I发送至交换客户端2,也可以反向发送。
[0052]所述步骤2,管理模块可以包括在交换模块中实现,也可以单独定义扩展的管理模块,用来完成请求的目的模块的查询。
[0053]所述步骤3,通信时所需要使用的事件定义和状态机状态如下。
[0054]具体定义为:
[0055]事件1:连接建立请求,当一个呼叫发起时,需要请求建立连接,可以从本地(电话机)发起请求至网络(主叫请求),也可以是网络的呼叫请求本地应答(被叫请求);
[0056]事件2:目的查询请求,当请求不明确目的模块时,需要发起查询至管理模块,由管理模块查找正确的目的后返回给交换模块使用。
[0057]事件3:目的查询结果应答,当请求查询的结果查询完成时,由管理模块发起回应至交换模块;
[0058]事件4:转发连接建立请求,只可能是在内部的两个交换客户端中出现,当知道目的模块信息后,请求直接被转发至对端模块;[0059]事件5:连接请求的应答,当对端完成请求的操作后,返回此事件以通知请求的模块继续执行后续动作;
[0060]事件6:释放连接请求,在一个已经建立连接的两个模块中使用,发送后等待对端释放资源;
[0061]事件7:释放请求应答,当释放请求完成后,通知请求端继续。
[0062]事件8:连接取消请求,当连接正在处理时用于取消连接。
[0063]事件9:连接取消请应答,取消连接请求的应答。
[0064]交换模块对每一个连接中维持的状态机状态有:
[0065]状态1:空闲,初始状态,当没有连接请求或已释放连接后,恢复至此状态;
[0066]状态2:等待目的模块查询,当请求正在查找目的模块时,标记为此状态;
[0067]状态3:查询目的模块完成,等待转发请求;
[0068]状态4:请求执行中,当目的模块已找到后正确的转发了请求,请求正在被对端执行,维持此状态;
[0069]状态5:建立连接,当请求执行完成,目的模块回应后,保持此状态至释放;
[0070]状态6:取消请求中,当连接尚未建立,发起取消请求时但尚未收到应答,维持此状态;
[0071]状态7:释放请求中,当连接中的一端请求释放但尚未收到对端应答时,进入此状态;
[0072]所有的事件和状态都由交换模块内部来维持,对外部请求的客户端保持透明。
[0073]所述的步骤4,是指交换模块内部的交换客户端需要定义一组通用的请求接口,供外部模块使用,本发明涉及的接口包括:
[0074]接口一:连接建立请求接口,用来发起请求建立消息;
[0075]接口二:取消连接请求接口,用来取消发起的连接请求;
[0076]接口三:释放连接请求接口,用来释放一个已有的连接;
[0077]两个内部交换客户端都维持同样的接口定义,供外部模块使用。
[0078]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0079]请参阅图1所示,本发明嵌入式设备中兼容多协议客户端通信交换的方法,包括:
[0080]步骤S1:外部客户端I通过接口 一发起建立呼叫请求(事件I ),这时交换模块初始化内部交换客户端I,用来和外部客户端I对应,交换模块发送查询目的请求(事件2)至管理模块M4,并将此连接的状态从状态I (空闲)迁为状态2 (等待目的模块查询)。
[0081]步骤S2:管理模块M4通过请求来源和请求内容找到对应客户端信息,返回查询目的应答(事件3)至交换模块;
[0082]步骤S3:交换模块收到应答后,根据外部客户端2初始化内部交换客户端2,此时此连接的请求方和应答方都已经明确对应,此连接的状态从状态2 (等待目的模块查询)迁至状态3 (查询目的完成等待转发请求);
[0083]步骤S4:交换模块发送转发建立连接请求(事件4)至交换客户端2,交换客户端2和外部客户端2对应,直接调用到外部客户端,此连接状态从状态3 (查询目的完成等待转发请求)迁至状态4 (请求执行中),等待外部客户端2执行完请求;
[0084]步骤S5:交换客户端2返回连接建立完成(事件5)至交换模块,交换模块将此连接状态置为状态5 (连接建立);
[0085]步骤S6:交换模块转发建立完成至交换客户端1,交换客户端I与交换客户端2建立连接;
[0086]步骤S7:交换客户端I发起释放连接请求(事件6),交换模块将此连接状态置为状态7 (释放连接中);
[0087]步骤S8:交换模块转发释放连接请求至交换客户端2,执行释放连接操作;
[0088]步骤S9:交换客户端2返回释放连接请求应答(事件7)至交换模块,交换模块将此连接状态置为状态I (空闲);
[0089]步骤SlO:交换模块转发释放连接应答至交换客户端I。
[0090]上述步骤SI与S6之间,交换客户端I可能发起取消请求(事件8),图1中未给出,具体步骤为:
[0091]交换客户端I发起取消请求(事件8)至交换模块,交换模块根据当前连接状态处理为:
[0092]I)如果当前连接状态为状态2 (查询目的请求)和状态3 (查询目的完成等待转发请求),则直接将此连接状态置为状态I (空闲),并返回事件9 (连接释放应答)给交换客户端I ;
[0093]2)如果当前状态为状态4 (请求执行中):
[0094]2.1)将此事件8 (取消请求)发送至交换客户端2 (此时目的查询已完成),并将此连接状态置为状态6 (取消请求中),等待交换客户端应答;
[0095]2.2)交换客户端2返回事件9 (连接请求应答)至交换模块,交换模块将此连接状态置为状态I (空闲),并转发此事件9至交换客户端I ;
[0096]3)其他状态下,取消连接请求一律不处理;
[0097]至此,所有请求的流程都结束,状态机还原至初始值(空闲)。
[0098]请参考图2所示,本发明嵌入式设备中兼容多协议客户端通信交换系统,包括:交换模块M1,管理模块M4,客户端模块M2,客户端模块M3以及更多的等同外部客户模块:
[0099]交换模块Ml,用于所有呼叫请求的处理和状态的维护;
[0100]管理模块M4,用于所有呼叫请求目的的查询和管理;
[0101]客户端M2、M3以及更多,用于发起呼叫请求到交换模块Ml。
[0102]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0103]在本申请所提供的实施例中,应该理解到,所揭露的系统、方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0104]所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0105]另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0106]所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM, Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0107]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种嵌入式设备中兼容多协议客户端通信交换的方法,其特征在于,包括步骤: a:定义一个交换模块及一个客户端管理模块; b:外部客户端一发送建立呼叫请求给交换模块,交换模块对所述呼叫请求进行处理;c:管理模块通过呼叫请求来源和请求内容查找对应外部客户端二信息,并返回查询目的应答至交换模块; d:交换模块根据收到的应答消息建立外部客户端一与外部客户端二的连接。
2.如权利要求1所述的嵌入式设备中兼容多协议客户端通信交换的方法,其特征在于,所述交换模块内部包括交换客户端一和交换客户端二,且分别对应于外部客户端一和外部客户端二。
3.如权利要求2所述的嵌入式设备中兼容多协议客户端通信交换的方法,其特征在于,所述步骤b具体包括: 交换模块初始化内部交换客户端一用以和外部客户端一对应,交换客户端一发送查询目的请求至管理模块。
4.如权利要求3所述的嵌入式设备中兼容多协议客户端通信交换的方法,其特征在于,所述步骤d包括: 交换模块根据外部客户端二初始化内部交换客户端二; 交换模块发送转发建立连接请求至交换客户端二,交换客户端二和外部客户端二对应,直接调用到外部客户端二; 交换客户端二返回连接建立完成至交换模块,交换模块转发建立完成至交换客户端一,交换客户端一与交换客户端二建立连接;对应外部客户端一与外部客户端二的连接完成。
5.如权利要求1所述的嵌入式设备中兼容多协议客户端通信交换的方法,其特征在于,步骤d之后还包括: 交换客户端一发起释放连接请求; 交换模块转发释放连接请求至交换客户端二,执行释放连接操作; 交换客户端二返回释放连接请求应答至交换模块; 交换模块转发释放连接应答至交换客户端一。
6.如权利要求1所述的嵌入式设备中兼容多协议客户端通信交换的方法,其特征在于,步骤b还包括: 交换客户端一发起取消请求至交换模块,交换模块根据当前连接状态处理为: 如果当前连接状态为查询目的请求和查询目的完成等待转发请求,则直接将此连接状态置为空闲,并返回连接释放应答给交换客户端一。
7.如权利要求1所述的嵌入式设备中兼容多协议客户端通信交换的方法,其特征在于,步骤b还包括: 交换客户端一发起取消请求至交换模块,交换模块根据当前连接状态处理为: 如果当前状态为请求执行中, 将此取消请求发送至交换客户端二,并将此连接状态置为取消请求中,等待交换客户端应答; 交换客户端二返回连接请求应答至交换模块,交换模块将此连接状态置为空闲,并转发此连接请求应答至交换客户端一。
8.如权利要求1所述的嵌入式设备中兼容多协议客户端通信交换的方法,其特征在于,步骤b还包括: 交换客户端一发起取消请求至交换模块,交换模块根据当前连接状态处理为: 如果当前连接状态为其它状态下,取消连接请求,不处理。
9.一种嵌入式设备中兼容多协议客户端通信交换系统,其特征在于,包括:交换模块,管理模块,客户端模块一,客户端模块二 ; 交换模块,用于对客户端呼叫请求进行处理和状态维护; 管理模块,用于对呼叫请求目的的查询和管理; 客户端模块一及客户端模块二,用于发起呼叫请求到交换模块。
10.如权利要求9所述的嵌入式设备中兼容多协议客户端通信交换系统,其特征在于,所述管理模块为 集成在交换模块内或者单独形式存在。
【文档编号】H04L29/06GK103812858SQ201310562535
【公开日】2014年5月21日 申请日期:2013年11月13日 优先权日:2013年11月13日
【发明者】邓乐, 彭建, 沈时雨, 韦干翼 申请人:深圳市共进电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1