分类: 嵌入式
2011-08-31 11:00:59
我们知道在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下的数据进行同步。