WO/2007/012942 | CALLING NON-PSTN NUMBERS VIA A MOBILE TERMINAL |
JPH10164229 | TELEPHONE SYSTEM |
WO/2019/078990 | CONTACT LIST FOR THE INTERNET OF THINGS |
HUANG LEI (CN)
DIAO YINGHU (CN)
CHEN XIANGXIAO (CN)
ZOU XIAOJIE (CN)
HUANG LEI (CN)
DIAO YINGHU (CN)
CHEN XIANGXIAO (CN)
CN101409932A | 2009-04-15 | |||
CN101895852A | 2010-11-24 | |||
CN101753577A | 2010-06-23 | |||
JP2001016257A | 2001-01-19 |
北京派特恩知识产权代理事务所(普通合伙) (CN)
权利要求书 1、 一种实现多方通话的通话终端, 其特征在于, 该通话终端包括: 协 议栈、 呼叫管理服务层; 其中, 协议栈, 用于根据获取的与被叫通话终端或被动挂断通话终端的通话 的最终结果和该路通话对应的呼叫通道号码(CID ), 生成扩展 AT命令, 并发送给自身所在通话终端的呼叫管理服务层; 呼叫管理服务层, 用于对所述扩展 AT命令进行解析, 对解析后得到的 所述 CID和最终结果进行管理,并根据所述 CID和最终结果进行呼叫控制。 2、 根据权利要求 1所述的通话终端, 其特征在于, 所述呼叫管理服务层还用于, 接收请求消息, 根据所述请求消息生成 AT命令, 并发送给自身所在通话终端的协议栈; 所述协议栈还用于, 对呼叫管理服务层发送的 AT命令进行解析, 根据 解析得到的请求消息的内容与网络侧交互, 获取与被叫通话终端或被动挂 断通话终端的通话的最终结果和该路通话对应的 CID。 3、 根据权利要求 1或 2所述的通话终端, 其特征在于, 所述协议栈进 一步包括: 解析模块、 交互模块、 扩展编码模块; 其中, 解析模块, 用于对 AT命令进行解析, 将解析得到的请求消息的内容发 送给交互模块; 交互模块, 用于根据解析得到的请求消息的内容与网络侧交互, 获取 与被叫通话终端或被动挂断通话终端的通话的最终结果和该路通话对应的 CID; 扩展编码模块, 用于根据获取的与被叫通话终端或被动挂断通话终端 的通话的最终结果和该路通话对应的 CID, 生成扩展 AT命令, 并发送给自 身所在通话终端的呼叫管理服务层。 4、 根据权利要求 1或 2所述的通话终端, 其特征在于, 所述呼叫管理 服务层进一步包括: 呼叫控制模块、 编码模块、 解析模块、 管理模块; 其 中, 呼叫控制模块, 用于接收请求消息, 以及根据解析后得到的所述 CID 和最终结果进行呼叫控制; 编码模块, 用于根据所述请求消息生成 AT命令, 并发送给自身所在通 话终端的协议栈; 解析模块, 用于对协议栈的扩展编码模块发送的扩展 AT命令进行解 析, 将解析后得到的最终结果和 CID发送给管理模块和呼叫控制模块; 管理模块, 用于对解析后得到的所述 CID和最终结果进行管理。 5、 一种实现多方通话的方法, 其特征在于, 该方法包括: 发起呼叫或者主动挂断的通话终端的协议栈根据获取的与被叫通话终 端或被动挂断通话终端的通话的最终结果和该路通话对应的 CID, 生成扩 展 AT命令, 并发送给自身所在通话终端的呼叫管理服务层; 所述呼叫管理服务层对所述扩展 AT命令进行解析,对解析后得到的所 述 CID和最终结果进行管理, 并根据所述 CID和最终结果进行呼叫控制。 6、 根据权利要求 5所述的方法, 其特征在于, 所述生成扩展 AT命令, 并发送给自身所在通话终端的呼叫管理服务层为: 发起呼叫或者主动挂断的通话终端的协议栈的扩展编码模块对收到的 最终结果和 CID进行编码,将最终结果和 CID填写到 AT命令的字符串中 , 得到扩展 AT命令; 协议栈的扩展编码模块将生成的扩展 AT命令发送给发 起呼叫或者主动挂断的通话终端的呼叫控制服务层的解析模块。 7、 根据权利要求 5所述的方法, 其特征在于, 所述对解析后得到的所 述 CID和最终结果进行管理为: 发起呼叫或者主动挂断的通话终端的呼叫控制服务层的管理模块根据 所述 CID, 找到与其对应的当前通话状态, 并才艮据所述最终结果更新当前 通话状态。 8、 根据权利要求 5所述的方法, 其特征在于, 所述根据所述 CID和最 终结果进行呼叫控制为: 呼叫控制模块根据 CID得到需要进行呼叫控制的一路通话, 根据最终 结果对该路通话进行呼叫控制, 并通过弹出提示框提示呼叫控制的执行结 果。 9、 根据权利要求 5至 8任一所述的方法, 其特征在于, 所述发起呼叫 或者主动挂断的通话终端的协议栈根据获取的与被叫通话终端或被动挂断 通话终端的通话的最终结果和该路通话对应的 CID ,生成扩展 AT命令之前 , 该方法还包括: 协议栈对收到的 AT命令进行解析,根据解析得到的请求消息的内容与 网络侧交互, 获取与被叫通话终端或被动挂断通话终端的通话的最终结果 和该路通话对应的 CID。 10、 根据权利要求 9所述的方法, 其特征在于, 所述协议栈对收到的 AT命令进行解析, 根据解析得到的请求消息的内容与网络侧交互, 获取与 被叫通话终端或被动挂断通话终端的通话的最终结果和该路通话对应的 CID为: 发起呼叫或者主动挂断的通话终端的协议栈的解析模块对收到的 AT 命令进行解析,从所述 AT命令的字符串中提取请求消息的内容并将提取的 请求消息的内容发送给协议栈的交互模块, 交互模块根据请求消息的内容 与网络侧交互, 获取与被叫通话终端或被动挂断通话终端的通话的最终结 果和该路通话对应的 CID。 11、 根据权利要求 9 所述的方法, 其特征在于, 所述协议栈对收到的 AT命令进行解析之前, 该方法还包括: 发起呼叫或者主动挂断的通话终端的呼叫管理服务层接收请求消息, 根据所述请求消息生成 AT命令, 并发送给自身所在通话终端的协议栈。 12、 根据权利要求 11所述的方法, 其特征在于, 所述发起呼叫或者主 动挂断的通话终端的呼叫管理服务层接收请求消息为: 当摘取话机并输入被叫通话终端的号码, 按下呼叫键时, 或当挂断一 路通话, 按下挂断键时, 发起呼叫或者主动挂断的通话终端的呼叫管理服 务层的呼叫控制模块收到请求消息。 13、 根据权利要求 11所述的方法, 其特征在于, 所述根据所述请求消 息生成 AT命令为: 呼叫管理服务层的呼叫控制模块将请求消息转发给呼叫管理服务层的 编码模块, 编码模块将请求消息中的被叫通话终端的号码或者需要挂断的 一路通话的 CID填写到 AT命令的字符串中,并将生成的 AT命令发送给自 身所在通话终端的协议栈的解析模块。 |
本发明涉及无线通信终端的应用领域, 尤其涉及一种实现多方通话的 方法及通话终端。 背景技术
随着通信技术的不断发展, 多方通话和电话会议开始盛行, 现有技术 中, 多是利用单通道实现多路电话的拨打。 在利用单通道实现多路电话的 拨打过程中, 协议栈收到网络侧的通话的最终状态后, 对最终状态进行编 码,生成 AT命令并上报给呼叫管理服务层,呼叫管理服 层收到该命令后 , 查询来电的电话所对应的手机的呼叫通道号码 ( CID, Call IDentity ), 然后 匹配对应的电话号码, 最后将 CID和电话号码上报给人机界面; 但是, 查 询和匹配的过程会增加电话接通的时间。 此外, 各大厂商自行扩展中间状 态, 通过中间状态上报 CID, 中间状态包括呼出过程中收到的响铃消息和 被叫过程中收到的呼叫连接建立消息等, 这种方法中呼叫管理服务层需要 对包含 CID的中间状态进行复杂的处理过程, 所以同样会增加电话接通的 时间; 而且在进行多方通话的过程中, 如果某一路通话的中间状态中夹杂 另一路通话的中间状态, 就会出现呼叫状态混乱的情况。
现有技术中, 还存在当进行多方通话时, 实际响应结果和操作不一致 的情况, 例如, 当已经接通了一路通话时再拨打第二路通话, 如果此时第 二路通话的被叫拒绝, 第一路通话被叫挂断, 因此就会同时上报两个最终 结果码, 因此无法确定哪一个最终结果码对应的是哪一 路通话, 导致呼叫 状态混乱; 针对这个问题, 部分厂商提出了一种解决办法, 即默认先收到 的最终结果码是第二路通话的, 后收到的最终结果码是第一路通话的; 但 是, 针对这种解决办法, 在实现多方通话的过程中, 还会存在以下三种情 况: 第一, 第一路通话先被挂断, 但是却认为收到的是第二路电话的最终 结果码; 第二, 两路通话挂断的时间相差极小, 网络侧不一定会先上报第 二路通话的最终结果码; 第三, 即使是第二路通话被拒接后, 第一路通话 才挂断的, 在实际情况下, 被拒接的第二路通话状态是忙碌状态, 所以第 二路通话的最终结果码的上报速度比较慢, 通常会等几秒才会上报, 也就 有可能在第一路通话的最终结果码之后才上报 , 这样就出现了状态上报混 乱。 发明内容
有鉴于此, 本发明的主要目的在于提供一种实现多方通话 的方法及通 话终端, 解决了基于单通道的多方通话过程中存在的状 态混乱的问题。
为达到上述目的, 本发明的技术方案是这样实现的:
本发明公开一种实现多方通话的通话终端, 包括: 协议栈、 呼叫管理 服务层; 其中,
协议栈, 用于根据获取的与被叫通话终端或被动挂断通 话终端的通话 的最终结果和该路通话对应的呼叫通道号码( CID ), 生成扩展 AT命令, 并发送给自身所在通话终端的呼叫管理服务层 ;
呼叫管理服务层, 用于对所述扩展 AT命令进行解析, 对解析后得到的 所述 CID和最终结果进行管理,并根据所述 CID和最终结果进行呼叫控制。
上述通话终端中,
所述呼叫管理服务层还用于, 接收请求消息, 根据所述请求消息生成 AT命令, 并发送给自身所在通话终端的协议栈;
所述协议栈还用于,对呼叫管理服务层发送的 AT命令进行解析,根据 解析得到的请求消息的内容与网络侧交互, 获取与被叫通话终端或被动挂 断通话终端的通话的最终结果和该路通话对应 的 CID。 上述通话终端中, 所述协议栈进一步包括: 解析模块、 交互模块、 扩 展编码模块; 其中,
解析模块,用于对 AT命令进行解析,将解析得到的请求消息的内 发 送给交互模块;
交互模块, 用于根据解析得到的请求消息的内容与网络侧 交互, 获取 与被叫通话终端或被动挂断通话终端的通话的 最终结果和该路通话对应的 CID;
扩展编码模块, 用于根据获取的与被叫通话终端或被动挂断通 话终端 的通话的最终结果和该路通话对应的 CID, 生成扩展 AT命令, 并发送给自 身所在通话终端的呼叫管理服务层。
上述通话终端中, 所述呼叫管理服务层进一步包括: 呼叫控制模块、 编码模块、 解析模块、 管理模块; 其中,
呼叫控制模块, 用于接收请求消息, 以及根据解析后得到的所述 CID 和最终结果进行呼叫控制;
编码模块,用于根据所述请求消息生成 AT命令,并发送给自身所在通 话终端的协议栈;
解析模块, 用于对协议栈的扩展编码模块发送的扩展 AT命令进行解 析, 将解析后得到的最终结果和 CID发送给管理模块和呼叫控制模块; 管理模块, 用于对解析后得到的所述 CID和最终结果进行管理。
本发明还公开一种实现多方通话的方法, 包括:
发起呼叫或者主动挂断的通话终端的协议栈根 据获取的与被叫通话终 端或被动挂断通话终端的通话的最终结果和该 路通话对应的 CID, 生成扩 展 AT命令, 并发送给自身所在通话终端的呼叫管理服务层 ;
所述呼叫管理服务层对所述扩展 AT命令进行解析,对解析后得到的所 述 CID和最终结果进行管理, 并根据所述 CID和最终结果进行呼叫控制。 上述方法中, 所述生成扩展 AT命令, 并发送给自身所在通话终端的呼 叫管理服务层为:
发起呼叫或者主动挂断的通话终端的协议栈的 扩展编码模块对收到的 最终结果和 CID进行编码,将最终结果和 CID填写到 AT命令的字符串中, 得到扩展 AT命令;协议栈的扩展编码模块将生成的扩展 AT命令发送给发 起呼叫或者主动挂断的通话终端的呼叫控制服 务层的解析模块。
上述方法中, 所述对解析后得到的所述 CID和最终结果进行管理为: 发起呼叫或者主动挂断的通话终端的呼叫控制 服务层的管理模块根据 所述 CID, 找到与其对应的当前通话状态, 并才艮据所述最终结果更新当前 通话状态。
上述方法中, 所述根据所述 CID和最终结果进行呼叫控制为: 呼叫控制模块根据 CID得到需要进行呼叫控制的一路通话, 根据最终 结果对该路通话进行呼叫控制, 并通过弹出提示框提示呼叫控制的执行结 果。
上述方法中, 所述发起呼叫或者主动挂断的通话终端的协议 栈根据获 取的与被叫通话终端或被动挂断通话终端的通 话的最终结果和该路通话对 应的 CID , 生成扩展 AT命令之前, 该方法还包括:
协议栈对收到的 AT命令进行解析,根据解析得到的请求消息的 容与 网络侧交互, 获取与被叫通话终端或被动挂断通话终端的通 话的最终结果 和该路通话对应的 CID。
上述方法中, 所述协议栈对收到的 AT命令进行解析,根据解析得到的 请求消息的内容与网络侧交互, 获取与被叫通话终端或被动挂断通话终端 的通话的最终结果和该路通话对应的 CID为:
发起呼叫或者主动挂断的通话终端的协议栈的 解析模块对收到的 AT 命令进行解析,从所述 AT命令的字符串中提取请求消息的内容并将提 的 请求消息的内容发送给协议栈的交互模块, 交互模块根据请求消息的内容 与网络侧交互, 获取与被叫通话终端或被动挂断通话终端的通 话的最终结 果和该路通话对应的 CID。
上述方法中, 所述协议栈对收到的 AT命令进行解析之前,该方法还包 括:
发起呼叫或者主动挂断的通话终端的呼叫管理 服务层接收请求消息, 根据所述请求消息生成 AT命令, 并发送给自身所在通话终端的协议栈。
上述方法中, 所述发起呼叫或者主动挂断的通话终端的呼叫 管理服务 层接收请求消息为:
当摘取话机并输入被叫通话终端的号码, 按下呼叫键时, 或当挂断一 路通话, 按下挂断键时, 发起呼叫或者主动挂断的通话终端的呼叫管理 服 务层的呼叫控制模块收到请求消息。
上述方法中, 所述根据所述请求消息生成 AT命令为:
呼叫管理服务层的呼叫控制模块将请求消息转 发给呼叫管理服务层的 编码模块, 编码模块将请求消息中的被叫通话终端的号码 或者需要挂断的 一路通话的 CID填写到 AT命令的字符串中,并将生成的 AT命令发送给自 身所在通话终端的协议栈的解析模块。
本发明提供的实现多方通话的方法及通话终端 ,协议栈对 AT命令进行 扩展, 在携带最终结果的 AT命令中添加 CID, 最后生成扩展 AT命令并上 报给呼叫管理服务层, 呼叫管理服务层就可以明确知道最终结果对应 的是 哪一路通话, 并进行呼叫控制, 因此解决了基于单通道的多方通话过程中 存在的状态混乱的问题, 极大地完善了多方通话的通话过程并且保持通 话 稳定; 此外, 呼叫管理服务层从扩展 AT命令中获取消息, 进行呼叫控制并 通知用户, 不需要再等待后续的最终结果的上报或者自行 查询最终状态, 可以缩短多方通话的接通时间, 也统一了互通标准, 增强了通用性。 附图说明
图 1是本发明实现多方通话的通话终端的结构示 图;
图 2是本发明实现多方通话的方法的流程示意图 具体实施方式
本发明的基本思想是: 协议栈根据获取的与被叫通话终端或被动挂断 通话终端的通话的最终结果和该路通话对应的 呼叫通道号码(CID ), 生成 扩展 AT命令, 并发送给自身所在通话终端的呼叫管理服务层 ; 呼叫管理服 务层对所述扩展 AT命令进行解析, 对解析后得到的所述 CID和最终结果 进行管理, 并根据所述 CID和最终结果进行呼叫控制。
下面通过附图及具体实施例对本发明再做进一 步的详细说明。
本发明提供一种实现多方通话的通话终端, 图 1 是本发明实现多方通 话的通话终端的结构示意图, 如图 1所示, 该通话终端包括: 协议栈 11、 呼叫管理服务层 12; 其中,
协议栈 11 , 用于根据获取的与被叫通话终端或被动挂断通 话终端的通 话的最终结果和该路通话对应的 CID, 生成扩展 AT命令, 并发送给自身所 在通话终端的呼叫管理服务层 12;
呼叫管理服务层 12, 用于对所述扩展 AT命令进行解析, 对解析后得 到的所述 CID和最终结果进行管理, 并根据所述 CID和最终结果进行呼叫 控制。
所述呼叫管理服务层 12还用于, 接收请求消息, 根据所述请求消息生 成 AT命令, 并发送给自身所在通话终端的协议栈 11;
所述协议栈 11还用于, 对呼叫管理服务层发送的 AT命令进行解析, 根据解析得到的请求消息的内容与网络侧交互 , 获取与被叫通话终端或被 动挂断通话终端的通话的最终结果和该路通话 对应的 CID。
所述协议栈 11进一步包括: 解析模块 111、 交互模块 112、 扩展编码 模块 113; 其中,
解析模块 111 , 用于 AT命令进行解析, 将解析得到的请求消息的内容 发送给交互模块 112;
交互模块 112, 用于根据解析得到的请求消息的内容与网络侧 交互, 获 取与被叫通话终端或被动挂断通话终端的通话 的最终结果和该路通话对应 的 CID;
扩展编码模块 113 ,用于根据获取的与被叫通话终端或被动挂断 话终 端的通话的最终结果和该路通话对应的 CID, 生成扩展 AT命令, 并发送给 自身所在通话终端的呼叫管理服务层 12。
所述呼叫管理服务器 12进一步包括:呼叫控制模块 121、编码模块 122、 解析模块 123、 管理模块 124; 其中,
呼叫控制模块 121 , 用于接收请求消息, 以及根据解析后得到的所述 CID和最终结果进行呼叫控制;
编码模块 122, 用于根据所述请求消息生成 AT命令, 并发送给自身所 在通话终端的协议栈 11;
解析模块 123 , 用于对协议栈的扩展编码模块发送的所述扩展 AT命令 进行解析, 将解析后得到的最终结果和 CID发送给管理模块 124和呼叫控 制模块 121 ;
管理模块 124, 用于对解析后得到的所述 CID和最终结果进行管理。 所述扩展编码模块 113生成扩展 AT命令,并发送给自身所在通话终端 的呼叫管理服务层具体为: 发起呼叫或者主动挂断的通话终端的协议栈 11 的扩展编码模块 113对收到的最终结果和 CID进行编码, 将最终结果填写 到 AT命令的字符串中, 并将 CID添加到 AT命令的字符串中, 得到扩展 AT命令; 协议栈 11的扩展编码模块 113将生成的扩展 AT命令发送给发 起呼叫或者主动挂断的通话终端的呼叫控制服 务层 12的解析模块 123。 所述管理模块 124对解析后得到的所述 CID和最终结果进行管理具体 为:发起呼叫或者主动挂断的通话终端的呼叫 控制服务层 12的管理模块 124 根据所述 CID, 找到与其对应的当前通话状态, 并根据所述最终结果更新 当前通话^ 态。
所述呼叫控制模块 121根据所述 CID和最终结果进行呼叫控制具体为: 呼叫控制模块 121根据 CID得到需要进行呼叫控制的一路通话, 根据最终 结果对该路通话进行呼叫控制, 并通过弹出提示框提示呼叫控制的执行结 果。
所述解析模块 111对 AT命令进行解析具体为:
发起呼叫或者主动挂断的通话终端的协议栈 11的解析模块 111对收到 的 AT命令进行解析, 从所述 AT命令的字符串中提取请求消息的内容并将 提取的请求消息的内容发送给协议栈的交互模 块 112。
所述呼叫控制模块 121接收请求消息具体为: 当摘取话机并输入被叫 通话终端的号码, 按下呼叫键时, 或当挂断一路通话, 按下挂断键时, 发 起呼叫或者主动挂断的通话终端的呼叫管理服 务层 12的呼叫控制模块 121 收到请求消息。
所述编码模块 122根据所述请求消息生成 AT命令具体为:呼叫管理服 务层 12的呼叫控制模块 121将请求消息转发给呼叫管理服务层的编码模 块 122, 编码模块 122将请求消息中的被叫通话终端的号码或者需 要挂断的一 路通话的 CID填写到 AT命令的字符串中,并将生成的 AT命令发送给自身 所在通话终端的协议栈的解析模块 111。
基于上述通话终端, 本发明还提供一种实现多方通话的方法, 图 2是 本发明实现多方通话的方法的流程示意图, 如图 2所示, 该方法包括以下 步骤:
步骤 201 ,发起呼叫或者主动挂断的通话终端的呼叫管 服务层接收请 求消息;
具体的, 当主叫通话终端的用户摘取话机并输入被叫通 话终端的号码, 按下呼叫键时, 或当任意一侧用户挂断一路通话, 按下挂断键时, 发起呼 叫或者主动挂断的通话终端的呼叫管理服务层 的呼叫控制模块会收到请求 消息; 当主叫通话终端用户摘取话机并输入被叫通话 终端的号码, 按下呼 叫键时, 呼叫控制模块收到的请求消息是呼叫请求消息 ; 当任意一侧用户 挂断一路通话时, 呼叫控制模块收到的请求消息是挂断请求消息 ;
当呼叫管理服务层的呼叫控制模块收到请求消 息后 , 通过管理模块提 供的接口查询发送请求消息的通话终端所在一 路通话的当前通话状态, 呼 叫控制模块判断查询到的当前通话状态是否正 确, 如果正确就执行步骤
202, 如果错误就结束; 例如, 当用户挂断第二路通话时, 呼叫控制模块判 断 CID为 2的第二路通话的当前通话状态是否正确, 如果当前通话状态为 激活、 挂起、 正在呼叫、 呼叫等待, 则当前通话状态正确, 如果为无通话, 则当前通话状态错误。
步骤 202, 呼叫管理服务层根据请求消息生成 AT命令, 并发送给自身 所在通话终端的协议栈;
具体的, 呼叫管理服务层的呼叫控制模块将请求消息转 发给呼叫管理 服务层的编码模块, 编码模块对收到的请求消息进行编码, 生成 AT命令; 如果请求消息是呼叫请求消息, 该消息中携带有被叫通话终端的号码; 如 果请求消息是挂断请求消息, 该消息中携带有需要挂断的一路通话的 CID; 编码模块根据请求消息中的被叫通话终端的号 码或者需要挂断的一路通话 的 CID进行编码; 编码的方法是根据 AT命令的字符串格式, 将需要进行 编码的请求消息的内容填写到 AT命令的字符串中; 例如, AT命令的字符 串可以是: ATD[<n>][;] , [<11>]为被叫通话终端的号码和修饰符号, 或 CID 和修饰符号;其中编码模块将生成的 AT命令发送给自身所在通话终端的协 议栈的解析模块, 即发起呼叫或者主动挂断的通话终端的协议栈 的解析模 块。 这里, 由于通话终端的协议栈和呼叫管理服务层的交 互只能利用 AT 命令, 所以需要将请求消息编码成 AT命令, 才能发送给协议栈。
步骤 203 , 协议栈对 AT命令进行解析, 根据解析得到的请求消息的内 容与网络侧交互, 获取与被叫通话终端或被动挂断通话终端的通 话的最终 结果和该路通话对应的 CID;
具体的, 发起呼叫或者主动挂断的通话终端的协议栈的 解析模块对收 到的 AT命令进行解析, 解析的方法是根据 AT命令的字符串格式, 从 AT 命令的字符串中提取请求消息的内容; 解析模块将提取的请求消息的内容 发送给协议栈的交互模块, 交互模块根据请求消息的内容与网络侧交互, 获取与被叫通话终端或被动挂断通话终端的通 话的最终结果和该路通话对 应的 CID;
例如, 解析模块对 AT命令进行解析后, 如果得到的是被叫通话终端的 号码就发送给交互模块, 交互模块收到被叫通话终端的号码后, 知道需要 根据该号码进行呼叫, 则通过网络侧呼叫被叫通话终端, 交互模块通过网 络侧获取呼叫被叫通话终端的最终结果和该路 通话对应的 CID, 将最终结 果和 CID发送给协议栈的扩展编码模块; 其中, 呼叫的最终结果包括 NO CARRIER, NO ANSWER, BUSY和 OK, NO CARRIER表示通话链路连 接失败, NO ANSWER表示主叫通话终端呼叫成功但被叫通话终 端未响应, BUSY表示主叫通话终端呼叫成功但被叫通话终 拒接, OK表示主叫通话 终端呼叫成功且被叫通话终端接听;
解析模块对 AT命令进行解析后,如果得到的是需要挂断的 路通话的 CID就发送给交互模块, 交互模块收到需要挂断的一路通话的 CID后, 知 道需要根据该 CID对该 CID所对应的通话进行挂断, 则通过网络侧通知相 过网络侧获取挂断的最终结果和该路通话对应 的 CID, 将最终结果和 CID 发送给主动挂断的通话终端的协议栈的扩展编 码模块; 其中挂断的最终结 果包括 OK或 ERROR, OK表示被动挂断的通话终端挂断成功, ERROR表 示因网络或未知问题导致挂断失败。
步骤 204,发起呼叫或者主动挂断的通话终端的协议 根据获取的最终 结果和 CID生成扩展 AT命令, 并发送给自身所在通话终端的呼叫管理服 务层;
具体的, 发起呼叫或者主动挂断的通话终端的协议栈的 扩展编码模块 对收到的由交互模块获取的最终结果和 CID进行编码, 编码的方法是根据 AT命令的字符串格式, 将需要进行编码的最终结果的内容填写到 AT命令 的字符串中, 然后再将 CID添加到该 AT命令的字符串中, 最终得到扩展 AT 命令; 例如, 扩展 AT 命令的字符串格式可以是 +XCPI : 1/r/nNO CARRIER , 其中 1是 CID , 表示第一路通话, NO CARRIER表示第一路通 话的最终结果;协议栈的扩展编码模块将生成 的扩展 AT命令发送给发起呼 叫或者主动挂断的通话终端的呼叫控制服务层 的解析模块。
步骤 205 , 呼叫管理服务层对扩展 AT命令进行解析, 对解析后得到的 CID和最终结果进行管理, 并根据 CID和最终结果进行呼叫控制;
具体的, 发起呼叫或者主动挂断的通话终端的呼叫控制 服务层的解析 模块对收到的扩展 AT命令进行解析, 得到 CID和最终结果, 将 CID和最 终结果同时发送给呼叫控制服务层的管理模块 和呼叫控制模块; 管理模块 用于保存各路通话的 CID及与其对应的当前通话状态, 管理模块根据收到 的 CID找到与其对应的当前通话状态,并才艮据最 终结果更新当前通话状态; 呼叫控制模块根据 CID可以得到需要进行呼叫控制的一路通话, 根据 最终结果对该路通话进行呼叫控制, 其中呼叫控制包括打开通话通道、 切 断通话通道等; 同时呼叫控制模块需要提示用户呼叫控制的执 行结果; 例 口,通过弹出提示才匡,提示才匡显示 "正在连接 、 "结束通话 等, 还可以同时显示通话时长等。
利用本实施例的方法, 通话终端 1被叫并接通一路电话, 再拨打第二 路电话, 被叫拒接, 此时网络侧上报的最终结果 BUSY较慢, 通话终端 1 暂未收到该最终结果, 此时通话终端 1的用户挂断第一路通话, 通话终端 1 的呼叫控制服务层可以收到扩展 AT 命令, 其中携带有最终结果 NO CARRIER和 CID是 1的消息, 因此不会误以为是第二路通话的最终结果。
以上所述, 仅为本发明的较佳实施例而已, 并非用于限定本发明的保 护范围, 凡在本发明的精神和原则之内所作的任何修改 、 等同替换和改进 等, 均应包含在本发明的保护范围之内。
Next Patent: PRESS-CONTACT TYPE IMMERSING INTERLAYER TISSUE