著录项信息
专利名称 | 一种基于WindowsMobile操作系统拨打电话的方法及设备 |
申请号 | CN200810113162.0 | 申请日期 | 2008-05-28 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2008-10-08 | 公开/公告号 | CN101282547 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04W88/02 | IPC分类号 | H;0;4;W;8;8;/;0;2查看分类表>
|
申请人 | 德信无线通讯科技(北京)有限公司 | 申请人地址 | 北京市朝阳区酒仙桥北路甲10号电子城工厂产业园D区D2楼
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 德信无线通讯科技(北京)有限公司 | 当前权利人 | 德信无线通讯科技(北京)有限公司 |
发明人 | 孙仁红 |
代理机构 | 北京德琦知识产权代理有限公司 | 代理人 | 王琦;王诚华 |
摘要
本发明公开了一种基于WindowsMobile操作系统拨打电话的方法,包括:无线路由模块接收拨打电话请求,根据接收的拨打电话对应的无线接口驱动模块信息、以及预先存储的无线通信模块当前状态信息确定当前存在的一路通话与拨打电话属于不同的无线通信模块,通知一路通话对应的无线接口驱动模块向对应的无线通信模块发送保持通话信息,并向拨打电话对应的无线接口驱动模块发送拨打电话请求信息;拨打电话对应的无线接口驱动模块接收拨打电话请求信息以及一路通话对应的无线通信模块发送的保持成功事件信息,通知拨打电话对应的无线通信模块建立通话。能够使双卡双待移动电话基于WindowsMobile操作系统拨打电话、且拨打的电话与存在的一路通话可以属于不同无线通信模块。
1.一种基于Windows Mobile操作系统拨打电话的方法,其特征在于,应用于双卡双待移动电话,包括:
预先在扩展电话应用模块存储移动电话双卡对应的无线接口驱动模块信息;
所述扩展电话应用模块接收用户的拨打电话请求,将查询获取的拨打电话对应的无线接口驱动模块信息发送至无线路由模块,并通知微软电话应用模块向所述无线路由模块发起拨打电话请求;
所述无线路由模块接收微软电话应用模块发送的拨打电话请求,根据所述扩展电话应用模块发送的所述拨打电话对应的无线接口驱动模块信息、以及预先存储的无线通信模块当前状态信息,进行判断;
如果确定当前存在一路通话、且所述一路通话与所述拨打电话属于不同的无线通信模块,通知所述一路通话对应的无线接口驱动模块向对应的无线通信模块发送保持通话信息,并向所述拨打电话对应的无线接口驱动模块发送拨打电话请求信息;
所述一路通话对应的无线通信模块接收保持通话信息,通过所述一路通话对应的无线接口驱动模块向所述拨打电话对应的无线接口驱动模块发送保持成功事件信息;
所述拨打电话对应的无线接口驱动模块接收拨打电话请求信息以及保持成功事件信息,通知所述拨打电话对应的无线通信模块建立通话。
2.如权利要求1所述的方法,其特征在于,所述如果确定当前存在一路通话、且所述一路通话与所述拨打电话属于不同的无线通信模块包括:
所述无线路由模块从预先存储的无线通信模块当前状态信息获取移动电话当前存在一路通话;
根据所述一路通话对应的无线通信模块信息与接收的所述拨打电话对应的无线接口驱动模块信息确定所述一路通话与所述拨打电话属于不同的无线通信模块。
3.如权利要求2述的方法,其特征在于,进一步包括:
如果确定所述一路通话与所述拨打电话属于同一无线通信模块,所述无线路由模块通知所述一路通话对应的无线接口驱动模块向对应的无线通信模块发送拨打电话信息;
所述对应的无线通信模块接收拨打电话信息,建立通话。
4.如权利要求1的方法,其特征在于,向所述拨打电话对应的无线接口驱动模块发送保持成功事件信息进一步包括:
如果所述一路通话对应的无线通信模块设置保持通话失败,通过所述一路通话对应的无线接口驱动模块向拨打电话对应的无线通信模块发送保持失败事件信息;
所述拨打电话对应的无线接口驱动模块接收拨打电话请求信息以及保持失败事件信息,中断所述拨打电话。
5.如权利要求1至4任一项所述的方法,其特征在于,所述进行判断进一步包括:
所述无线路由模块从预先存储的无线通信模块当前状态信息获取移动电话当前不存在通话,通知所述拨打电话对应的无线接口驱动模块向对应的无线通信模块发送拨打电话信息;
所述对应的无线通信模块接收拨打电话信息,建立通话。
6.如权利要求1至4任一项所述的方法,其特征在于,所述进行判断进一步包括:
所述无线路由模块从预先存储的无线通信模块当前状态信息获取移动电话当前存在两路通话,中断所述拨打电话。
7.一种基于Windows Mobile操作系统拨打电话的设备,其特征在于,应用于双卡双待移动电话,包括:扩展电话应用模块、无线路由模块、微软电话应用模块、无线接口驱动模块、无线通信模块,其中,
扩展电话应用模块,用于预先存储移动电话双卡对应的无线接口驱动模块信息,接收用户拨打电话请求信息,从预先存储的移动电话双卡对应的无线接口驱动模块信息中查询获取拨打电话对应的无线接口驱动模块信息,向无线路由模块发送,并向微软电话应用模块发送拨打新电话信息;
微软电话应用模块,用于接收拨打新电话信息,向无线路由模块发送拨打电话请求信息;
无线路由模块,用于接收拨打电话请求信息,根据接收的所述拨打电话对应的无线接口驱动模块信息、以及预先存储的无线通信模块当前状态信息,进行判断;
如果确定当前存在一路通话、且所述一路通话与所述拨打电话属于不同的无线通信模块,通知所述一路通话对应的无线接口驱动模块向对应的无线通信模块发送保持通话信息,并向所述拨打电话对应的无线接口驱动模块发送拨打电话请求信息;
所述一路通话对应的无线通信模块接收保持通话信息,通过所述一路通话对应的无线接口驱动模块向所述拨打电话对应的无线接口驱动模块发送保持成功事件信息;
所述拨打电话对应的无线接口驱动模块接收拨打电话请求信息以及保持成功事件信息,通知所述拨打电话对应的无线通信模块建立通话。
8.如权利要求7所述的设备,其特征在于,
所述无线接口驱动模块包括:第一无线接口驱动模块、第二无线接口驱动模块;
所述无线通信模块包括:第一无线通信模块、第二无线通信模块;
所述拨打电话对应第一无线接口驱动模块;
所述无线路由模块,确定当前存在一路通话、且所述一路通话与所述拨打电话属于不同的无线通信模块,向所述第二无线接口驱动模块发送输入输出控制无线接口层管理信息,并向所述第一无线接口驱动模块发送拨打电话请求信息;
所述第一无线接口驱动模块,用于接收拨打电话请求信息,调用拨打电话的函数,如果接收到所述第二无线接口驱动模块发送的保持成功事件信息,向所述第一无线通信模块发送拨打电话信息;
所述第二无线接口驱动模块,用于接收输入输出控制无线接口层管理信息,向所述第二无线通信模块发送保持通话信息,接收所述第二无线通信模块返回的保持成功事件信息,转发至所述第一无线接口驱动模块;
所述第一无线通信模块,用于接收拨打电话信息,建立通话;
所述第二无线通信模块,用于接收保持通话信息,向所述第二无线接口驱动模块发送保持成功事件信息。
9.如权利要求8所述的设备,其特征在于,所述无线路由模块进一步用于:
确定当前存在一路通话、且所述一路通话与所述拨打电话属于同一无线通信模块,向第一无线接口驱动模块发送输入输出控制无线接口层管理信息;
所述第一无线接口驱动模块,接收输入输出控制无线接口层管理信息,向所述第一无线通信模块发送拨打电话信息;
所述第一无线通信模块,接收拨打电话信息,建立通话;或,
确定移动电话当前处于空闲状态,向所述第一无线接口驱动模块发送输入输出控制无线接口层管理拨号信息;
所述第一无线接口驱动模块,接收输入输出控制无线接口层管理拨号信息,向所述第一无线通信模块发送拨打电话信息;
所述第一无线通信模块,接收拨打电话信息,建立通话;或,
确定当前存在两路通话,中断所述拨打电话。
一种基于Windows Mobile操作系统拨打电话的方法及设\n备 \n技术领域\n[0001] 本发明涉及双卡双待手机通信技术,尤其涉及一种基于Windows Mobile操作系统拨打电话的方法及设备。 \n背景技术\n[0002] 现有技术中,大量的移动电话基于Windows Mobile操作系统平台实现通信,Windows Mobile操作系统平台的设计针对单卡系统,即上层应用模块的Windows Mobile操作系统平台仅能针对一个协议栈,如全球移动通信系统(GSM,Global System for Mobile communications)协议栈或码分多址(CDMA,Code Division Multiple Access)协议栈来进行数据交互、通讯等工作,在每个电话上配置一个射频模块,即无线通信模块、一个无线接口驱动模块、一个扩展电话应用模块、以及一个微软电话应用模块,一个射频模块可以同时存在两路通话,即一路通话为激活状态,另外一路通话为保持状态,由Windows Mobile操作系统平台的上层微软电话应用模块进行拨打及接续电话的操作。 \n[0003] 为适应工作和生活的需要,用户对双网双待移动电话的需求越来越强烈,要求现有的移动电话需要具备双卡双待的功能,也就是说,在一个移动电话上可以同时配置两张用户识别模块(SIM,Subscriber identificationModule)卡,即在一个移动电话上配置有两个射频模块、两个射频模块分别对应的无线接口驱动模块,每个射频模块都可以同时存在两路通话,因而,双卡双待移动电话的两个模块可以同时存在四路通话,即两路通话处于激活状态,另两路通话处于保持状态。 \n[0004] 由于Windows Mobile操作系统平台及其软件架构最多只能支持一个无线通信模块同时存在的两路通话。因此,当双卡双待移动电话在存在一路通话的条件下拨打电话时,如果该拨打的电话与已存在的一路通话不属于同一个无线通信模块,则现有的Windows Mobile操作系统平台还无法处理。\n发明内容\n[0005] 有鉴于此,本发明提供了一种基于Windows Mobile操作系统拨打电话的方法,能够使双卡双待移动电话基于Windows Mobile操作系统拨打电话、且拨打的电话与存在的一路通话可以属于不同无线通信模块。 \n[0006] 本发明还提供了一种基于Windows Mobile操作系统实现电话的设备,能够使双卡双待移动电话基于Windows Mobile操作系统拨打电话、且拨打的电话与存在的一路通话可以属于不同无线通信模块。 \n[0007] 本发明提供的一种基于Windows Mobile操作系统拨打电话的方法,应用于双卡双待移动电话,包括: \n[0008] 预先在扩展电话应用模块存储移动电话双卡对应的无线接口驱动模块信息; [0009] 所述扩展电话应用模块接收用户的拨打电话请求,将查询获取的拨打电话对应的无线接口驱动模块信息发送至无线路由模块,并通知微软电话应用模块向所述无线路由模块发起拨打电话请求; \n[0010] 所述无线路由模块接收微软电话应用模块发送的拨打电话请求,根据所述扩展电话应用模块发送的所述拨打电话对应的无线接口驱动模块信息、以及预先存储的无线通信模块当前状态信息,进行判断; \n[0011] 如果确定当前存在一路通话、且所述一路通话与所述拨打电话属于不同的无线通信模块,通知所述一路通话对应的无线接口驱动模块向对应的无线通信模块发送保持通话信息,并向所述拨打电话对应的无线接口驱动模块发送拨打电话请求信息; [0012] 所述一路通话对应的无线通信模块接收保持通话信息,通过所述一路通话对应的无线接口驱动模块向所述拨打电话对应的无线接口驱动模块发送保持成 功事件信息; [0013] 所述拨打电话对应的无线接口驱动模块接收拨打电话请求信息以及保持成功事件信息,通知所述拨打电话对应的无线通信模块建立通话。 \n[0014] 所述如果确定当前存在一路通话、且所述一路通话与所述拨打电话属于不同的无线通信模块包括: \n[0015] 所述无线路由模块从预先存储的无线通信模块当前状态信息获取移动电话当前存在一路通话; \n[0016] 根据所述一路通话对应的无线通信模块信息与接收的所述拨打电话对应的无线接口驱动模块信息确定所述一路通话与所述拨打电话属于不同的无线通信模块。 [0017] 进一步包括: \n[0018] 如果确定所述一路通话与所述拨打电话属于同一无线通信模块,所述无线路由模块通知所述一路通话对应的无线接口驱动模块向对应的无线通信模块发送拨打电话信息; \n[0019] 所述对应的无线通信模块接收拨打电话信息,建立通话。 \n[0020] 向所述拨打电话对应的无线接口驱动模块发送保持成功事件信息进一步包括: [0021] 如果所述一路通话对应的无线通信模块设置保持通话失败,通过所述一路通话对应的无线接口驱动模块向拨打电话对应的无线通信模块发送保持失败事件信息; [0022] 所述拨打电话对应的无线接口驱动模块接收拨打电话请求信息以及保持失败事件信息,中断所述拨打电话。 \n[0023] 所述进行判断进一步包括: \n[0024] 所述无线路由模块从预先存储的无线通信模块当前状态信息获取移动电话当前不存在通话,通知所述拨打电话对应的无线接口驱动模块向对应的无线通信模块发送拨打电话信息; \n[0025] 所述对应的无线通信模块接收拨打电话信息,建立通话。 \n[0026] 所述进行判断进一步包括: \n[0027] 所述无线路由模块从预先存储的无线通信模块当前状态信息获取移动电话当前存在两路通话,中断所述拨打电话。 \n[0028] 一种基于Windows Mobile操作系统拨打电话的设备,应用于双卡双待移动电话,包括:扩展电话应用模块、无线路由模块、微软电话应用模块、无线接口驱动模块、无线通信模块,其中, \n[0029] 扩展电话应用模块,用于预先存储移动电话双卡对应的无线接口驱动模块信息,接收用户拨打电话请求信息,从预先存储的移动电话双卡对应的无线接口驱动模块信息中查询获取拨打电话对应的无线接口驱动模块信息,向无线路由模块发送,并向微软电话应用模块发送拨打新电话信息; \n[0030] 微软电话应用模块,用于接收拨打新电话信息,向无线路由模块发送拨打电话请求信息; \n[0031] 无线路由模块,用于接收拨打电话请求信息,根据接收的所述拨打电话对应的无线接口驱动模块信息、以及预先存储的无线通信模块当前状态信息,进行判断; [0032] 如果确定当前存在一路通话、且所述一路通话与所述拨打电话属于不同的无线通信模块,通知所述一路通话对应的无线接口驱动模块向对应的无线通信模块发送保持通话信息,并向所述拨打电话对应的无线接口驱动模块发送拨打电话请求信息; [0033] 所述一路通话对应的无线通信模块接收保持通话信息,通过所述一路通话对应的无线接口驱动模块向所述拨打电话对应的无线接口驱动模块发送保持成功事件信息; [0034] 所述拨打电话对应的无线接口驱动模块接收拨打电话请求信息以及保持成功事件信息,通知所述拨打电话对应的无线通信模块建立通话。 \n[0035] 所述无线接口驱动模块包括:第一无线接口驱动模块、第二无线接口驱动 模块; [0036] 所述无线通信模块包括:第一无线通信模块、第二无线通信模块; [0037] 所述拨打电话对应第一无线接口驱动模块; \n[0038] 所述无线路由模块,确定当前存在一路通话、且所述一路通话与所述拨打电话属于不同的无线通信模块,向所述第二无线接口驱动模块发送输入输出控制无线接口层管理信息,并向所述第一无线接口驱动模块发送拨打电话请求信息; \n[0039] 所述第一无线接口驱动模块,用于接收拨打电话请求信息,调用拨打电话的函数,如果接收到所述第二无线接口驱动模块发送的保持成功事件信息,向所述第一无线通信模块发送拨打电话信息; \n[0040] 所述第二无线接口驱动模块,用于接收输入输出控制无线接口层管理信息,向所述第二无线通信模块发送保持通话信息,接收所述第二无线通信模块返回的保持成功事件信息,转发至所述第一无线接口驱动模块; \n[0041] 所述第一无线通信模块,用于接收拨打电话信息,建立通话; [0042] 所述第二无线通信模块,用于接收保持通话信息,向所述第二无线接口驱动模块发送保持成功事件信息。 \n[0043] 所述无线路由模块进一步用于: \n[0044] 确定当前存在一路通话、且所述一路通话与所述拨打电话属于同一无线通信模块,向第一无线接口驱动模块发送输入输出控制无线接口层管理信息; [0045] 所述第一无线接口驱动模块,接收输入输出控制无线接口层管理信息,向所述第一无线通信模块发送拨打电话信息; \n[0046] 所述第一无线通信模块,接收拨打电话信息,建立通话;或, [0047] 确定移动电话当前处于空闲状态,向所述第一无线接口驱动模块发送输入输出控制无线接口层拨号信息; \n[0048] 所述第一无线接口驱动模块,接收输入输出控制无线接口层拨号信息,向所述第一无线通信模块发送拨打电话信息; \n[0049] 所述第一无线通信模块,接收拨打电话信息,建立通话;或, [0050] 确定当前存在两路通话,中断所述拨打电话。 \n[0051] 由上述技术方案可见,本发明提供的一种基于Windows Mobile操作系统拨打电话的方法及设备,无线路由模块接收拨打电话请求,根据接收的拨打电话对应的无线接口驱动模块信息、以及预先存储的无线通信模块当前状态信息确定当前存在一路通话、且该一路通话与该拨打电话属于不同的无线通信模块,通知一路通话对应的无线接口驱动模块向对应的无线通信模块发送保持通话信息,并向拨打电话对应的无线接口驱动模块发送拨打电话请求信息;一路通话对应的无线通信模块接收保持通话信息,向拨打电话对应的无线接口驱动模块发送保持成功事件信息;拨打电话对应的无线接口驱动模块接收拨打电话请求信息以及保持成功事件信息,通知拨打电话对应的无线通信模块建立通话。实现了双卡双待移动电话基于Windows Mobile操作系统拨打电话、且拨打的电话与存在的一路通话可以属于不同无线通信模块。同时,对现有Windows Mobile操作系统改动小,维护了Windows Mobile操作系统的稳定。 \n附图说明\n[0052] 图1为本发明基于Windows Mobile操作系统拨打电话的方法总体流程示意图。 [0053] 图2为本发明基于Windows Mobile操作系统拨打电话的方法第一流程示意图。 [0054] 图3为本发明基于Windows Mobile操作系统拨打电话的方法第二流程示意图。 [0055] 图4为本发明基于Windows Mobile操作系统拨打电话的方法第三流程示意图。 [0056] 图5为本发明基于Windows Mobile操作系统拨打电话的方法第四流程示意图。 [0057] 图6为本发明基于Windows Mobile操作系统拨打电话的方法第五流程 示意图。 [0058] 图7为本发明一种基于Windows Mobile操作系统的双卡双待移动电话拨打电话的设备结构示意图。 \n具体实施方式\n[0059] 为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进行进一步详细说明。 \n[0060] 本发明实施例中,通过设置扩展电话应用模块,用于存储移动电话双卡对应的无线接口驱动模块信息,并设置存储模块存储无线通信模块当前状态信息,扩展电话应用模块接收用户的拨打电话请求,将查询获取的该电话对应的无线接口驱动模块信息发送至无线路由模块,并通知微软电话应用模块向无线路由模块发起拨打电话请求,无线路由模块根据无线通信模块当前状态以及该拨打电话对应的无线接口驱动模块信息,执行相应的预先设置的操作。 \n[0061] 图1为本发明基于Windows Mobile操作系统拨打电话的方法总体流程示意图。\n参见图1,预先设置扩展电话应用模块,用于存储移动电话双卡对应的无线接口驱动模块信息,并设置存储模块存储无线通信模块当前状态信息,该流程包括: \n[0062] 步骤101,扩展电话应用模块接收用户拨打电话请求信息,向无线路由模块发送该拨打电话对应的无线接口驱动模块信息,并向微软电话应用模块发送拨打新电话信息; [0063] 本步骤中,用户可以通过双卡中的卡1或卡2拨打电话请求,扩展电话应用模块接收用户拨打电话请求,查询存储的移动电话双卡对应的无线接口驱动模块信息,即卡1对应无线接口驱动模块1信息、以及卡2对应无线接口驱动模块2信息,如果用户从卡1拨打电话,扩展电话应用模块将需要路由的无线接口驱动模块1信息发送至无线路由模块;如果用户从卡2拨打电话,扩展电话应用模块则将需要路由的无线接口驱动模块2信息发送至无线 路由模块,同时向微软电话应用模块发送拨打新电话信息。 \n[0064] 步骤102,微软电话应用模块接收拨打新电话信息,向无线路由模块发送拨打电话请求信息; \n[0065] 本步骤中,拨打电话请求信息格式可以与步骤101中相同。 \n[0066] 步骤103,无线路由模块接收拨打电话请求信息,根据接收的无线接口驱动模块信息、以及从存储模块获取的无线通信模块当前状态信息进行判断,确定当前存在的一路通话与该拨打电话属于不同的无线通信模块; \n[0067] 本步骤中,无线路由模块接收拨打电话请求信息,从存储模块获取无线通信模块当前状态信息,例如,存储的无线通信模块当前状态信息为无线通信模块1处于激活状态、无线通信模块2处于保持状态;或,无线通信模块2处于激活状态、无线通信模块1处于保持状态;或,无线通信模块1和无线通信模块2中,一路处于激活状态、一路处于空闲状态;\n或,无线通信模块1和无线通信模块2都处于空闲状态等,也就是移动电话当前通话状态。 [0068] 如果存储的移动电话当前只处于一路通话状态,即一路处于激活状态、一路处于空闲状态,则进一步根据接收的无线接口驱动模块信息判断已经存在的通话和该拨打电话是否属于同一个无线通信模块或同一个无线通信模块对应的无线接口驱动模块,例如,移动电话当前通话状态为无线通信模块1处于通话状态、接收的为无线接口驱动模块2信息,则判断已经存在的通话和该拨打电话属于不同的无线通信模块。 \n[0069] 步骤104,无线路由模块向已经存在的通话对应的无线接口驱动模块发送输入输出控制无线接口层管理(IOCTL_RIL_MANAGECALLS)信息,执行步骤105a~106a,并向拨打电话对应的无线接口驱动模块发送拨打电话请求信息,执行步骤105b~106b; [0070] 本步骤中,拨打电话请求信息可以为输入输出控制无线接口层拨号(IOCTL_RIL_DIAL)信息。 \n[0071] 步骤105a,无线接口驱动模块接收IOCTL_RIL_MANAGECALLS信息,向已经存在的通话对应的无线通信模块发送保持通话的AT命令信息; \n[0072] 步骤106a,已经存在的通话对应的无线通信模块接收AT命令信息,通过通话对应的无线接口驱动模块以及拨打电话对应的无线接口驱动模块向拨打电话对应的无线通信模块发送保持事件信息; \n[0073] 本步骤中,已经存在的通话对应的无线通信模块接收AT命令信息,如果保持通话设置成功,通过通话对应的无线接口驱动模块以及拨打电话对应的无线接口驱动模块向拨打电话对应的无线通信模块发送保持成功事件信息,如果保持通话设置失败,通过通话对应的无线接口驱动模块以及拨打电话对应的无线接口驱动模块向拨打电话对应的无线通信模块发送保持失败事件信息,也可以是在保持通话设置失败后,不发送任何信息。 [0074] 步骤105b,拨打电话对应的无线接口驱动模块接收拨打电话请求信息,调用拨打电话的函数,并等待由已经存在的通话对应的无线通信模块发送的保持事件信息,进行触发; \n[0075] 步骤106b,如果接收到保持成功事件信息,拨打电话对应的无线接口驱动模块向对应的无线通信模块发送拨打电话的AT命令信息,无线通信模块接收AT命令信息,建立通话;如果接收到保持失败事件信息,中断该拨打电话的呼出。 \n[0076] 本步骤中,无线通信模块接收AT命令信息,建立通话并向上层相应模块返回拨打电话成功结果信息后,可以在建立的通话和已经存在的通话之间进行切换,使一路通话处于激活状态,另一路通话则处于保持状态;如果接收到保持失败事件信息,也可以是在预先设定的时间内没有接收到保持成功事件信息,中断该拨打电话的呼出,向上层相应模块返回拨打电话失败结果信息。 \n[0077] 实际应用中,对于图1所示的流程,在步骤103中,根据接收的无线接口驱动模块信息、以及从存储模块获取的无线通信模块当前状态信息进行判断,其判断的结果还包括:\n当前存在的一路通话与该拨打电话属于同一无线通信模块、当前不存在通话的情况下拨打电话、以及当前存在两路通话的情况下拨打电话。 \n[0078] 以下举三个具体实施例,对本发明基于图1的实施例作进一步说明。 [0079] 实施例一:当前移动电话只存在一路通话 \n[0080] 图2为本发明基于Windows Mobile操作系统拨打电话的方法第一流程示意图。针对当前移动电话只存在一路通话,并假设无线通信模块1存在一路通话,参见图2,预先设置扩展电话应用模块,用于存储移动电话双卡对应的无线接口驱动模块信息,并设置存储模块存储无线通信模块当前状态信息,也就是无线通信模块1当前处于通话状态,无线通信模块2当前处于空闲状态,该流程包括: \n[0081] 步骤201,扩展电话应用模块接收用户拨打电话请求信息,向无线路由模块发送该拨打电话对应的无线接口驱动模块信息,并向微软电话应用模块发送拨打新电话信息; [0082] 本步骤中,用户可以通过双卡中的卡1或卡2拨打电话,本实施例中,以用户通过卡2拨打电话为例,扩展电话应用模块接收用户拨打电话请求,查询存储的移动电话双卡对应的无线接口驱动模块信息,将需要路由的无线接口驱动模块2信息发送至无线路由模块,同时向微软电话应用模块发送拨打新电话信息。 \n[0083] 步骤202,微软电话应用模块接收拨打新电话信息,向无线路由模块发送拨打电话请求信息; \n[0084] 步骤203,无线路由模块接收拨打电话请求信息,根据存储的无线通信模块当前状态信息获取当前只有无线通信模块1处于通话状态,进一步根据接收的无线接口驱动模块\n2信息,确定当前存在的一路通话与该拨打电话属于不同的无线通信模块; [0085] 本步骤中,如果用户通过卡1发起拨打电话请求,则无线路由模块通过判断,确定当前存在的一路通话与该拨打电话属于同一无线通信模块,无线路由模块向无线接口驱动模块1发送IOCTL_RIL_MANAGECALLS信息,无线接口驱动模块1接收并向无线通信模块1发送拨打电话的AT命令信息,无线通信模块1接收AT命令信息,建立通话。 [0086] 步骤204,无线路由模块向无线接口驱动模块1发送IOCTL_RIL_MANAGECALLS信息,执行步骤205a~206a,并向无线接口驱动模块2发送拨打电话请求信息,执行步骤\n205b~206b; \n[0087] 步骤205a,无线接口驱动模块1接收IOCTL_RIL_MANAGECALLS信息,向无线通信模块1发送保持通话的AT命令信息; \n[0088] 步骤206a,无线通信模块1接收AT命令信息,通过无线接口驱动模块1以及无线接口驱动模块2向无线通信模块2发送保持事件信息; \n[0089] 本步骤中,无线通信模块1接收AT命令信息,如果保持通话设置成功,通过无线接口驱动模块1以及无线接口驱动模块2向无线通信模块2发送保持成功事件信息,如果保持通话设置失败,通过无线接口驱动模块1以及无线接口驱动模块2向无线通信模块2发送保持失败事件信息,也可以是在保持通话设置失败后,不发送任何信息。 [0090] 步骤205b,无线接口驱动模块2接收拨打电话请求信息,调用拨打电话的函数,并等待由无线通信模块1发送的保持事件信息,进行触发; \n[0091] 步骤206b,如果接收到保持成功事件信息,无线接口驱动模块2向无线通信模块2发送拨打电话的AT命令信息,无线通信模块2接收AT命令信息,建立通话;如果接收到保持失败事件信息,中断该拨打电话的呼出。 \n[0092] 至此,该流程结束。 \n[0093] 实际应用中,当前移动电话也可以是无线通信模块2存在一路通话,无线通信模块1处于空闲,用户通过卡1或卡2拨打电话。 \n[0094] 图3为本发明基于Windows Mobile操作系统拨打电话的方法第二流程示意图。参见图3,与图2所示流程相类似,在此不再赘述。 \n[0095] 实施例二:移动电话当前处于空闲状态 \n[0096] 图4为本发明基于Windows Mobile操作系统拨打电话的方法第三流程示意图。\n参见图4,预先设置扩展电话应用模块,用于存储移动电话双卡对应的无线接口驱动模块信息,并设置存储模块存储无线通信模块当前状态信息,也就是无线通信模块1和无线通信模块2当前都处于不通话状态,即空 闲状态,该流程包括: \n[0097] 步骤401,扩展电话应用模块接收用户拨打电话请求信息,向无线路由模块发送该拨打电话对应的无线接口驱动模块信息,并向微软电话应用模块发送拨打新电话信息; [0098] 本步骤中,以用户通过卡2拨打电话为例,扩展电话应用模块接收用户拨打电话请求,查询存储的移动电话双卡对应的无线接口驱动模块信息,将需要路由的无线接口驱动模块2信息发送至无线路由模块,同时向微软电话应用模块发送拨打新电话信息。 [0099] 步骤402,微软电话应用模块接收拨打新电话信息,向无线路由模块发送拨打电话请求信息; \n[0100] 步骤403,无线路由模块接收拨打电话请求信息,根据存储的无线通信模块当前状态信息获取当前无线通信模块1和无线通信模块2都处于空闲状态,向无线接口驱动模块\n2发送IOCTL_RIL_DIAL信息; \n[0101] 步骤404,无线接口驱动模块2接收IOCTL_RIL_DIAL信息,向无线通信模块2发送拨打电话的AT命令信息; \n[0102] 步骤405,无线通信模块2接收AT命令信息,建立通话。 \n[0103] 实施例三:当前移动电话处于两路通话状态 \n[0104] 图5为本发明基于Windows Mobile操作系统拨打电话的方法第四流程示意图。以用户通过卡2拨打电话为例,参见图5,预先设置扩展电话应用模块,用于存储移动电话双卡对应的无线接口驱动模块信息,并设置存储模块存储无线通信模块当前状态信息,也就是无线通信模块1和无线通信模块2当前都处于通话状态,该流程包括: [0105] 步骤501,扩展电话应用模块接收用户拨打电话请求信息,向无线路由模块发送无线接口驱动模块2信息,并向微软电话应用模块发送拨打新电话信息; \n[0106] 步骤502,微软电话应用模块接收拨打新电话信息,向无线路由模块发送拨打电话请求信息; \n[0107] 步骤503,无线路由模块接收拨打电话请求信息,根据存储的无线通信模块当前状态信息获取无线通信模块1和无线通信模块2当前都处于通话状态,向上层应用模块返回拨打电话失败信息,中断该拨打电话的呼出。 \n[0108] 本步骤中,当无线路由模块确定移动电话当前处于两路通话状态,直接拒绝该电话呼出,上层应用模块包括扩展电话应用模块以及微软电话应用模块。 [0109] 实际应用中,当前移动电话也可以由用户通过卡1发起拨打电话请求。 [0110] 图6为本发明基于Windows Mobile操作系统拨打电话的方法第五流程示意图。参见图6,与图5所示流程相类似,在此不再赘述。 \n[0111] 图7为本发明一种基于Windows Mobile操作系统的双卡双待移动电话拨打电话的设备结构示意图。参见图7,该设备包括:扩展电话应用模块、无线路由模块、微软电话应用模块、存储模块、第一无线接口驱动模块、第二无线接口驱动模块、第一无线通信模块、第二无线通信模块,其中, \n[0112] 扩展电话应用模块,用于存储移动电话双卡对应的无线接口驱动模块信息,接收用户拨打电话请求信息,将查询获取的该拨打电话对应的第一无线接口驱动模块信息向无线路由模块发送,并向微软电话应用模块发送拨打新电话信息; \n[0113] 微软电话应用模块,用于接收拨打新电话信息,向无线路由模块发送拨打电话请求信息; \n[0114] 存储模块,用于存储移动电话第一无线通信模块和第二无线通信模块当前状态信息; \n[0115] 无线路由模块,用于接收拨打电话请求信息,根据接收的第一无线接口驱动模块信息、以及从存储模块获取的第一无线通信模块和第二无线通信模块当前状态信息进行判断,确定当前存在的一路通话与该拨打电话属于不同的无线通信模块,向第二无线接口驱动模块发送IOCTL_RIL_MANAGECALLS信息,并向第一无线接口驱动模块发送拨打电话请求信息; \n[0116] 第一无线接口驱动模块,用于接收拨打电话请求信息,调用拨打电话的函数,如果接收到第二接口驱动模块发送的保持成功事件信息,向第一无线通信模块发送拨打电话的AT命令信息; \n[0117] 第二无线接口驱动模块,用于接收IOCTL_RIL_MANAGECALLS信息,向第二无线通信模块发送保持通话的AT命令信息,接收第二无线通信模块返回的保持成功事件信息,向第一无线接口驱动模块发送; \n[0118] 第一无线通信模块,用于接收AT命令信息,建立通话。 \n[0119] 第二无线通信模块,用于接收AT命令信息,向第二无线接口驱动模块发送保持事件信息。 \n[0120] 实际应用中,无线路由模块进一步用于当确定当前存在的一路通话与该拨打电话属于同一无线通信模块,向第一无线接口驱动模块发送IOCTL_RIL_MANAGECALLS信息; [0121] 第一无线接口驱动模块,接收IOCTL_RIL_MANAGECALLS信息,向第一无线通信模块发送拨打电话的AT命令信息; \n[0122] 第一无线通信模块,接收AT命令信息,建立通话。 \n[0123] 无线路由模块还进一步用于当确定移动电话当前处于空闲状态,向第一无线接口驱动模块发送IOCTL_RIL_DIAL信息; \n[0124] 第一无线接口驱动模块,接收IOCTL_RIL_DIAL信息,向第一无线通信模块发送拨打电话的AT命令信息; \n[0125] 第一无线通信模块,接收AT命令信息,建立通话。 \n[0126] 无线路由模块还进一步用于当确定移动电话当前处于两路通话状态,向上层应用模块返回拨打电话失败信息,中断该拨打电话的呼出。 \n[0127] 由上述实施例可见,通过设置扩展电话应用模块,用于存储移动电话双卡对应的无线接口驱动模块信息,并设置存储模块存储无线通信模块当前状态信息,扩展电话应用模块接收用户的拨打电话请求,将查询获取的该拨打电话对应的无线接口驱动模块信息发送至无线路由模块,并通知微软电话应用模块向无线路由模块发起拨打电话请求;无线路由模块根据无线通信模块 当前状态以及接收的无线接口驱动模块信息,确定当前存在的一路通话与该拨打电话属于不同的无线通信模块时,通知已经存在的通话对应的无线接口驱动模块向对应的无线通信模块发送保持通话的AT命令信息,并向拨打电话对应的无线接口驱动模块发送拨打电话请求信息;已经存在的通话对应的无线通信模块接收AT命令信息,向拨打电话对应的无线接口驱动模块发送保持成功事件信息;拨打电话对应的无线接口驱动模块接收拨打电话请求信息以及保持成功事件信息,向对应的无线通信模块发送拨打电话的AT命令信息,无线通信模块接收AT命令信息,建立通话。能够使双卡双待移动电话基于Windows Mobile操作系统拨打电话、且拨打的电话与存在的一路通话可以属于不同无线通信模块。同时,对现有Windows Mobile操作系统改动小,维护了Windows Mobile操作系统的稳定。 \n[0128] 以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。
法律信息
- 2011-01-19
- 2008-12-03
- 2008-10-08
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2007-06-06
|
2006-12-15
| | |
2
| |
2008-02-06
|
2006-08-04
| | |
3
| |
2003-12-17
|
2002-05-29
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |