一种语音通话方法及系统与流程

文档序号:18630236发布日期:2019-09-06 23:31阅读:540来源:国知局
一种语音通话方法及系统与流程

本发明涉及通信技术领域,尤其涉及一种语音通话方法及系统。



背景技术:

传统的语音电话包括互联网语音电话和运营商提供的固话语音两大类。互联网语音电话是一种基于sip协议,承载在互联网上的实现方案,主要特点是便宜,实现方便,但通话音质难以保障等。而运营商提供的固定电话功能又比较依赖于通信网络,实现门槛较高。这两种实现方案都摆脱不了对话机的依赖。人们打电话的时候还需要手持电话、拨号、通话、挂断电话等一系列繁杂的操作。因此,需要一套简洁、灵活的语音通话的方法,来增加语音电话的方便性和友好性。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种语音通话方法及系统,解决了传统固话通话方式存在的缺陷。

本发明的目的是通过以下技术方案来实现的:一种语音通话系统,通过智能家居设备实现对外语音通话,包括:

至少一个智能家居设备:作为终端完成采音、放音,协议协商和rtp流的传输;

语音插件:与所述智能家居设备控制连接,用于监听固定地址和端口,维护与所述智能家居设备之间的连接和通话状态,并连接ip:port地址与语音模块建立通信,转发/统计所述智能家居设备之间的协商消息;

语音模块:与所述智能家居设备和所述语音插件控制连接,用于与ims多媒体系统进行sip协商交互,并将交互结果转给所述语音插件;处理ims多媒体系统发来的rtp流,将其转发给在通话流程中的具体智能家居设备。

所述语音模块包括一智能网关的语音模块;所述语音插件集成到所述智能网关中,能够在不暴露电信运营商后端的媒体服务的情况下在所述智能家居设备与外部终端之间建立语音通话。

一种语音通话方法,所述方法包括以下内容:

注册请求步骤,将各智能家居设备在语音插件上进行注册;

心跳连接步骤,所述智能家居设备向所述语音插件发送心跳请求建立连接;

语音通话建立步骤,所述智能家居设备根据不同呼叫模式与外部终端建立语音通话。

所述注册请求步骤包括以下内容:

智能家居设备启动内置的语音通话模块并通过网络与智能网关中的语音插件连接;

将该智能家居设备的注册信息发送到所述语音插件中发起注册申请;

所述语音插件检查授权名单,确定是否允许使用该智能家居设备内置语音通话模块的通话功能;

确定允许后在所述智能网关端记录该智能家居设备的注册信息和通话连接,同时请求所述智能网关中的语音模块置成语音模式,并向所述智能家居设备发送注册响应。

所述注册信息包括智能家居设备的mac地址、生产厂商、产品型号和软硬件版本信息;所述确定允许后在所述智能网关端记录该智能家居设备的注册信息包括该智能家居设备的mac地址。

所述注册步骤还包括:

如果该智能家居设备为首次注册,在该智能家居设备的首次注册成功后会主动发起一次挂断请求,保证该智能家居设备在所述智能网关上的状态一定未初始状态。

所述心跳连接步骤包括以下内容:

所述智能家居设备在规定的一个心跳周期内主动向所述智能网关中的语音插件发送心跳请求,上报状态;

所述语音插件收到心跳请求后,向所述智能家居设备发送空包信号进行响应建立连接,以保证双方都知道对方的状态。

所述心跳连接步骤还包括:

所述语音插件在连续n个心跳周期内都没有接收到该智能家居设备上报心跳请求,则认为该智能家居设备失联,所述语音插件清理掉该智能家居设备的注册信息;

和/或,该智能家居设备发出心跳请求后,在一定时间内没有接收到所述语音插件发送的响应信号,则认为所述语音插件失联,该智能家居设备重新发起注册请求并重新进行心跳确认。

所述呼叫模式包括主叫模式和被叫模式;所述主叫模式的语音通话建立步骤包括以下内容:

所述智能家居设备中的语音通话模块将呼叫请求封装成主叫信令传输到所述智能网关中的语音插件;

所述语音插件检查当前线路状态是否为空闲状态;

如果是空闲状态,则转发给所述智能网关中的语音模块建立通话链路,如果是占用状态,则立即反馈给所述智能家居设备中的语音通话模块;

所述语音通话模块通过所述语音模块包装的信令建立起媒体通道后以事件回调的方式将媒体包通知所述智能家居设备进行放音;

所述智能家居设备根据接收的接听的媒体通道完成远端的放音和拾音,以及音频的重新编码和发送到远端,完成整个主叫通话的交互。

所述被叫模块式的语音通话建立步骤包括以下内容:

所述语音模块接收到被叫请求后检查当前线路是否允许通话;

如果允许通话,将被叫请求包装成呼叫请求信令发送到所述语音插件;

所述语音插件检查当前线路是否为空闲状态;

如果不是空闲状态,则直接反馈回所述语音模块,如果是空闲状态,则将信令转发给该智能家居设备中的语音通话模块;

所述语音通话模块接收到被叫请求后通知该智能家居设备发出提示。

本发明的有益效果是:一种语音通话方法及系统具有以下优点;

1、利用光猫内部本身提供的语音模块,通过在光猫中另外加一个语音插件,将传统的协议包装成专门的私有协议提供给其它网络终端来使用,同时通过token机制和ip、端口限制等措施,避免将电信运营商的核心系统暴露到公共环境中;

2、将通信协议封装起来,通过接口来提供,达到对接入终端厂商和设备可控、可管理,避免协议公开后受到非法用户的攻击;

3、光猫上的语音模块本身就是为固定电话提供通话能力的,通话质量是受运营商保证的,因此,在加入语音插件后语音通话质量区别传统的软电话质量更加可靠;

4、通过智能音箱提供的sdk与光猫中加入的语音插件对接运营商提供的语音模块,利用原有的固话端口和光猫侧的语音通过功能实现整个语音通话;而且号码资料完全利用现有的语音通话资源,因此,可直接拨打现有的固定电话、移动电话等号码,也可以直接接听这些号码的呼入,并不像其他软件电话系统需要另外建设一套号码资源。

附图说明

图1为系统的结构图;

图2为智能音箱注册的流程图;

图3为智能音箱断网重连注册的流程图;

图4心跳连接的流程图;

图5为主叫模式的流程图;

图6为被叫模式的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

在本发明的描述中,需要说明的是,术语“上”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。

本发明所述的智能家居设备包括智能音箱、智能冰箱、智能电视等所有智能家居设备,所述的智能网关包括光猫、路由器等等。

实施例1,所述智能家居设备为智能音箱,所述智能网关为光猫。

如图1所示,一种语音通话系统,通过智能音箱实现对外语音通话,包括:

至少一个智能音箱:作为终端完成采音、放音,协议协商和rtp流的传输;

语音插件:与所述智能音箱控制连接,用于监听固定地址和端口,维护与所述智能音箱之间的连接和通话状态,并连接ip:port地址与语音模块建立通信,转发/统计所述智能音箱之间的协商消息;支持多智能音箱的接入控制。

语音模块:与所述智能音箱和所述语音插件控制连接,用于与ims多媒体系统进行sip协商交互,并将交互结果转给所述语音插件;处理ims多媒体系统发来的rtp流,将其转发给在通话流程中的具体智能音箱。

所述语音模块包括一光猫的语音模块;所述语音插件集成到所述光猫中,能够在不暴露电信运营商后端的媒体服务的情况下在所述智能音箱与外部终端之间建立语音通话。

进一步地,智能音箱通过v1接口与光猫中的语音插件连接;其中,v1接口为智能音箱通过tcp长连接与光猫内部的语音插件建立的链路接口,用于主叫、被叫的消息交互以及语音插件对下挂智能音箱的状态机管理。

进一步地,语音插件通过v2接口与光猫中的语音模块连接;其中,v2接口为光猫内部的语音插件通过tcp长连接与语音模块建立的链路接口,用于主叫、被叫的消息交互。

进一步地,智能音箱通过v3接口与光猫中的语音模块连接;其中,v3接口为语音接口,智能音箱与语音模块之间直接传输rtp语音数据的接口。

一种语音通话方法,所述方法包括以下内容:

s1、注册请求步骤,将各智能音箱在语音插件上进行注册;

s2、心跳连接步骤,所述智能音箱向所述语音插件发送心跳请求建立连接;

s3、语音通话建立步骤,所述光猫根据不同呼叫模式与外部终端建立语音通话。

进一步地,所述注册请求步骤包括以下内容:

s11、智能音箱启动内置的语音通话模块并通过网络与光猫中的语音插件连接;

s12、将该智能音箱的mac地址、生产厂商、产品型号和软硬件版本信息发送到所述语音插件中发起注册申请;

s13、所述语音插件检查授权名单,确定是否允许使用该智能音箱内置语音通话模块的通话功能;

s14、确定允许后在所述光猫端记录该智能音箱的mac地址和通话连接,同时请求所述光猫中的语音模块置成语音模式,并向所述智能音箱发送注册响应。

进一步地,在智能音箱接收到注册响应后就处于等待通话状态,否则就重新试一次。

进一步地,所述注册步骤还包括:

如果该智能音箱为首次注册,在该智能音箱的首次注册成功后会主动发起一次挂断请求,保证该智能音箱在所述光猫上的状态一定未初始状态。

理论上智能音箱与光猫之间是长连接,但是智能音箱在长连接的过程中会因为许多原因而造成网络连接断开,这时智能音箱端会自动重新再次发起注册请求;在后面的注册请求中,此时智能音箱可能已经处于通话状态了,因此,光猫的语音插件并不会因为是注册就重置该智能音箱的状态为初始状态。如果将该智能音箱的状态重置为初始状态,很可能会造成光猫语音插件对智能音箱的状态记录出现混乱;为保证功能正常使用,智能音箱在开机首次注册是会主动发起一次挂断请求,保证该智能音箱在语音插件上记录的状态一定为初始状态,避免在通话过程中,由于掉电等特殊情况而造成智能音箱重启时无法打电话的情况发生。

进一步地,多个智能音箱的场景,每个智能音箱都必须以同样的方式注册到光猫上的语音插件;语音插件管理每个智能音箱的mac地址和通话连接,如果智能音箱的连接断开或与智能音箱在三个心跳周期内都没有上报状态信息;则认为该智能音箱断开连接,语音插件会清理该智能音箱的连接。如果全部智能音箱与光猫的语音插件断开连接时,光猫语音插件请求光猫语音模块还原成话机模式。

进一步地,所述心跳连接步骤包括以下内容:

s21、所述智能音箱在规定的一个心跳周期内主动向所述光猫中的语音插件发送心跳请求,上报状态;

其中,规定的一个心跳周期时间为60秒钟。

s22、所述语音插件收到心跳请求后,向所述智能音箱发送空包信号进行响应建立连接,以保证双方都知道对方的状态。

所述心跳连接步骤还包括:

s23、所述语音插件在连续n个心跳周期内都没有接收到该智能音箱上报心跳请求,则认为该智能音箱失联,所述语音插件清理掉该智能音箱的注册信息;

s24、和/或,该智能音箱发出心跳请求后,在一定时间内没有接收到所述语音插件发送的响应信号,则认为所述语音插件失联,该智能音箱重新发起注册请求并重新进行心跳确认。

进一步地,光猫语音插件如果在联系三个心跳周期内都没有收到上报,则认为智能音箱失联,会清理掉该智能音箱;

和/或,如果该智能音箱发出心跳请求后,在20ms的超时间内没有收到响应,则认为与光猫语音插件失联,会重新发起注册请求,重新进行心跳确认。

所述呼叫模式包括主叫模式和被叫模式;

主叫,是从智能音箱主动发起语音呼叫请求;主人通过语音和智能音箱进行交互,如:“xx,xx,拨打189188…”,智能音箱被唤醒词唤醒后,利用语音识别平台提供的功能识别出语音呼叫指令和电话号码。

被叫,是从手机、座机等通话设备上向智能音箱发起呼叫。

进一步地,所述主叫模式的语音通话建立步骤包括以下内容:

s311、所述智能音箱中的语音通话模块将呼叫请求封装成主叫信令传输到所述光猫中的语音插件;

s312、所述语音插件检查当前线路状态是否为空闲状态;

s313、如果是空闲状态,则转发给所述光猫中的语音模块建立通话链路,如果是占用状态,则立即反馈给所述智能音箱中的语音通话模块;

s314、所述语音通话模块通过所述语音模块包装的信令建立起媒体通道后以事件回调的方式将媒体包通知所述智能音箱进行放音;

s315、所述智能音箱根据接收的接听的媒体通道完成远端的放音和拾音,以及音频的重新编码和发送到远端,完成整个主叫通话的交互。

进一步地,步骤s314的具体内容如下:

语音模块将服务器支媒体编码格式和媒体流服务器的地址和端口包装成信令发送给语音电话插件,再转给音箱语音通话模块,音箱语音通话模块验证无误后,通过事件回调智能音箱,然后启动rtp通道接收媒体流,主叫开始的媒体流是铃音(包括彩铃),音箱语音通话模块建立起媒体通道后,以事件回调的方式将媒体包通知智能音箱进行放音。

进一步地,步骤s315的具体内容如下:

对方接听后,光猫语音模块将接听的媒体通道通过信令发给光猫语音电话插件,再发给对应音箱,音箱语音通话模块收到信令后,将新的媒体编码格式和新的媒体流服务器的地址、端口信息以事件回调的方式通知智能音箱,智能音箱收到事件要求音箱的语音通话模块进行切换接听新的媒体流,完成远端的放音,同时音箱开始拾音,将采集到的语音包通过音箱语音通话模块根据音箱采音的格式对音频重新编码,封装成要求的语音包发送到远端,远端的终端收到后进行放音,完成整个主叫通话的交互。

对方通话结束后,挂断电话,语音模块将收到的对方挂断信令发送给光猫的语音通话插件,光猫的语音通话插件取消对线路资源的占用,并将信令转发给音箱语音通话模块断开语音流,释放通话占用的资源。

所述被叫模块式的语音通话建立步骤包括以下内容:

s321、所述语音模块接收到被叫请求后检查当前线路是否允许通话;

s322、如果允许通话,将被叫请求包装成呼叫请求信令发送到所述语音插件;

s323、所述语音插件检查当前线路是否为空闲状态;

s324、如果不是空闲状态,则直接反馈回所述语音模块,如果是空闲状态,则将信令转发给该智能音箱中的语音通话模块;

s325、所述语音通话模块接收到被叫请求后通知该智能音箱发出提示。

进一步地,步骤s525的具体内容如下:

语音通话模块收到被叫请求后,事件通知音箱,音箱收到被叫事件后,中断当前正在进行的任务,以铃音或提示语音向主人提示“xxxx来电话了”,主人可以用唤醒语+“接听电话”或“挂断电话”。如果是接听电话,智能音箱调用音箱语音通话模块的应答方法,应答方法将本地的媒体流地址和端口包装成被呼叫响应信令(允许)发送给光猫的语音通话模块,光猫的语音通话模块收到,将线路置成通话状态,并将信令再发给语音模块建立通话交互。如果是拒接,音箱调用挂断方法将拒接封装成呼叫响应信令发送给光猫的语音插件,光猫的语音插件将线路置成空闲状态,语音模块收到撤销当前呼叫。

多个音箱的场景下,光猫的语音插件收到呼叫请求后,会对当前注册上的音箱都发送呼叫请求信令,这些音箱都会同时进行振铃进行提示,某个音箱接听或拒接后,光猫的语音插件会向其它音箱发出停止振铃信令,这些音箱收到停止振铃信令后,停止振铃。

如果主人不在家,语音模在会在振铃1分钟后,发出被叫超时信令,光猫的语音插件收到后,将线路重新置回空闲,音箱收到后停止振铃,并清理资源。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1