1 PLMN概念
PLMN:
PLMN(Public Land Mobile Network,公共陆地移动网络)
该网路必须与公众交换电话网(PSTN)互连,形成整个地区或国家规模的通信网。
PLMN = MCC + MNC:
中国移动的PLMN为46000,46002,46007
中国联通的PLMN为46001,46006
中国电信的PLMN 46003,46005
PLMN的分类 :
对于一个特定的终端来说,通常需要维护几种不同类型的PLMN列表,每个列表中会有多个PLMN。
RPLMN(Registered PLMN 已登记PLMN):
已登记PLMN。是终端在上次关机或脱网前登记上的PLMN。
在3GPP 2003年第TSG TP-21次会议上决定,将该参数从USIM卡上删掉,而将其保存在终端的内存中。
EPLMN(Equivalent PLMN 等效PLMN):
为与终端当前所选择的PLMN处于同等地位的PLMN,其优先级相同。
EHPLMN(EquivalentHome PLMN等效本地PLMN):
为与终端当前所选择的PLMN处于同等地位的本地PLMN。
其实:EHPLMN和EPLMN就好比是中移动的新建的158网络,
而EPLMN就好比是原来的135~139网络。
HPLMN(Home PLMN 归属PLMN):
为终端用户归属的PLMN。也就是说,终端USIM卡上的IMSI号中包含的MCC和MNC与HPLMN上的MCC和MNC是一致的,
对于某一用户来说,其归属的PLMN只有一个。
VPLMN(Visited PLMN 访问PLMN):
为终端用户访问的PLMN。其PLMN和存在SIM卡中的IMSI的MCC,MNC是不完全相同的。当移动终端丢失覆盖后,一个VPLMN将被选择。
UPLMN(User Controlled PLMN 用户控制PLMN):
是储存在USIM卡上的一个与PLMN选择有关的参数。
OPLMN(Operator Controlled PLMN 运营商控制PLMN):
是储存在USIM 卡上的一个与PLMN选择有关的参数。
FPLMN(Forbidden PLMN禁用PLMN):
为被禁止访问的PLMN,通常终端在尝试接入某个PLMN被拒绝以后,会将其加到本列表中。
APLMN(Approve PLMN 可捕获PLMN):
为终端能在其上找到至少一个小区,并能读出其PLMN标识信息的PLMN。
PLMN的选择优先级:
不同类型的PLMN其优先级别不同,终端在进行PLMN选择时将按照以下顺序依次进行:
RPLMN
EPLMN
HPLMN
EHPLMN
UPLMN
OPLMN
其他的PLMN
From: http://baike.baidu.cn/view/544151.htm
2 3GPP 23122协议规定的小区重选PLMN选择顺序
3GPP 23122协议规定的小区重选PLMN选择顺序
At switch on or recovery from lack of coverarge,用户首先尝试选择的是RPLMN(registered PLMN),选择失败后按照如下顺序选择:
1) HPLMN(如果EHPLMN列表不存在或为空)或最高优先级的EHPLMN(如果EHPLMN列表存在);
2) 在SIM卡数据中按照UPLMN优先级顺序选择;(User Controlled PLMN Selector with Access Technology)
3) 在SIM卡数据中按照OPLMN优先级顺序选择;(Operator Controlled PLMN Selector with Access Technology)
4) 随机选择RSCP值大于-84dBm(足够强度信号质量)形成的PLMN接入技术组合;
5) 当信号强度不够时,根据接收信号强度递减排序选择其他所有PLMN。
From: http://blog.sina.com.cn/s/blog_6617106b01013nxi.html
3 手机PLMN相关处理
因为有多个PLMN,USIM卡中存储的的EHPLMN List用支持多个HPLMN lists;
对于2G SIM卡中是不存在EHPLMN List存储区域。
手机支持从UICC卡文件系统中读取EHPLMN List,只有在UICC文件系统支持EHPLMN List的情况下。
而EHPLMN List就是决定手机支持的PLMN;对SIM卡没有EHPLMN List,而只有HPLMN即IMSI一个;会将HPLMN作为终端的PLMN.
当SIM卡的PLMN事46002,而手机注册的基站网络PLMN是46000;将会是一种漫游状态;而实际上不是。
鉴于这个问题,手机方案厂商采取一些措施解决:
高通将EHPLMN List可存储在手机内存上;2G卡将从手机内存中读取EHPLMN List,USIM或从卡中读取;
需要设置NV:
NV65602:Location – /nv/item_files/modem/nas/ehplmn
Default value – 0x03 0x64 0xf0 0x00 0x64 0xf0 0x20 0x64 0xf0 0x70 (46000, 46002, 46007)
NV70189:Location – /nv/item_files/modem/nas/ tdscdma_op_plmn_list
Default value – 0x03 0x64 0xf0 0x00 0x64 0xf0 0x20 0x64 0xf0 0x70 (46000, 46002, 46007)
Modem代码中处理与PLMN相关的函数:
reg_sim.c :reg_sim_read_ehplmn_list