栈为关闭状态。
[0094] S305、所述应用处理器关闭所述第一协议栈,以及从所述调制解调器支持的多个 协议栈中选择除所述第一协议栈的第二协议栈。
[0095] 具体的,调制解调器使用第一协议栈发生协议栈注册被拒绝,从而引起调制解调 器异常,调制解调器需要关闭第一协议栈,防止协议栈注册被拒绝的问题反复发生。然后, 应用处理器确定调制解调器支持的多个协议栈中选择除第一协议栈的第二协议栈,其中, 应用处理器选择的策略可以是:选择比第一协议栈低一级的协议栈作为第二协议栈;或测 量周围各个协议栈对应的小区信号的信号强度,将信号强度最大的协议栈作为第二协议 栈;或选择比第一协议栈高一级的协议栈作为第二协议栈;或采用其他的策略确定第二协 议栈,本发明不作限制。
[0096] S306、所述应用处理器开启所述第二协议栈,并使用所述第二协议栈进行网络注 ΠΠ. 册。
[0097] 具体的,关闭第一协议栈后,移动终端由连接态转换为空闲态,应用处理器开启选 择的第二协议栈,使用第二协议栈进行网络注册,网络注册的过程为:移动向网络侧发起附 着请求,若网络侧允许移动终端接入,向移动终端返回附着响应,表示网络注册成功,移动 终端由无服务态转换为有服务状态;若网络侧不允许移动终端接入,向移动终端返回拒绝 /错误信息,表示网络注册失败。
[0098] S307、若网络注册成功,所述应用处理器记录当前的位置信息。之后可执行步骤 S308 ;同时还可以并行执行步骤S310。
[0099] 具体的,位置信息表示移动通信网络中预先规划的逻辑位置的标识,例如,位置信 息包括小区标识或位置区域码等。
[0100] S308、位置信息是否发生变化。
[0101] 具体的,应用处理器周期性的获取位置信息,在当前获取的位置信息和上一次获 取的位置信息相比发生变化时,执行S309,否则继续获取位置信息。例如,位置信息为小区 标识,移动终端由一个小区移动到另一小区,表示位置信息发生变化;位置信息为位置区域 码,移动终端由一个位置区域移动到另一个位置区域,表明位置信息发生变化。应用处理器 获取位置信息的周期本发明不作限制,可以根据实际需求进行设置。
[0102] S309、所述应用处理器恢复所述支持的多个协议栈中的默认协议栈的开关状态或 所述应用处理器恢复所述支持的多个协议栈中的默认协议栈的开关状态并同时复位调制 解调器。
[0103] S310、协议栈注册被拒绝的异常原因是否已上报。
[0104] 具体的,如果协议栈注册被拒绝的异常原因已上报过,则执行S301 ;当协议栈注 册被拒绝的异常原因已上报过之后,用户可以根据异常原因进行调整或修复,之后继续跳 转到S301由调制解调器检测异常,若调制解调器仍检测到协议栈注册被拒绝,则继续执行 S302等后续步骤。否则,执行S311。
[0105] S311、获取所述协议栈注册被拒绝的异常原因和日志。
[0106] S312、将所述异常原因、所述当前的位置信息和日志上报给网络侧和/或用户。
[0107] 具体的,应用处理器将异常原因、当前的位置信息和日志上报给网络侧,其中,可 以在移动终端连接上wifi热点的情况下,通过wifi热点将上述信息上报给网络侧,以节省 流量。或者应用处理器也可以将异常原因显示在移动终端的显示屏上,供用户进行查看。
[0108] 当上述信息上报之后,同样可跳转至步骤S301,由调制解调器检测异常,若调制解 调器仍检测到协议栈注册被拒绝,则继续执行S302等后续步骤。
[0109] 通过循环的方式,可确保协议栈注册被拒绝问题的解决,当问题解决之后,调制解 调器将不会再检测到协议栈注册被拒绝,终端可恢复正常工作。
[0110] 实施本发明的实施例,应用处理器接到调制解调器检测到协议栈注册被拒绝时发 送的异常指示消息,关闭当前使用的协议栈,从支持的多个协议栈中选择除当前使用的协 议栈的其他协议栈,开启其他协议栈并使用其他协议栈注册网络,在成功注册上网络时,记 录当前的位置信息,并在位置变化时,恢复默认协议栈的开关状态或复位调制解调器。这样 在调制解调器无法正常通信时快速的被检测到,并通过切换其他协议栈进行网络注册的方 式使调制解调器自动的恢复通信的正常,避免强制重启移动终端或位置更新造成的耗时过 长的问题,减少了网络故障恢复的时间。
[0111] 参见图4,为本发明实施例提供的一种应用处理器的结构示意图,在本发明实施例 中,所述应用处理器4包括:判断模块401、确定模块402、选择模块403、注册模块404、记录 模块405。
[0112] 判断模块401,用于接收调制解调器发送的异常指示消息后,判断设定时间内是否 发生设定次数的协议栈注册被拒绝的异常情况,其中,所述异常指示消息指示所述调制解 调器检测到协议栈注册被拒绝。
[0113] 确定模块402,用于若所述判断的结果为是,获取所述调制解调器当前使用的第一 协议栈。
[0114] 选择模块403,用于关闭所述第一协议栈,以及从所述调制解调器支持的多个协议 栈中选择除所述第一协议栈的第二协议栈。
[0115] 注册模块404,用于开启所述第二协议栈,并使用所述第二协议栈进行网络注册。
[0116] 记录模块405,用于若网络注册成功,记录当前的位置信息。
[0117] 本发明实施例和方法实施例一基于同一构思,其带来的技术效果也相同,具体原 理请参照方法实施例一的描述,此处不再赘述。
[0118] 可选的,应用处理器还包括:
[0119] 恢复模块,用于当网络注册失败时、或当网络注册成功后且位置发生变化时,恢复 所述支持的多个协议栈中的默认协议栈的开关状态或恢复所述支持的多个协议栈中的默 认协议栈的开关状态并同时复位所述调制解调器。
[0120] 可选的,应用处理器还包括:
[0121] 上报模块,用于若所述协议栈注册被拒绝的异常原因未上报,获取所述协议栈注 册被拒绝的异常原因和日志;将所述异常原因、所述当前的位置信息和日志上报给网络侧 和/或用户。
[0122] 可选的,上报模块用于:
[0123] 扫描周围的wifi热点并在与wifi热点建立通信连接后,通过建立通信连接的 wifi热点将所述异常原因、所述当前的位置信息和日志上报给网络侧。
[0124] 本发明实施例和方法实施例二和三基于同一构思,其带来的技术效果也相同,具 体原理请参照方法实施例二和三的描述,此处不再赘述。
[0125] 参见图5,为本发明实施例的一种应用处理器的另一结构示意图,在本实施中,应 用处理器用于实现图1所述的网络通信功能异常的处理方法,应用处理器5包括CPU501、存 储器502和通信接口 503,应用处理器中的CPU501的数量可以是一个或多个,图5以一个 CPU为例。本发明的一些实施例中,CPU501、存储器502和通信接口 503可通过总线或其他 方式连接,图5中以总线连接为例。
[0126] 其中,存储器502中存储一组程序代码,且CPU501用于调用存储器502中存储的 程序代码,用于执行以下操作:
[0127] 接收调制解调器发送的异常指示消息后,判断设定时间内是否发生设定次数的协 议栈注册被拒绝的异常情况,其中,所述异常指示消息指示所述调制解调器检测到协议栈 注册被拒绝;
[0128] 若所述判断的结果为是,所述应用处理器获取所述调制解调器当前使用的第一协 议栈;
[0129] 关闭所述第一协议栈,以及从所述调制解调器支持的多个协议栈中选择除所述第 一协议栈的第二协议栈;
[0130] 开启所述第二协议栈,并使用所述第二协议栈进行网络注册;
[0131] 若网络注册成功,记录当前的位置信息。
[0132] 在本发明的一些实施例中,CPU501还用于执行:
[0133] 若所述判断的结果为否,所述应用处理器复位所述调制解调器。