关于3G手机USIM卡的电话簿
中国移动已经开始3G放号,虽然不是很受追捧,但是毕竟还是有些人开始尝鲜。目前人们议论最多的是网络是否稳定、数据传输速度是否快,可视电话的效果是否好等话题。似乎很少有人议论3G手机里面的USIM智能卡和原来的GSM手机中使用的SIM智能卡之间到底存在哪些差别?
其实3G手机的USIM(Universal Subscriber Identity Module)卡所发挥主要的作用和原来在GSM网络中很类似。当然也有很多的差别,其中比较关键的是3G卡支持多应用,所以被叫做Universal,这点和原来的GSM是不同的;另外网络鉴权的算法肯定是不同的;当然还有其他的差别,其中就包括“电话簿”。
我们知道在2G的SIM卡中,用来存储联系人信息的只有一个EFadn,只能存储姓名和电话号码,当然现在很多先进的手机自身带有功能强大的电话簿,可以支持地址、单位、e-mail、电话、传真等等联系人信息项的管理。其实在3G的USIM卡中也定义了类似功能的电话簿,并且在USIM中还支持全局的电话簿和针对应用的电话簿,其中全局电话簿存在于DFphonebook目录下。不论是全局还是针对应用的电话簿基本内容和管理规则都是一致的,但是不同应用下的电话簿结构可以不同,各自由自己应用的PIN来保护。在3G的USIM卡中自然增加了很多的EF文件,但是和联系人信息相关的EF文件都是以EFadn作为主要参考来进行扩展的。对于3G终端来说想要访问USIM的电话簿,必须经过一道门,那就是EFpbr(Phone Book Reference EF)。在EFpbr中定义了和电话簿相关的信息项入口EF标识以及类型(比如EFemail,EFsne等),从而告诉3G终端如何去读取并组织其他EF文件内保存的数据。EFpbr是以记录的形式表述其他EF文件的,每条记录最多可以定义254个联系人入口,当电话簿联系人超过254时自然需要开辟另外一条记录来存储。EFpbr中的数据都是采用TLV(Tag Length Value)的格式,其中的文件有三种类型分别是Type1,Type2,Type3。Type1文件的记录个数和EFadn完全一致;Type2文件的记录个数少于EFadn,但是通过EFiap(Index Administration Pointer)定义和EFadn的对应关系;Type3文件的记录中定义了关联的记录标识。
此外,如果3G的USIM卡插入2G的终端,因为2G终端不知道如何获取DFphonebook下的内容,所以对于2G终端可见的是在DFtelecom路径下映射的主要3G电话簿文件,比如EFadn。当然如果这时在2G的终端上进行了EFadn的修改,那么这些相应的修改在USIM卡插入3G终端时需要和DFphonebook下的数据进行同步。
下图给出了两组254条联系人记录的电话簿数据以及结构(摘自3GPP TS 31.102)