公开/公告号CN105227563A
专利类型发明专利
公开/公告日2016-01-06
原文格式PDF
申请/专利权人 成都中科创达软件有限公司;
申请/专利号CN201510666806.9
发明设计人 唐宾;
申请日2015-10-15
分类号H04L29/06;
代理机构北京集佳知识产权代理有限公司;
代理人王学强
地址 610041 四川省成都市高新区交子大道88号中航国际广场1幢4层401-408
入库时间 2023-12-18 13:28:42
法律状态公告日
法律状态信息
法律状态
2022-03-15
专利权的转移 IPC(主分类):H04L29/06 专利号:ZL2015106668069 登记生效日:20220302 变更事项:专利权人 变更前权利人:成都中科创达软件有限公司 变更后权利人:杭州创通智远科技有限公司 变更事项:地址 变更前权利人:610041 四川省成都市高新区交子大道88号中航国际广场1幢4层401-408 变更后权利人:311100 浙江省杭州市余杭区余杭街道文一西路1818-1号209室
专利申请权、专利权的转移
2018-07-13
授权
授权
2016-02-03
实质审查的生效 IPC(主分类):H04L29/06 申请日:20151015
实质审查的生效
2016-01-06
公开
公开
技术领域
本发明涉及移动通讯技术领域,具体涉及一种基于Andriod平台在Voip通话中 实现Volte业务呼入的方法。
背景技术
第四代无线数据网络(LongTermEvolution,LTE)是目前国际主流的新一代宽 带无线移动通信技术,其是面向分组域业务,不能像传统的2G/3G网络那样提供电 路域业务,因此如何在LTE网络提供语音业务成为业界关注的一个问题。为此,第 三代合作伙伴计划(The3rdGenerationPartnershipProject,3GPP)规范定义LTE和 移动网络演进目标是采用互联网协议IP的多媒体子系统(IPMultimediaSubsystem, IMS)向用户提供多媒体语音业务,此时IMS作为业务控制层系统,LTE和演进的 数据核心网(EvolvedPacketCore,EPC)仅作为承载层。
3GPP针对基于LTE的语音(VoiceoverLTE,VOLTE)部署的问题,标准 化了增强单一无线语音呼叫连续性(enhancedSingleRadioVoiceCallContinuty, enhancedSRVCC)、终呼接入域选择(Terminating-AccessDomainSelection,T-ADS) 等解决方案或流程。而在这些方案中还不能够使Android用户在Voip通话中得到 Volte的通话请求,以选择处理(接听或者拒接),从而使用户漏掉新呼入通话的信 息。
Android原生对volte处理对象即4G通话的Phone对象ImsPhone的管理存在一些 不足,目前,根据原生逻辑会创建多个ImsPhone对象来管理Volte,导致CallManager 的RingingCallslist中存在多个ImsPhone的Ringcall对象,在有新的Volte来电时,会同 时更新这些ImsPhone对象的Ringcall对象,导致RingingCallslist中存在超过1个的来 电Ringcall对象,根据原生逻辑,不通知APP,直接挂断来电。且在这个过程中 ImsPhone对象会被创建多次,浪费系统资源。另外,一个ImsPhone对象足够处理所 有的Volte通话,多个对象反而引起管理混乱及系统消耗,导致对VOLTE的来电处 理错误。
发明内容
有鉴于此,本申请提供一种基于Andriod平台在Voip通话中实现Volte业务呼 入的方法。该方法可以使Android用户在Voip通话中得到Volte的通话请求,用户 可以选择接听或者拒接新的来电。
为解决以上技术问题,本发明提供的技术方案是基于Andriod平台在Voip通话 中实现Volte业务呼入的方法,包括步骤:ImsPhone对象的创建,以及ImsPhone 对象的管理;
步骤ImsPhone对象的创建包括:
PhoneBase接收到IMSService启动的广播后,遍历CallManager中管理Phone 对象的列表,查找是否存在ImsPhone对象,如果存在则直接返回,不创建ImsPhone 对象;如果不存在则创建ImsPhone对象,然后调用CallManager接口,把ImsPhone 对象添加到CallManager中统一管理;
步骤ImsPhone对象的管理包括:
当Voip来电时,首先创建SipPhone对象,把SipPhone的Ringcall对象添加到 CallManager的RingingCallslist中统一管理,并更新RingingCallslist中SipPhone的 Ringcall为当前实际的来电Ringcall对象,上报到APP处理新的来电。根据原生逻 辑,在创建SipPhone对象的同时还会创建ImsPhone对象。但在本方案中,修改了 ImsPhone的创建条件,此处不会再创建新的ImsPhone对象;
APP接通Voip来电,Voip变为通话中状态,将把SipPhone对象的Ringcall对 象更新为Frogrouncall对象,当前的Ringcall对象更新为空;
Volte来电,把CallManager中的RingingCallslist中已经存在的ImsPhone的 Ringcall对象都更新为当前的来电Ringcall对象,上报到APP处理新的来电;由于 在Voip来电时,修改了ImsPhone的创建条件,此时在CallManager中的RingingCalls list中只有一个ImsPhone对象。根据原生逻辑,此时RingingCallslist中只有1个的 来电Ringcall对象,上层APP收到新来电的请求,用户选择接听或者拒接新的来电。
进一步地,所述步骤ImsPhone对象的创建还包括PhoneBase接收到IMSService 关闭的广播后,会调用CallManager接口,把当前ImsPhone移除CallManager管理, 销毁ImsPhone对象。
进一步地,所述步骤ImsPhone对象的管理还包括在手机开机后系统构建初始 的RingingCallslist,其中默认存在GSM和IMS的Ringcall对象为NULL。
进一步地,VOIP来电后上报到APP,APP接通来电,VOIP变为通话中状态, 把SipPhone对象的Ringcall对象更新为Frogrouncall对象,当前的Ringcall对象更 新为空。
与现有技术相比,本发明的有益效果如下:
本发明基于目前系统中原生的电话管理框架及逻辑,保证整个系统中只有一个 ImsPhone对象,首先避免了ImsPhone对象会被创建多次,浪费系统资源;其次一个 ImsPhone对象足够处理所有的VOLTE通话,避免了多个对象反而引起管理混乱及 系统消耗,导致对VOLTE的来电处理错误。
本发明使Android用户在VOIP通话中能够得到VOLTE的通话请求,用户可 以选择接听或者拒接。实现用户在VOIP通话中至少能知道有新的VOLTE的通话 请求,而不至于漏掉新呼入通话的信息。
附图说明
图1为本发明ImsPhone对象的创建流程图;
图2为本发明ImsPhone对象的管理流程图。
具体实施方式
为了使本领域的技术人员更好地理解本发明的技术方案,下面结合附图和具体 实施例对本发明作进一步的详细说明。
本发明的目的是Android用户在VOIP通话中能够得到VOLTE的通话请求, 用户可以选择接听或者拒接,这样用户在VOIP通话中至少能知道有新的VOLTE 的通话请求,让用户不至于漏掉新呼入通话的信息。
本发明所描述的是基于Andriod平台在Voip通话中实现Volte业务呼入的方法, 该方法包括ImsPhone对象的创建及管理,其具体步骤如下:
如图1所示,ImsPhone对象的创建具体步骤包括:
S101、PhoneBase接收到IMSService的广播,判断是否为启动的广播,如果是 则执行步骤S102;如果是关闭的广播则执行步骤S104。
S102、在CallManager中查找是否存在ImsPhone对象,如果存在则直接返回, 不创建ImsPhone对象;如果不存在则创建ImsPhone对象。
S103、调用CallManager接口,把ImsPhone对象添加到CallManager中统一管 理。
S104、调用CallManager接口,把当前ImsPhone移除CallManager管理,销毁 ImsPhone对象。
本发明所述的方法在需要创建ImsPhone对象时,会先遍历CallManage中管理 Phone对象的列表,检测当前是否已经存在了ImsPhone对象,存在则不创建,不存 在则创建,创建后加入到CallManage中管理,避免了ImsPhone对象会被创建多次, 浪费系统资源及导致管理混乱的情况。
本发明所述的方法Android原生CallManager管理来电流程及在VOIP通话中接 收到VOLTE的来电请求时,如图2所示,对ImsPhone对象的管理具体步骤包括:
S201、Android移动设备开机后系统构建初始的RingingCallslist,其中默认存在 GSM和IMS的Ringcall对象为NULL。
S202、CallManager管理模块接收到来电请求并判断请求信号,如果是VOIP来 电执行步骤S203,若果是VOLTE来电执行步骤S205。
S203、创建SipPhone对象,把SipPhone的Ringcall对象添加到CallManager的 RingingCallslist中统一管理,并更新RingingCallslist中SIP的Ringcall为当前实际 的来电Ringcall对象,根据原生逻辑,上报到APP处理新的来电。
这里由于CallManager中已经存在ImsPhone,故不创建新的ImsPhone对象,在 此,RingingCallslist中只有SipPhone一个来电。
S204、APP接通来电,VOIP变为通话中状态,把SipPhone对象的Ringcall对 象更新为Frogrouncall对象,当前的Ringcall对象更新为空。
所以当前的RingingCallslist中没有新的来电Ringcall对象。
S205、把已经存在的ImsPhone的Ringcall对象都更新为当前的来电Ringcall对 象,根据原生逻辑,上报到APP处理新的来电。
S206、上层APP收到新来电的请求,用户选择接听或者拒接新的来电。
本发明中,英文术语解释:
ANDROID:一种基于Linux的自由及开放源码的操作系统;
LTE(LongTermEvolution):长期演进;
3GPP(The3rdGenerationPartnershipProject):第三代合作伙伴计划;
UMTS(UniversalMobileTelecommunicationsSystem):通用移动通信系 统;
OFDM(OrthogonalFrequencyDivisionMultiplexing):正交频分复用;
MIMO(Multi-Input&Multi-Output):多输入多输出;
IMS(IPMultimediaSubsystem):IP多媒体子系统;
3GPP、GSMA(GlobalSystemforMobileCommunicationsAlliance):全球移动 通信系统联盟;
VOLTE(VoiceoverLTE):基于IMS的语音业务;
VOIP(VoiceoverInternetProtocol):网络电话;
ImsPhone:处理VOLTE即4G通话的Phone对象;
SipPhone:处理VOIP即网络电话的Phone对象;
CallManager:Call管理及控制类
RingingCallslist:存储所有Phone对象的来电Call对象的列表
Ringcall:处于来电状态的Call对象
Frogrouncall:处于通话中的Call对象
原生逻辑:Android系统已经实现的逻辑
以上仅是本发明的优选实施方式,应当指出的是,上述优选实施方式不应视为 对本发明的限制,本发明的保护范围应当以权利要求所限定的范围为准。对于本技 术领域的普通技术人员来说,在不脱离本发明的精神和范围内,还可以做出若干改 进和润饰,这些改进和润饰也应视为本发明的保护范围。
机译: 基于VOIP技术的一键通通话的实现方法和实现系统
机译: 在分布式控制交换系统中实现多用户号码业务的呼出建立控制方法和呼入建立控制方法
机译: 在云计算环境中实现voip通话的方法,装置和系统