一种语音对讲方法、系统及终端与流程

文档序号:16674690发布日期:2019-01-18 23:50阅读:513来源:国知局
一种语音对讲方法、系统及终端与流程

本发明涉及通信技术领域,尤其涉及一种语音对讲方法、系统及终端。



背景技术:

poc(push-to-talkovercellular,无线一键通)对讲为手机等移动设备实现“一对一”或“一对多”通话的一种通讯方式。当用户按下手机等移动设备上的对讲键时,该用户能够与任何地方的群组或个人直接通话,且通话不受地域、距离的限制,因而,poc对讲通常应用于住宿餐饮业、交通物流业以及工程建筑业等需要时常通信的行业中。

目前现有技术中,为使手机等移动设备具有poc对讲功能,通常需要在移动设备上安装相应的软件或将相应软件固化在移动设备的芯片中,进而通过设定的特定通信通道实现poc对讲功能。如目前应用较为广泛的中国电信的“天翼对讲”、中国移动的“和对讲”以及中国联通的“沃对讲”。

然而,由于不同的运营商采用不同的通信通道,而poc对讲依赖于通信通道,因而,运营商不同的移动设备通过不同的通信通道实现poc对讲功能,即不同的运营商设定不同的特定通信通道,且不同的特定通信通道之间不互通。当同一企业的不同工作人员采用运营商不同的移动设备时,如工作人员a采用移动通信设备,工作人员b采用电信通信设备,由于不同运营商设定的特定通信通道之间不互通,则运营商不同的移动设备之间无法实现poc对讲,即工作人员a、b之间无法实现poc对讲。因此,现有的poc对讲对客户的使用场景存在很大限制。



技术实现要素:

本发明提供一种语音对讲方法、系统及终端,以解决运营商不同的移动设备之间无法实现poc对讲的问题。

第一方面,本发明提供一种语音对讲方法,包括:

freeswitch模块根据sip客户端发送的接入会议号码指令以及预先配置的拨号方案匹配路由,以使所述sip客户端接入所述会议号码,其中,所述sip客户端处于静音状态;

控制模块根据所述sip客户端的用户号码和所述用户号码在所述会议号码中的识别码建立用户号码-识别码映射集;

所述控制模块根据所述sip客户端发送的讲话请求指令以及所述用户号码-识别码映射集查询与所述用户号码相映射的识别码,其中,所述讲话请求指令包括所述用户号码和所述会议号码;

所述freeswitch模块根据所述控制模块发送的取消静音指令取消所述sip客户端的静音,以使所述sip客户端用户讲话,其中,所述取消静音指令用于根据所述会议号码以及与所述用户号码相映射的识别码取消所述用户号码的静音状态。

第二方面,本发明提供一种语音对讲系统,包括:

sip客户端,用于发送接入会议号码指令以及发送讲话请求指令;

控制模块,用于根据多个所述sip客户端的用户号码和所述用户号码在所述会议号码中的识别码建立用户号码-识别码映射集;以及,根据所述sip客户端发送的讲话请求指令以及所述用户号码-识别码映射集调用与所述用户号码相映射的识别码;

freeswitch模块,用于根据多个所述sip客户端发送的接入会议号码指令以及预先配置的拨号方案匹配路由,以及根据所述控制模块发送的取消静音指令取消所述sip客户端的静音,以使所述sip客户端讲话。

第三方面,本发明提供一种终端,包括第二方面的语音对讲系统。

本发明的实施例提供的技术方案可以包括以下有益效果:

本发明提供一种语音对讲方法、系统及终端。在本发明提供的方法中,sip客户端发送接入会议号码指令至freeswitch模块。freeswitch模块根据接入会议号码指令以及预先配置的拨号方案匹配路由,以使sip客户端接入会议号码,接入会议号码的sip客户端处于静音状态。sip客户端接入会议号码后,控制模块根据sip客户端的用户号码和该用户号码在会议号码中的识别码建立用户号码-识别码映射集。另外,sip客户端接入会议号码后,还发送讲话请求指令至控制模块。控制模块根据讲话请求指令以及用户号码-识别码映射集查询与发送讲话请求指令的sip客户端的用户号码相映射的识别码,进而生成取消静音指令,并发送至freeswitch模块。freeswitch模块根据取消静音指令取消该sip客户端的静音,该sip客户端用户实现讲话。本发明提供的方法中的服务器以能够实现全双工语音会议功能的freeswitch模块作为语音软交换的平台,通过预先配置拨号方案、sip客户端接入会议号码以及取消或恢复sip客户端静音等方式,实现半双工模式的语音对讲。本发明提供的语音对讲方法无需绑定特定的运营商,能够实现运营商不同的移动设备之间的语音对讲。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的语音对讲方法的流程示意图;

图2为本发明实施例提供的语音对讲方法的场景示意图;

图3为本发明实施例提供的多个sip客户端同时发送讲话请求指令时,判断sip客户端取得讲话权的方法流程示意图;

图4为本发明实施例提供的sip客户端恢复静音的流程示意图;

图5为本发明实施例提供的抢断当前sip客户端用户讲话权的方法流程示意图;

图6为本发明实施例提供的语音对讲系统的结构示意图。

具体实施方式

对于目前现有技术中的poc对讲,通常需要在移动设备上安装相应的软件或将相应软件固化在移动设备的芯片中,进而通过设定的特定通信通道实现poc对讲功能。由于不同的运营商采用不同的通信通道,而poc对讲依赖于通信通道,因而,运营商不同的移动设备通过不同的通信通道实现poc对讲功能,即不同的运营商设定不同的特定通信通道,且不同的特定通信通道之间不互通。因此,当同一企业的不同工作人员采用运营商不同的移动设备时,运营商不同的移动设备之间无法实现poc对讲。

基于上述问题,本申请实施例提供一种语音对讲方法、系统及终端以解决运营商不同的移动设备之间无法实现poc对讲的问题。本申请实施例提供的语音对讲方法的核心思想为:服务器以能够实现全双工语音会议功能的freeswitch模块作为语音软交换的平台,通过预先配置拨号方案、sip客户端接入会议号码以及取消或恢复sip客户端静音等方式,实现半双工模式的语音对讲。本申请实施例提供的语音对讲方法无需绑定特定的运营商,能够实现运营商不同的移动设备之间的语音对讲。

下面以具体实施例结合附图的方式具体描述本申请实施例提供的语音对讲方法、系统及终端。

请参考附图1、2,附图1示出了本申请实施例提供的语音对讲方法的流程示意图,附图1示出了本申请实施例提供的语音对讲方法的场景示意图。由附图1、2可知,本申请实施例提供的语音对讲方法具体包括:

s01:freeswitch模块根据sip客户端发送的接入会议号码指令以及预先配置的拨号方案匹配路由,以使所述sip客户端接入所述会议号码,所述sip客户端处于静音状态。

freeswitch模块为本申请实施例服务器中的一个模块,其具体为一个能够跨平台的语音软交换平台,能够实现全双工模式的语音会议功能。freeswitch模块还支持多种通讯技术标准,因此,本申请实施例提供的语音对讲方法以freeswitch模块为语音软交换平台实现语音对讲。以freeswitch模块为语音软交换平台实现语音对讲前,需要预先在freeswitch模块中配置拨号方案,以使sip(sessioninitiationprotocol,会话初始协议)客户端进行语音对讲时能够按照路由接入到指定的会议号码中。

在本申请实施例中,配置拨号方案的具体过程包括:在指定文件中创建一个分支,设定该分支的测试条件为被叫号码,同时设定该分支的应用为会议,其中,设定的被叫号码为会议号码。如在dialplan文件中创建一个分支extension,设定该分支extension的测试条件为会议号码,该会议号码可以为12345678样式的固定号码或符合正则表达式的号码;同时,设定该分支的应用为会议。由此便设置呼叫该被叫号码的所有路由,即当sip客户端用户呼叫该被叫号码时,便会自动被接入到该被叫号码的语音会议中。

由于配置拨号方案时设定该分支的应用为会议,因而当sip客户端接入到会议号码中时会出现诸如“进入会议”的提示音,会使用户认为没有进入对讲组,影响用户的体验与使用。为此,在配置拨号方案时,还需要将所有路由到会议号码的sip客户端进行去掉会议提示音的配置。

另外,sip客户端接入到会议号码后,若接入到同一会议号码的每个sip客户端均能够讲话,则无法实现语音对讲。因此,sip客户端接入到会议号码后必须将sip客户端设置为静音状态。本申请实施例提供了两种实现将sip客户端设置为静音状态的方法,具体描述如下:

第一种将sip客户端设置为静音状态的方法包括:在配置拨号方案的过程中,直接设置接入会议号码的sip客户端处于静音状态。

第二种将sip客户端设置为静音状态的方法包括:

s0111:监测模块实时监测所述freeswitch模块的事件。

在服务器中设置监测模块,以便于监测freeswitch模块中发生的事件。具体地,在本申请实施例中,当freeswitch模块中有sip客户端接入会议号码时,表示freeswitch模块中有事件发生。freeswitch模块会记录发生的事件,且记录的事件内容包括事件名称、事件类别和事件行为等。如当freeswitch模块控制sip客户端接入会议号码时,freeswitch模块记录的事件内容包括:事件名称为顾客,事件类别为会议::保持,事件行为为成员加入以及sip客户端的用户号码、sip客户端所接入的会议号码等。

s0112:若所述监测模块监测到所述事件为所述sip客户端接入所述会议号码,则向所述freeswitch模块发送静音指令,以使所述sip客户端静音;所述静音指令用于使接入所述会议号码的用户号码进入静音状态。

当监测模块监测到事件内容包括:事件名称为顾客,事件类别为会议::保持,事件行为为成员加入时,即监测到sip客户端接入会议号码时,监测模块向freeswitch模块发送静音指令。freeswitch模块接收到静音指令后,根据该sip客户端的用户号码以及sip客户端所接入的会议号码,将该sip客户端的用户号码静音,以使得刚刚接入会议号码的sip客户端进入静音状态。

服务器中的freeswitch模块配置好拨号方案后,若有用户想要进入对讲组讲话,则用户会通过sip客户端发送接入会议号码指令,该接入会议号码指令即为拨打对讲组的会议号码。freeswitch模块接收到接入会议号码指令后,结合预先配置的拨号方案匹配路由,进而使得sip客户端接入到会议号码中,即sip客户端进入对讲组。进入对讲组的sip客户端处于静音状态,即进入对讲组的sip客户端用户均无法讲话。

由于一个对讲组中会有多个用户成员,因而可能会存在多个sip客户端同时或同一时段内拨打同一个会议号码的情形。此时,freeswitch模块会结合每个sip客户端发送的接入会议号码指令以及预先配置的拨号方案分别匹配路由,以使多个sip客户端均接入会议号码,且接入会议号码的所有sip客户端均处于静音状态。

s02:控制模块根据所述sip客户端的用户号码和所述用户号码在所述会议号码中的识别码建立用户号码-识别码映射集。

sip客户端通过freeswitch模块接入会议号码后,freeswitch模块会根据该会议号码以及sip客户端的用户信息为每个sip客户端设置一个识别码,以便于调用该sip客户端的用户信息。本申请实施例中的用户信息包括sip客户端的识别码、sip客户端的用户号码、用户职位、事件紧急度以及接入的会议号码等。freeswitch模块为每个sip客户端配置的识别码保存在与该sip客户端相应的事件中,并将该事件通过es(eventsocket,事件套接字)发送至服务器中的控制模块中。

控制模块根据接收到的事件中的识别码以及sip客户端的用户号码,对每一个sip客户端建立一个用户号码-识别码映射关系,即每一个sip客户端的用户号码对应该用户号码在会议号码中的识别码。如当sip客户端第一次进入对讲组时,与该sip客户端的用户号码相映射的识别码为1。当该sip客户端退出该对讲组且又重新进入该对讲组时,与该sip客户端的用户号码相映射的识别码可能为5。

由于多个sip客户端同时或同一时段内拨打同一会议号码,因此,根据多个sip客户端的用户号码,控制模块便能够建立用户号码-识别码映射集,该映射集中包含多个用户号码-识别码映射关系。

s03:所述控制模块根据所述sip客户端发送的讲话请求指令以及所述用户号码-识别码映射集查询与所述sip客户端的用户号码相映射的识别码;所述讲话请求指令包括所述sip客户端的用户号码和所述会议号码。

sip客户端接入会议号码后,若用户想在对讲组中讲话,则需要取得讲话权。本申请实施例中通过sip客户端发送讲话请求指令的方式获取讲话权。具体地,sip客户端通过调用通信接口向控制模块发送讲话请求指令,该讲话请求指令包括sip客户端的用户号码和该sip客户端已接入的会议号码。在本申请实施例中,通信接口包括http(hypertexttransferprotocol,超文本传输协议)接口、sip接口、websocket接口、tcp(transmissioncontrolprotocol,传输控制协议)接口或udp(userdatagramprotocol,用户数据报协议)接口。控制模块接收到sip客户端发送的讲话请求指令后,根据该讲话请求指令和建立的用户号码-识别码映射集查询与该sip客户端的用户号码相映射的识别码,进而便于生成取消静音指令。

s04:所述freeswitch模块根据所述控制模块发送的取消静音指令取消所述sip客户端的静音,以使所述sip客户端用户讲话;所述取消静音指令用于根据所述会议号码以及与所述用户号码相映射的识别码取消所述用户号码的静音状态。

控制模块查询到与sip客户端的用户号码相映射的识别码后,结合该sip客户端的其他用户信息生成取消静音指令,该取消静音指令用于根据会议号码以及与用户号码相映射的识别码取消该用户号码的静音状态。控制模块通过es将生成的取消静音指令发送至freeswitch模块。freeswitch模块接收到取消静音指令后,根据取消静音指令的内容取消该sip客户端的静音状态。sip客户端取消静音状态后,该sip客户端用户便能够讲话,视为取得讲话权。

同一对讲组中包括多个用户,也就是同一个会议号码会接入多个sip客户端。当多个用户同时争取讲话权时,则会有多个sip客户端同时发送讲话请求指令。在此种情况下,需要在freeswitch模块根据控制模块发送的取消静音指令取消sip客户端的静音之前判断哪个sip客户端能够取得讲话权。

如附图3所示,多个sip客户端同时发送讲话请求指令时,判断sip客户端取得讲话权的方法具体包括:

s0411:判断发送讲话请求指令的所述sip客户端的数量是否大于1。

由于讲话请求指令中包括sip客户端的用户号码,因而控制模块能够根据sip客户端发送的讲话请求指令判断出同时有多少个sip客户端发送了讲话请求指令。在本申请实施例中,同时并不一定必须为同一时刻,也可以为极短的时间段,如0.1-1s。如sip客户端1在第10s发送讲话请求指令,sip客户端2在第10.8s发送讲话请求指令,则可认为sip客户端1和sip客户端2同时发送了讲话请求指令。当然,该极短的时间段可以根据实际情况设定。

s0412:若等于1,则所述freeswitch模块根据所述控制模块发送的取消静音指令取消所述sip客户端的静音。

若控制模块检测到发送讲话请求指令的sip客户端的数量为1时,表示当前时间段内只有一个sip客户端发送了讲话请求指令。此时,freeswitch模块按照步骤s04描述的方法取消该sip客户端的静音。

s0413:若大于1,则根据所述sip客户端的用户信息判断多个所述sip客户端的优先级别,所述用户信息包括所述sip客户端的识别码、所述sip客户端的用户号码、用户职位、事件紧急度以及接入的会议号码。

若控制模块检测到发送讲话请求指令的sip客户端的数量大于1时,表示当前时间段内有多个sip客户端发送了讲话请求指令。此时,根据sip客户端的用户信息判断多个sip客户端的优先级别。如根据用户职位和/或事件紧急度确定多个sip客户端的优先级别。具体地,事件紧急度最高的sip客户端具有最高的优先级,或用户职位最高的sip客户端具有最高的优先级。sip客户端优先级别的确定依据可以根据实际情况设定。

s0414:所述freeswitch模块根据所述控制模块发送的取消静音指令取消优先级别最高的所述sip客户端的静音。

多个sip客户端的优先级别确定后,freeswitch模块按照步骤s04描述的方法取消优先级别最高的sip客户端的静音,以使优先级别最高的sip客户端用户取得讲话权。此时,同一对讲组内的多个sip客户端用户在同一时刻只允许一个sip客户端用户讲话,而其他sip客户端用户只能听讲。即通过具有全双工模式的语音会议功能的freeswitch模块能够实现半双工模式的语音对讲功能。

若sip客户端一直处于取消静音状态,即一直处于讲话状态,则其他想要讲话、且优先级别低于或等于该sip客户端的sip客户端则无法讲话。因此,当前处于取消静音状态的sip客户端讲完后,需要释放讲话权,即重新恢复至静音状态,以便于其他想要讲话、且优先级别低于或等于该sip客户端的sip客户端取得讲话权。

请参考附图4,附图4示出了本申请实施例提供的sip客户端恢复静音的具体方法。由附图2、4可知,本申请实施例提供的sip客户端恢复静音的具体方法包括:

s05:所述控制模块根据所述sip客户端发送的释放话权请求指令以及所述用户号码-识别码映射集查询与所述sip客户端的用户号码相映射的识别码;所述释放话权请求指令包括所述sip客户端的用户号码和所述会议号码。

对于当前处于取消静音状态的sip客户端,当该sip客户端用户讲完话且要释放讲话权时,sip客户端通过调用通信接口向控制模块发送释放话权请求指令。该释放话权请求指令包括该sip客户端的用户号码和所接入的会议号码。控制模块接收到sip客户端发送的释放话权请求指令后,根据该释放话权请求指令和建立的用户号码-识别码映射集查询与该sip客户端的用户号码相映射的识别码,进而便于生成恢复静音指令。

s06:所述freeswitch模块根据所述控制模块发送的恢复静音指令恢复所述sip客户端的静音,所述恢复静音指令用于根据所述会议号码以及与所述sip客户端的用户号码相映射的识别码恢复所述用户号码的静音状态。

控制模块查询到与sip客户端的用户号码相映射的识别码后,结合该sip客户端的其他用户信息生成恢复静音指令,该恢复静音指令用于根据会议号码以及与该用户号码相映射的识别码恢复该用户号码的静音状态。控制模块通过es将生成的恢复静音指令发送至freeswitch模块。freeswitch模块接收到恢复静音指令后,根据恢复静音指令的内容恢复该sip客户端的静音状态。sip客户端恢复静音状态后,该sip客户端用户便不能讲话,视为放弃讲话权。同一对讲组内的其余sip客户端可以通过再次发送讲话请求指令的方式取得讲话权。

进一步,在freeswitch模块根据控制模块发送的取消静音指令取消sip客户端的静音状态后,且在控制模块根据sip客户端发送的释放话权请求指令以及用户号码-识别码映射集调用与sip客户端的用户号码相映射的识别码前,即在sip客户端用户讲话过程中或讲话后未释放讲话权之前,若有其他优先级别高于该sip客户端的sip客户端用户想要讲话时,则需要抢断当前sip客户端用户的讲话权。

附图5示出了本申请实施例提供的抢断当前sip客户端用户讲话权的方法流程示意图。由附图5所示,本申请实施例提供的抢断当前sip客户端用户讲话权的方法包括:

s0421:判断是否有其他sip客户端发送讲话请求指令。

在sip客户端用户讲话过程中或讲话后未释放讲话权之前,判断是否有其他sip客户端向控制模块发送讲话请求指令。该其他sip客户端是指与取消静音的sip客户端进入同一对讲组,且除该取消静音的sip客户端以外的sip客户端。

s0422:若有,则根据sip客户端的用户信息判断当前取消静音的sip客户端和所述其他sip客户端之间的优先级别,所述用户信息包括所述sip客户端的识别码、所述sip客户端的用户号码、用户职位、事件紧急度以及接入的会议号码。

若控制模块接收到其他sip客户端发送的讲话请求指令,则根据sip客户端的用户信息判断当前取消静音的sip客户端和该其他sip客户端的优先级别。如根据用户职位和/或事件紧急度确定当前取消静音的sip客户端和该其他sip客户端的优先级别。具体地,事件紧急度最高的sip客户端具有最高的优先级,或用户职位最高的sip客户端具有最高的优先级。sip客户端优先级别的确定依据可以根据实际情况设定。

s0423:所述freeswitch模块根据所述控制模块发送的取消静音指令取消优先级别最高的所述sip客户端的静音。

当前取消静音的sip客户端和其他sip客户端的优先级别确定后,freeswitch模块按照步骤s04描述的方法取消优先级别最高的sip客户端的静音,以使优先级别最高的sip客户端用户取得讲话权,实现讲话权的抢断。若当前取消静音的sip客户端的优先级高于或等于该其他sip客户端的优先级,则当前取消静音的sip客户端仍处于取消静音状态,仍保留讲话权。若当前取消静音的sip客户端的优先级低于该其他sip客户端的优先级,则该其他sip客户端取消静音,取得讲话权,该其他sip客户端实为抢话成功。而被抢断讲话权的sip客户端则被静音,无法再次讲话,只能再次发送接入会议号码指令,重新取得讲话权。

由上述实施例的描述可知,本申请实施例提供的语音对讲方法中,服务器以能够实现全双工语音会议功能的freeswitch模块作为语音软交换的平台,通过预先配置拨号方案、sip客户端接入会议号码以及取消或恢复sip客户端的静音等方式,实现半双工模式的语音对讲,且无需绑定特定的运营商,因此,本申请实施例提供的语音对讲方法能够实现运营商不同的移动设备之间的语音对讲。

基于本申请实施例提供的语音对讲方法,本申请实施例提供一种语音对讲系统。如附图6所示,本申请实施例提供的语音对讲系统具体包括:

sip客户端,用于发送接入会议号码指令以及发送讲话请求指令;

控制模块,用于根据多个sip客户端的用户号码和用户号码在会议号码中的识别码建立用户号码-识别码映射集;以及,根据sip客户端发送的讲话请求指令以及用户号码-识别码映射集调用与sip客户端的用户号码相映射的识别码;

freeswitch模块,用于根据多个sip客户端发送的接入会议号码指令以及预先配置的拨号方案匹配路由,以及根据控制模块发送的取消静音指令取消sip客户端的静音,以使sip客户端讲话。

进一步,本申请实施例提供的语音对讲系统还包括:

sip客户端,还用于发送释放话权请求指令;

控制模块,还用于根据sip客户端发送的释放话权请求指令以及用户号码-识别码映射集调用与sip客户端的用户号码相映射的识别码;

freeswitch模块,还用于根据控制模块发送的恢复静音指令恢复sip客户端的静音。

本申请实施例提供还一种终端,该终端包括上述语音对讲系统,如智能手机、ipad等。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

以上所述的本发明实施方式并不构成对本发明保护范围的限定。

本领域技术人员在考虑说明书及实践这里发明的公开后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

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