CN107566671B - 网络语音通信方法及其系统、存储介质、电子设备 - Google Patents
网络语音通信方法及其系统、存储介质、电子设备 Download PDFInfo
- Publication number
- CN107566671B CN107566671B CN201710949182.0A CN201710949182A CN107566671B CN 107566671 B CN107566671 B CN 107566671B CN 201710949182 A CN201710949182 A CN 201710949182A CN 107566671 B CN107566671 B CN 107566671B
- Authority
- CN
- China
- Prior art keywords
- remote terminal
- network
- control system
- voice data
- telephone traffic
- 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.)
- Active
Links
Images
Landscapes
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明揭示一种网络语音通信方法及其系统、存储介质、电子设备。所述网络语音通信系统包括远程终端、控制系统以及话务系统,控制系统包括信令服务器以及媒体服务器;所述网络语音通信方法包括如下步骤:远程终端发出注册请求;信令服务器将注册请求发送至话务系统;话务系统进行注册,并将内网IP地址反馈至控制系统;控制系统保存内网IP地址与外网IP地址的映射关系,并维护信令的NAT穿越;远程终端发出话务通信请求;控制装置验证远程终端是否注册,若已注册,则选择一个媒体服务器进行网络语音通信;远程终端发送语音数据,媒体服务器调整内网的媒体服务器端口信息;进行远程终端与话务系统之间的语音数据交互。
Description
技术领域
本发明涉及一种网络语音通信方法及其系统、存储介质、电子设备。
背景技术
VoIP是在因特网、企业内部互连网和局域网内基于IP的数据网上进行语音、数据、视频传送,它为消费者提供更加多样化、简单化、价格低廉的实用业务,同时提供价格低廉的服务,符合三网合一的发展方向,推动了电信业的发展和转型。
随着移动互联网的发展,出现了VoIP技术与无线网络的融合,基于3G、4G和WLAN的VoIP发展尤为迅猛;VoIP和P2P(Peer-to-Peer,端到端)的融合。P2P技术综合利用分散的网络资源,使得语音呼叫的接通率、语音质量甚至超过了传统的电话网络。同时,移动坐席办公已经成为一种趋势,因此,本发明希望提供一套移动坐席办公服务的解决方案。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种网络语音通信方法及其系统、存储介质、电子设备,实现了远程终端的网络语音通信。
根据本发明的一个方面提供一种网络语音通信方法,用于网络语音通信系统的网络语音通信,所述网络语音通信系统包括至少一个远程终端、控制系统以及话务系统,其中,所述控制系统包括一个信令服务器以及多个媒体服务器;所述网络语音通信方法包括如下步骤:S10:由所述远程终端向所述控制系统发出注册请求;S20:所述控制系统的信令服务器将所述注册请求发送至所述话务系统;S30:所述话务系统对所述远程终端进行注册,并将注册的所述话务系统对应的内网IP地址反馈至所述控制系统;S40:所述控制系统保存所述内网IP地址与所述远程终端的外网IP地址之间的映射关系,并在所述控制系统的应用层内维护所述远程终端的外网IP地址与所述话务系统内网IP地址之间信令的NAT穿越;S50:由所述远程终端向所述控制系统发出话务通信请求;S60:所述控制装置验证所述远程终端是否注册,若验证结果为已注册,则执行步骤S70;S70:所述信令服务器由所述控制系统的多个媒体服务器中选择一个媒体服务器进行网络语音通信;S80:所述远程终端向被选中的所述媒体服务器发送语音数据,所述媒体服务器根据所述远程终端最先发送的语音数据学习所述远程终端在外网的媒体服务端口,调整所述内网的媒体服务器端口信息;S90:进行所述远程终端与所述话务系统之间的语音数据交互,其中,所述语音数据均在所述控制系统的传输层进行交互。
优选地,所述步骤S90还包括如下步骤:所述远程终端向所述控制系统发送转接通信的请求;所述控制系统在接收到转接通信的请求后,将暂停当前语音数据交互的指令发送至话务系统;所述话务系统暂停当前语音数据交互,并生成一新建语音数据交互;所述话务系统将新建语音数据交互已生成的通知信息和新建语音数据交互的标识信息通过所述控制系统反馈至所述远程终端。
优选地,所述新建语音数据交互在当前语音数据交互的主叫方或被叫方与第三方之间进行;或者在当前语音数据交互的主叫方、被叫方和第三方之间进行。
优选地,所述步骤S90还包括如下步骤:判断所述远程终端的语音编码与所述话务系统内部设置的语音编码是否一致;若不一致,对所述远程终端的语音数据进行转码。
优选地,在所述步骤S40中维护所述远程终端的外网IP地址与所述话务系统内网IP地址之间信令的NAT穿越的步骤中还包括如下步骤:所述控制系统的信令服务器向所述远程终端发送信令通路信息;所述远程终端定时通过所述控制系统的信令服务器向所述话务系统发送注册请求。
优选地,所述信令服务器包括负载均衡模块,所述步骤S70中,所述信令服务器通过其负载均衡模块均匀地选择媒体服务器进行网络语音通信。
优选地,所述远程终端为移动设备。
根据本发明的另一个方面,还提供一种网络语音通信系统,所述网络语音通信系统包括至少一个远程终端、控制系统以及话务系统;其中,所述控制系统包括:至少一信令服务器和多个媒体服务器;所述信令服务器包括:注册请求转发模块,用于将所述注册请求发送至所述话务系统;映射关系储存模块,用于保存所述内网IP地址与所述远程终端的外网IP地址之间的映射关系;映射关系维护模块,用于维护所述远程终端的外网IP地址与所述话务系统内网IP地址之间信令的NAT穿越;验证模块,用于验证发出话务通信请求的所述远程终端是否注册;负载均衡模块,用于由所述控制系统的多个媒体服务器中均衡地选择一个用于语音数据交互的一个媒体服务器;所述媒体服务器包括:端口信息调整模块,用于根据所述远程终端最先发送的语音数据学习所述远程终端在外网的媒体服务端口,调整所述内网的媒体服务器端口信息;语音数据交互模块,用于进行所述远程终端与所述话务系统之间的语音数据交互。
优选地,所述媒体服务器还包括语音数据转码模块,用于对所述远程终端与所述话务系统之间的语音数据进行转码。
根据本发明的又一个方面,还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的网络语音通信方法的步骤。
根据本发明的又一个方面,还提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述的网络语音通信方法的步骤。
相比于现有技术,本发明实施例提供的网络语音通信方法以及系统、存储介质、电子设备可以支持基于sip的远程终端接入,实现相关的网络语音通信。并且该网络语音通信方法中远程终端通过控制系统与话务系统进行网络语音通信,由于控制系统包括信令服务器和媒体服务器,信令服务器维护所述远程终端的外网IP地址与所述话务系统内网IP地址之间信令的NAT穿越,并且在网络语音通信的过程中从多个媒体服务器中选择一个媒体服务器进行网络语音通信,由该媒体服务器进行远程终端与所述话务系统之间的语音数据交互,因此,在本发明的网络语音通信方法中实现了信令和媒体的完全分离,进而,至少具有如下有益效果:
1)控制系统可根据实际的情况动态地扩展媒体服务器的数量;
2)在媒体服务器进程奔溃下对于已经建立语音数据交互可以起到保护的作用;
3)语音数据交互的过程中可以仅仅在控制系统的传输层完成,语音数据无需经过应用层,保证了媒体服务器的语音数据交互的效率;
4)使用自定义sip头信息在控制系统中的传输,增加了信令交互的可扩展性。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明的一个实施例的网络语音通信方法的流程图;
图2为本发明的一个实施例的网络语音通信方法的语音数据交互的过程中转接通信的各个步骤的流程图;
图3为本发明公开示例性实施例中一种计算机可读存储介质示意图;以及
图4为本发明公开示例性实施例中一种电子设备示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本发明将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的结构,因而将省略对它们的重复描述。
所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员应意识到,没有特定细节中的一个或更多,或者采用其它的方法、组元、材料等,也可以实践本发明的技术方案。在某些情况下,不详细示出或描述公知结构、材料或者操作以避免模糊本发明。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
依据本发明的主旨构思,本发明的一种网络语音通信方法,用于网络语音通信系统的网络语音通信,所述网络语音通信系统包括至少一个远程终端、控制系统以及话务系统,其中,所述控制系统包括一个信令服务器以及多个媒体服务器;所述网络语音通信方法包括如下步骤:S10:由所述远程终端向所述控制系统发出注册请求;S20:所述控制系统的信令服务器将所述注册请求发送至所述话务系统;S30:所述话务系统对所述远程终端进行注册,并将注册的所述话务系统对应的内网IP地址反馈至所述控制系统;S40:所述控制系统保存所述内网IP地址与所述远程终端的外网IP地址之间的映射关系,并在所述控制系统的应用层内维护所述远程终端的外网IP地址与所述话务系统内网IP地址之间信令的NAT穿越;S50:由所述远程终端向所述控制系统发出话务通信请求;S60:所述控制装置验证所述远程终端是否注册,若验证结果为已注册,则执行步骤S70;S70:所述信令服务器由所述控制系统的多个媒体服务器中选择一个媒体服务器进行网络语音通信;S80:所述远程终端向被选中的所述媒体服务器发送语音数据,所述媒体服务器根据所述远程终端最先发送的语音数据学习所述远程终端在外网的媒体服务端口,调整所述内网的媒体服务器端口信息;S90:进行所述远程终端与所述话务系统之间的语音数据交互,其中,所述语音数据均在所述控制系统的传输层进行交互。
下面结合附图和实施例对本发明的技术内容进行进一步地说明。
请参见图1,其示出了本发明的一个实施例的网络语音通信方法的流程图。具体来说,本发明的网络语音通信方法主要用于网络语音通信系统的网络语音通信,其通过一个网络语音通信系统实现。所述网络语音通信系统包括至少一个远程终端、控制系统以及话务系统,其中,所述控制系统包括一个信令服务器以及多个媒体服务器。该控制系统可以具有双网卡(一个网卡与公网对接,一个网卡与公司内部局域网对接)或者四网卡(为提高语音服务质量三个网卡分别对接移动,联通以及电信公网,一个网卡与公司内部的局域网对接),公网提供给移动远程坐席接入服务,内网负责与内部的话务系统进行数据交互。
如图1所示,在本发明的实施例中,该网络语音通信方法包括如下步骤:
步骤S10:由所述远程终端向所述控制系统发出注册请求。需要说明的是,本发明主要为了实现移动设备进行远程的办公,支持坐席通过基于SIP的移动终端或者在家通过IP话机随时随地的接入到公司内部的话务系统,完成相关的电话服务。在本发明的实施例中,所述远程终端主要为移动设备。
步骤S20:控制系统的信令服务器将注册请求发送至话务系统。
步骤S30:话务系统对所述远程终端进行注册,并将注册的话务系统对应的内网IP地址反馈至所述控制系统。即在本发明中,控制系统起到了代理注册的作用,其对接内部的话务系统,通过话务系统完成注册以及后续认证等过程。
步骤S40:控制系统保存内网IP地址与远程终端的外网IP地址之间的映射关系,并在控制系统的应用层内维护所述远程终端的外网IP地址与所述话务系统内网IP地址之间信令的NAT穿越。其中,NAT是一种将私有(保留)地址转化为合法IP地址的转换技术,NAT穿越(NAT traversal)是指与处于使用了NAT设备的私有TCP/IP网络中的主机之间建立连接。
具体来说,在所述步骤S40中维护所述远程终端的外网IP地址与所述话务系统内网IP地址之间信令的NAT穿越的步骤中还包括如下步骤:
控制系统的信令服务器主动向所述远程终端发送信令通路信息(sip info消息)。该步骤可以保活远程终端在链路上关系,不至于使链路上的路由器主动关闭端口。
远程终端定时通过所述控制系统的信令服务器向所述话务系统发送注册请求。该步骤中,远程终端定时向服务端发送注册包,不仅可使远程终端通过该机制主动保活链路,而且还可以防止远程终端的注册失效而刷新注册。
通过上述两个的步骤来实现在公网的信令NAT穿透。
优选地,同时还需要将公网发送的基于tls的加密数据解密,与内部的话务系统交互通过明文完成。
进一步地,在本发明实施例中,所述控制系统至少包括应用层和传输层,在本发明实施例中,数据交互包括维持远程终端的外网IP地址与话务系统内网IP地址之间信令的NAT穿越的信令数据交互是在控制系统的应用层完成的。
步骤S50:由远程终端向控制系统发出话务通信请求。具体来说,在此步骤中,可以是由远程终端主动向控制系统发出话务通信的请求,以对外部通信设备进行话务通信;也可以是远程终端在接收到话务系统的话务通信请求后,发出的接收话务通信的请求。
步骤S60:控制装置验证远程终端是否注册,若验证结果为已注册,则执行步骤S70。在此步骤中,即为检验远程终端是否进行上述步骤S30中注册的步骤。
步骤S70:信令服务器由控制系统的多个媒体服务器中选择一个媒体服务器进行网络语音通信。具体来说,控制系统包括多个媒体服务器,具体每个网络语音通信所使用的媒体服务器是由信令服务器进行选取的。在本发明的优选实施例中,所述信令服务器包括负载均衡模块,进而,信令服务器通过其负载均衡模块均匀地选择媒体服务器进行网络语音通信。其中,均匀地选择是指根据每个媒体服务器的繁忙程度(即正在进行网络语音通信数量)对网络语音通信进行均匀地配置,以保证各个媒体服务器同时进行网络语音通信的数量处于负载均衡的模式(如果现在有两台媒体服务器,信令服务器会维持网络语音通信始终保证两台媒体服务器服务中正在进行的网络语音通信个数基本平衡和相等)。
本发明实施例中,由于控制系统的信令交互和多媒体(网络语音数据)交互分离,即分别通过信令服务器和媒体服务器分离实现,因此,该控制系统具有良好的可扩展性,例如当远程终端的规模达到一定程度的时候,控制系统只需要动态地扩展媒体服务器的数量,而后在信令服务器的负载均衡模块中加入新的媒体服务器的配置选项,即可提升整个网络语音通信系统的并发量,吞吐量。此外,对于网络语音数据之外的其他信息或数据,全部只需要经过信令服务器,不需要经过媒体服务器,以此简化了控制系统与话务系统之间的信令交互。
步骤S80:远程终端向被选中的所述媒体服务器发送语音数据,媒体服务器根据远程终端最先发送的语音数据学习所述远程终端在外网的媒体服务端口,调整所述内网的媒体服务器端口信息。具体来说,媒体服务器在网络语音通信建立的初期学习远程终端的在公网的媒体服务端口,可以实现媒体的NAT穿越。
步骤S90:进行远程终端与话务系统之间的语音数据交互,其中,语音数据均在控制系统的传输层进行交互。具体来说,所述步骤S90还包括如下步骤:
判断所述远程终端的语音编码与所述话务系统内部设置的语音编码是否一致;
若不一致,对远程终端的语音数据进行转码。
上述步骤即为当在公网侧的语音编码与内部话务系统协商语音编码不一致时,通过媒体服务器进一步完成语音数据交互过程中的转码服务。通过控制系统转码可以节省带宽资源,实时地根据公网的网络带宽、质量压缩语音包,在节省网络带宽的情况下更可靠、保质地提供服务。
进一步地,在语音数据交互的过程中,通常还会涉及到需要转接通信的情况,进而,请参见图2,其示出了本发明的一个实施例的网络语音通信方法的语音数据交互的过程中转接通信的各个步骤的流程图。具体来说,如图2所示,所述步骤S90还可以包括如下步骤:
步骤S901:远程终端向控制系统发送转接通信的请求。
步骤S902:控制系统在接收到转接通信的请求后,将暂停当前语音数据交互的指令发送至话务系统。
步骤S903:话务系统暂停当前语音数据交互,并生成一新建语音数据交互。
步骤S904:话务系统将新建语音数据交互已生成的通知信息和新建语音数据交互的标识信息通过控制系统反馈至所述远程终端。
其中,该标识信息为语音数据交互串联呼入、呼转、挂断等语音数据交互的整个流程中的唯一标识,可以包括呼叫的被叫号,在某些特殊的转接场景中,也会携带与弹屏等相关的标识信息。
进一步地,所述新建语音数据交互可以在当前语音数据交互的主叫方或被叫方与第三方之间进行。其中,当前语音数据交互的主叫方或被叫方中的一个为远程终端。具体来说,该新建语音数据可以在当前语音数据交互暂停而不挂断的情况下,由作为主叫方或被叫方的远程终端发起新建语音数据交互、向第三方进行语音数据交互,完成新建语音数据交互后返回当前语音数据交互继续进行当前语音数据交互;或者也可以将当前语音数据交互中的远程终端之外的对方(可以是主叫方或被叫方)转接至新建语音数据交互的第三方(被叫方)。此外,该新建语音数据也可以在当前语音数据交互的主叫方、被叫方和第三方之间进行,即进行三方通话,将当前语音数据交互中的主叫方和被叫方同时拉入到新建语音数据交互中(如IVR等场景),完成新建语音数据交互。
进一步地,在步骤S90中,语音数据跳过应用层、直接在传输层进行转发,以此提升语音交互质量。具体来说,语音数据(语音媒体包)通过嵌入一个内核态的程序在传输层直接转发,无需如现有技术中上传应用层、再从应用层通知内核转发语音数据(语音媒体包),以此保证媒体服务器语音交换的效率,同时即使媒体服务器进程崩溃的情况也不影响已经建立的语音数据交互。
在上述图1所示的实施例中,本发明的网络语音通信方法可以支持基于sip的远程终端接入,实现相关的网络语音通信。并且该网络语音通信方法中远程终端通过控制系统与话务系统进行网络语音通信,由于控制系统包括信令服务器和媒体服务器,信令服务器维护所述远程终端的外网IP地址与所述话务系统内网IP地址之间信令的NAT穿越,并且在网络语音通信的过程中从多个媒体服务器中选择一个媒体服务器进行网络语音通信,由该媒体服务器进行远程终端与所述话务系统之间的语音数据交互,因此,在本发明的网络语音通信方法中实现了信令和媒体的完全分离,进而,至少具有如下有益效果:
1)控制系统可根据实际的情况动态地扩展媒体服务器的数量;
2)在媒体服务器进程奔溃下对于已经建立语音数据交互可以起到保护的作用;
3)语音数据交互的过程中可以仅仅在控制系统的传输层完成,语音数据无需经过应用层,保证了媒体服务器的语音数据交互的效率;
4)使用自定义sip头信息在控制系统中的传输,增加了信令交互的可扩展性。
进一步地,本发明还提供一种网络语音通信系统,用于实现上述的网络语音通信方法。具体来说,所述网络语音通信系统包括至少一个远程终端、控制系统以及话务系统。所述控制系统包括:至少一信令服务器和多个媒体服务器。
其中,所述信令服务器负责信令交互、公网和内网的信令转换、代理注册、信令NAT穿越功能、防止注册风暴、适配话务系统的功能和服务、呼叫话务管理和路由以及管理媒体服务器。
具体来说,所述信令服务器包括:注册请求转发模块、映射关系储存模块、映射关系维护模块、验证模块、负载均衡模块。其中,注册请求转发模块用于将所述注册请求发送至所述话务系统。映射关系储存模块用于保存所述内网IP地址与所述远程终端的外网IP地址之间的映射关系。映射关系维护模块,用于维护所述远程终端的外网IP地址与所述话务系统内网IP地址之间信令的NAT穿越。验证模块用于验证发出话务通信请求的所述远程终端是否注册。负载均衡模块用于由所述控制系统的多个媒体服务器中均衡地选择一个用于语音数据交互的一个媒体服务器。
所述媒体服务器负责媒体代理转发、媒体公网和内网的转换、媒体NAT穿越以及转码,所述媒体服务器包括:端口信息调整模块和语音数据交互模块。其中,端口信息调整模块用于根据所述远程终端最先发送的语音数据学习所述远程终端在外网的媒体服务端口,调整所述内网的媒体服务器端口信息。语音数据交互模块用于进行所述远程终端与所述话务系统之间的语音数据交互。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被例如处理器执行时可以实现上述任意一个实施例中所述网络语音通信方法中控制系统和话务系统执行的各个步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述图1所示的网络语音通信方法部分中描述的根据本发明各种示例性实施方式的步骤。
参考图3所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品300,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
在本公开的示例性实施例中,还提供一种电子设备,该电子设备可以包括处理器,以及用于存储所述处理器的可执行指令的存储器。其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一个实施例中所述网络语音通信方法中控制系统和话务系统执行的各个步骤。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图4来描述根据本发明的这种实施方式的电子设备600。图4显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书上述网络语音通信方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图1中所示的由控制系统和话务系统完成的各个步骤。
所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
所述存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述网络语音通信方法。
综上所述,本发明实施例提供的网络语音通信方法以及系统、存储介质、电子设备可以支持基于sip的远程终端接入,实现相关的网络语音通信。并且该网络语音通信方法中远程终端通过控制系统与话务系统进行网络语音通信,由于控制系统包括信令服务器和媒体服务器,信令服务器维护所述远程终端的外网IP地址与所述话务系统内网IP地址之间信令的NAT穿越,并且在网络语音通信的过程中从多个媒体服务器中选择一个媒体服务器进行网络语音通信,由该媒体服务器进行远程终端与所述话务系统之间的语音数据交互,因此,在本发明的网络语音通信方法中实现了信令和媒体的完全分离,进而,至少具有如下有益效果:
1)控制系统可根据实际的情况动态地扩展媒体服务器的数量;
2)在媒体服务器进程奔溃下对于已经建立语音数据交互可以起到保护的作用;
3)语音数据交互的过程中可以仅仅在控制系统的传输层完成,语音数据无需经过应用层,保证了媒体服务器的语音数据交互的效率;
4)使用自定义sip头信息在控制系统中的传输,增加了信令交互的可扩展性。
虽然本发明已以可选实施例揭示如上,然而其并非用以限定本发明。本发明所属技术领域的技术人员,在不脱离本发明的精神和范围内,当可作各种的更动与修改。因此,本发明的保护范围当视权利要求书所界定的范围为准。
Claims (6)
1.一种网络语音通信方法,用于网络语音通信系统的网络语音通信,其特征在于,所述网络语音通信系统包括至少一个远程终端、控制系统以及话务系统,其中,所述控制系统包括一个信令服务器以及多个媒体服务器;所述网络语音通信方法包括如下步骤:
S10:由所述远程终端向所述控制系统发出注册请求;
S20:所述控制系统的信令服务器将所述注册请求发送至所述话务系统;
S30:所述话务系统对所述远程终端进行注册,并将注册的所述话务系统对应的内网IP地址反馈至所述控制系统;
S40:所述控制系统保存所述内网IP地址与所述远程终端的外网IP地址之间的映射关系,并在所述控制系统的应用层内维护所述远程终端的外网IP地址与所述话务系统内网IP地址之间信令的NAT穿越;
S50:由所述远程终端向所述控制系统发出话务通信请求;
S60:所述控制系统验证所述远程终端是否注册,若验证结果为已注册,则执行步骤S70;
S70:所述信令服务器由所述控制系统的多个媒体服务器中选择一个媒体服务器进行网络语音通信;
S80:所述远程终端向被选中的所述媒体服务器发送语音数据,所述媒体服务器根据所述远程终端最先发送的语音数据学习所述远程终端在外网的媒体服务端口,调整所述内网的媒体服务器端口信息;
S90:进行所述远程终端与所述话务系统之间的语音数据交互,其中,所述语音数据通过嵌入一个内核态的程序直接在所述控制系统的传输层进行交互;
所述步骤S90还包括如下步骤:
判断所述远程终端的语音编码与所述话务系统内部设置的语音编码是否一致;
若不一致,对所述远程终端的语音数据进行转码;
所述步骤S90还包括如下步骤:
所述远程终端向所述控制系统发送转接通信的请求;
所述控制系统在接收到转接通信的请求后,将暂停当前语音数据交互的指令发送至话务系统;
所述话务系统暂停当前语音数据交互,并生成一新建语音数据交互;
所述话务系统将新建语音数据交互已生成的通知信息和新建语音数据交互的标识信息通过所述控制系统反馈至所述远程终端;
所述新建语音数据交互在当前语音数据交互的主叫方或被叫方与第三方之间进行;或者在当前语音数据交互的主叫方、被叫方和第三方之间进行;
在所述步骤S40中维护所述远程终端的外网IP地址与所述话务系统内网IP地址之间信令的NAT穿越的步骤中还包括如下步骤:
所述控制系统的信令服务器向所述远程终端发送信令通路信息;
所述远程终端定时通过所述控制系统的信令服务器向所述话务系统发送注册请求。
2.如权利要求1所述的网络语音通信方法,其特征在于,所述信令服务器包括负载均衡模块,所述步骤S70中,所述信令服务器通过其负载均衡模块均匀地选择媒体服务器进行网络语音通信。
3.如权利要求1所述的网络语音通信方法,其特征在于,所述远程终端为移动设备。
4.一种网络语音通信系统,其特征在于,用于实现如权利要求1所述的网络语音通信方法,所述网络语音通信系统包括至少一个远程终端、控制系统以及话务系统;其中,所述控制系统包括:至少一信令服务器和多个媒体服务器;
所述信令服务器包括:
注册请求转发模块,用于将所述注册请求发送至所述话务系统;
映射关系储存模块,用于保存所述内网IP地址与所述远程终端的外网IP地址之间的映射关系;
映射关系维护模块,用于维护所述远程终端的外网IP地址与所述话务系统内网IP地址之间信令的NAT穿越;
验证模块,用于验证发出话务通信请求的所述远程终端是否注册;
负载均衡模块,用于由所述控制系统的多个媒体服务器中均衡地选择一个用于语音数据交互的一个媒体服务器;
所述媒体服务器包括:
端口信息调整模块,用于根据所述远程终端最先发送的语音数据学习所述远程终端在外网的媒体服务端口,调整所述内网的媒体服务器端口信息;
语音数据交互模块,用于进行所述远程终端与所述话务系统之间的语音数据交互;以及
语音数据转码模块,用于对所述远程终端与所述话务系统之间的语音数据进行转码。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至3中任一项所述的网络语音通信方法的步骤。
6.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至3中任一项所述的网络语音通信方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710949182.0A CN107566671B (zh) | 2017-10-12 | 2017-10-12 | 网络语音通信方法及其系统、存储介质、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710949182.0A CN107566671B (zh) | 2017-10-12 | 2017-10-12 | 网络语音通信方法及其系统、存储介质、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107566671A CN107566671A (zh) | 2018-01-09 |
CN107566671B true CN107566671B (zh) | 2020-09-25 |
Family
ID=60984048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710949182.0A Active CN107566671B (zh) | 2017-10-12 | 2017-10-12 | 网络语音通信方法及其系统、存储介质、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107566671B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108234511B (zh) * | 2018-01-18 | 2021-07-13 | 携程旅游信息技术(上海)有限公司 | 多媒体数据传输的方法、系统、设备、存储介质及网关 |
CN108632290B (zh) * | 2018-05-15 | 2021-05-07 | 国电南瑞科技股份有限公司 | 一种电力调度自动化系统实时数据转发系统及方法 |
CN111092952B (zh) * | 2019-12-23 | 2022-10-21 | 深圳市元征科技股份有限公司 | 一种数据交互方法及相关产品 |
CN112788053A (zh) * | 2021-01-25 | 2021-05-11 | 深圳市欢太科技有限公司 | 一种实时通信方法、装置、服务器、系统及存储介质 |
CN114500167B (zh) * | 2021-12-24 | 2023-11-24 | 海能达通信股份有限公司 | 信息处理方法、装置及电子设备和存储介质 |
CN114710471B (zh) * | 2022-03-21 | 2024-07-16 | 京东科技信息技术有限公司 | 基于网络的客服语音通信方法、装置、电子设备及介质 |
CN114938414A (zh) * | 2022-05-13 | 2022-08-23 | 上海华客信息科技有限公司 | 隔离软交换端的话务代理方法、系统、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104768026A (zh) * | 2015-04-17 | 2015-07-08 | 中国工商银行股份有限公司 | 一种多信道音视频转码装置 |
CN105027537A (zh) * | 2013-02-21 | 2015-11-04 | 瑞典爱立信有限公司 | 限制将呼叫作为文本电话呼叫的处理 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5793763A (en) * | 1995-11-03 | 1998-08-11 | Cisco Technology, Inc. | Security system for network address translation systems |
CN100550882C (zh) * | 2004-03-02 | 2009-10-14 | 华为技术有限公司 | 一种穿越子网的方法及子网穿越系统 |
CN100384168C (zh) * | 2005-12-30 | 2008-04-23 | 四川长虹电器股份有限公司 | H.323系统的多媒体会话穿越nat设备的方法 |
CN102368761B (zh) * | 2011-03-15 | 2014-08-27 | 陈建国 | Td-scdma/ip双网协作多媒体电话、系统和通信方法 |
CN104349499B (zh) * | 2013-07-25 | 2018-05-11 | 上海携程商务有限公司 | 会话接入、移动终端与呼叫中心通讯的接入系统及方法 |
CN106170008A (zh) * | 2016-05-17 | 2016-11-30 | 北京畅游天下网络技术有限公司 | 一种跨网通讯方法、装置及负载均衡器 |
-
2017
- 2017-10-12 CN CN201710949182.0A patent/CN107566671B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105027537A (zh) * | 2013-02-21 | 2015-11-04 | 瑞典爱立信有限公司 | 限制将呼叫作为文本电话呼叫的处理 |
CN104768026A (zh) * | 2015-04-17 | 2015-07-08 | 中国工商银行股份有限公司 | 一种多信道音视频转码装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107566671A (zh) | 2018-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107566671B (zh) | 网络语音通信方法及其系统、存储介质、电子设备 | |
CN109274634B (zh) | 多媒体通信方法及装置、存储介质 | |
US10250646B2 (en) | Method and device for establishing channel | |
CN111479121B (zh) | 一种基于流媒体服务器的直播方法及系统 | |
WO2016070812A1 (en) | Adaptive allocation of server resources | |
EP3598718A1 (en) | System and method for flexible routing | |
US11412013B2 (en) | System and method for implementing video soft phone applications | |
US11799752B1 (en) | System and methods for operating and testing real-time communications between web browsers and contact centers | |
US9992343B2 (en) | Text translation of an audio recording during recording capture | |
US11743383B2 (en) | System and methods for monitoring and testing real-time communications between web browsers and contact centers | |
US11677792B2 (en) | IP tolerance and signaling interworking | |
EP3417367B1 (en) | Implementing a storage system using a personal user device and a data distribution device | |
KR20160026631A (ko) | 미디어 통신용 하이브리드 클라우드 미디어 아키텍쳐 | |
CN116055473A (zh) | 一种基于web的分布式部署云渲染方法和系统 | |
US10165124B2 (en) | Transfer of voice transmissions to alternate networks | |
JP5303403B2 (ja) | 端末装置、通信方法、及びプログラム | |
US10469538B2 (en) | Call preservation for multiple legs of a call when a primary session manager fails | |
CN106921624B (zh) | 会话边界控制器及数据传输方法 | |
CN102255980B (zh) | 管理会话初始协议呼叫信息的方法和装置 | |
US11483394B2 (en) | Delayed proxy-less network address translation decision based on application payload | |
US11637929B2 (en) | Efficient media establishment for WebRTC call center agents | |
US9019339B2 (en) | Multiparty service establishment based on priority rules for routing | |
CN109040007B (zh) | 用于应对替代网络地址类型(anat)不兼容性的方法和系统 | |
CN108809911A (zh) | VoLTE网络中实现二次拨号的方法、装置及存储介质 | |
JP2006025002A (ja) | Fw制御を行うsip通信制御装置およびそのfw制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200108 Address after: 200335 Building 8, No. 33, Guangshun Road, Changning District, Shanghai Applicant after: Shanghai Huake Information Technology Co., Ltd Address before: 201203 Room 518, No. 302 blue wave road, Pudong New Area Free Trade Zone, Shanghai Applicant before: Ctrip Tourism Information Technology (Shanghai) Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |