SIM卡应用-OPN,PLMN,SPN

时间:2022-09-08 21:37:47

SIM卡应用

移动运营商已经将SIM卡用於很多不同的应用,下面列出了其中最主要的应

用∶

·漫游应用∶确保手机可以在漫游之後选择缺省的运营商网络。一个SIM应用是可以在手机漫游到某个合作夥伴运营商网络时,在手机屏幕上显示运营商名称。

注:在手机上显示的运营商名称有以下三种:

OPN 是指此SIM卡的提供商名称;

PLMN 当前注册的网络提供商名称;

SPN 服务提供商名称;

OPNSPN都是提前预置在SIM卡中的;网络提供商和服务提供商可能不是同一个企业,所以有时需要单独显示SPN

·自动检测设备型号或者IMEI,用於内容配置和设备改动检测。

·微型浏览器∶一种基於SIM的、可以显示WAP内容,适用於多种服务例如游戏、信息娱乐、票务和移动银行。内容页面可以保存在SIM卡中,并通过无线方式刷新。

例如,SmartTrust 的无线互联网浏览器(WIB)就是一种已经被大部分SIM卡制造商所采用的微型浏览器标准。SimAlliance's ToolkitS@T)是另外一种微型浏览器标准。

·按照OMA DM 1.2标准的规定,利用SIM加载设备管理操作(例如选择所要使用的服务器)。

·内容供应应∶Celltick LiveScreen是一种可以在用户的手机处於闲置模式时,通过广播信道向其显示交互式优惠广告内容的应用。用户只需点击一次,就可以响应所显示的内容(文字和图片),访问一个可以提供更多信息的WAP页面,下载铃声,或者致电呼叫中心以获取关於所显示消息的更多信息。

===================================================

综述:

手机上对运营商名字的显示完全可以做为一个运营商的品牌宣传手段。特别是现在虚拟运营商越发增多,很多虚拟运营商并不希望出现合作伙伴,同时也是竞争对手的名字。在这种情况下,手机是如何决定显示哪些内容,就需要有一个详细的说明。本文综合各个规范,进行一定的探索。

总览:

根据TS 22.101,手机在显示运营商信息时,一共有三个选择,优先级从高到低排列。

1. (U)SIM卡中存放的PLMN和PNN内容。具体显示哪个内容根据SPN文件设置以及当前登陆网络决定。
2. 网络下发MM中的数据
3. ME制造时预置的PLMN以及对应的显示名称

事实上,我还见过第四种显示方式,就是直接显示MCC+MNC。例如中国移动前几年刚启用460 02的时候,很多手机不能识别,就直接把这个组合显示出来。

注:手机在注册的时候,网络下发给手机的MM信息(Miscellaneous Messages):

  • Full name for network
  • Short name for network
  • Local time zone
  • Universal time and local time zone
  • LSA Identity
  • Network Daylight Saving Time

(U)SIM相关文件的作用如下

1. EF_6F46_SPN

b1=0: 当注册PLMN为HPLMN或者EF_SPDI所存PLMN时,不显示PNN
b1=1: 当注册PLMN为HPLMN或者EF_SPDI所存PLMN时,显示PNN
b2=0: 当注册PLMN既不是HPLMN也不是EF_SPDI所存PLMN时,显示SPN
b2=1: 当注册PLMN既不是HPLMN也不是EF_SPDI所存PLMN时,显示SPN
其他:RFU

前提:根据ETSI规范,

在HPLMN时,默认需要显示SPN;
在VPLMN时,默认需要显示PNN

2. EF_6FCD_SPDI

此文件中存放的PLMN手机进行显示时,等效视为HPLMN

3. EF_6FC5_PNN

用于存放Full Name和Short Name以替换手机内存所存或者网络下发的对应值。

4. EF_6FC6_OPL

如果卡内不存在此文件,则以6FC5的第一条记录替换HPLMN或者EPLMN的内容。

如果此文件存在,则以Byte 1-7指示PLMN, Byte 8指示对应的Full Name/Short Name。

其他

新增两个文件EF_6FDE_SPNI和EF_6FDF_PNNI,可以支持图标显示。

实用举例

Q: 如果有一个虚拟运营商,它在自己的国家X省使用自己的网络(MCC=123,MNC=01),在其他地方租用别的运营商的网络。在Y省租用MNOY(MCC=123,MNC=02)的
网络,在Z省租用MNOZ的网络(MCC=123,MNC=03)。它要求在XY省只显示MVNO A,在Z省显示MVNO A和MVNO
A+,漫游出国的时候显示MVNO A和漫游伙伴的名字。请问,我们在USIM卡中应该如何设置(假设手机能够完美的支持SPDI和PNN的要求)?

A:

1. 将SPN的第一个字节设置为00
2. 将PLMN Y(MCC=123, MNC=02)放入EF_6FCD_SPDI文件
3. 在EF_6FC5_PNN中存入MVNO A+
4. 将PLMN Z(MCC=123, MNC = 03)放入EF_6FC6_OPL,并指向PNN文件的对应记录

参考规范:

ETSI TS 124.008 V7.4.0
ETSI TS 122.101 V9.11.0

ETSI TS 131.102 V10.3.0

SIM卡应用-OPN,PLMN,SPN的更多相关文章

  1. android 读取用户号码,手机串号,SIM卡序列号

    简介: IMSI:international mobiles subscriber identity国际移动用户号码标识,这个一般大家是不知道,GSM必须写在卡内相关文件中:MSISDN:mobile ...

  2. MTK Android 读取SIM卡参数,获取sim卡运营商信息

    android 获取sim卡运营商信息(转)   TelephonyManager tm = (TelephonyManager)Context.getSystemService(Context.TE ...

  3. Android 读取SIM卡参数

    package com.water.activity; import java.util.List; import android.app.Activity; import android.os.Bu ...

  4. Android开发之获取手机SIM卡信息

    TelephonyManager是一个管理手机通话状态.电话网络信息的服务类.该类提供了大量的getXxx(),方法获取电话网络的相关信息. TelephonyManager类概述: 可用于訪问有关设 ...

  5. Android 手机卫士--绑定sim卡序列号

    现在开始具体 处理每一个导航页面的逻辑,首先看第二个导航页 本文地址:http://www.cnblogs.com/wuyudong/p/5949775.html,转载请注明出处. 这里需要实现绑定s ...

  6. Android 判断SIM卡属于哪个移动运营商

    第一种方法:获取手机的IMSI码,并判断是中国移动\中国联通\中国电信 TelephonyManager telManager = (TelephonyManager) getSystemServic ...

  7. 获取sim卡序列号

    //获取sim卡序列号TelephoneManager TelephonyManager manager = (TelephonyManager)getSystemService(Context.TE ...

  8. Android本机号码及Sim卡状态的获取

    SIM卡存储的数据可分为四类:第一类是固定存放的数据.这类数据在移动电话机被出售之前由SIM卡中心写入,包括国际移动用户识别号(IMSI).鉴权密钥(KI).鉴权和加密算法等等.第二类是暂时存放的有关 ...

  9. TelephonyManager类:Android手机及Sim卡状态的获取

    TelephonyManager这个类很有用,可以得到很多关于手机和Sim卡的信息. 直接上注释后的代码,请享用 package net.sunniwell.app;import android.ap ...

随机推荐

  1. GTC China 2016观感

    上周二在北京参加了GTC China 2016,最大的感受就是一个字,“冷”!黄教主一如既往坚持机车皮夹克装,9月中旬的北京还没有那么的冷啊,感觉全场的空调简直是为他而开...好的,以上吐槽完毕,接着 ...

  2. iOS-WKWebView携带cookie发送http请求,cookie失效

    发送请求代码: NSString *testUrl = @"http://10.22.122.7:8081/test2_action/view_index"; NSURL *url ...

  3. Java-马士兵设计模式学习笔记-代理模式-动态代理 修改成可以任意修改代理逻辑

    一.概述 1.目标:动态代理的代理逻辑可以任意修改 2.思路: (1)要把代理逻辑抽离,站在jvm的角度思考,应独立出InvocationHandler接口,并接收被代理的对象及方法作为参数invok ...

  4. (三)用Normal Equation拟合Liner Regression模型

    继续考虑Liner Regression的问题,把它写成如下的矩阵形式,然后即可得到θ的Normal Equation. Normal Equation: θ=(XTX)-1XTy 当X可逆时,(XT ...

  5. 转Java 回调函数的理解

    所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数.例如Win32下的窗口过程函数就是一个典型的回调函数.一般说来,C ...

  6. CTS FAIL(一)

    首先简单介绍下CTS:全称Compatibility Test Suite,通过CTS测试,来检测android apk与android系统的兼容性. 最近公司release一版新的Image,但在新 ...

  7. 命令rm

    mv -r 递归删除文件夹内所有东西mv -i 交互式删除mv -f 强制删除,没有警告提示

  8. Service层和DTO层的作用

    Service层主要提供的几个作用:1.将业务逻辑层进行封装,对外提供业务服务调用.2.通过外观模式,屏蔽业务逻辑内部方法.3.降低业务逻辑层与UI层的依赖,业务逻辑接口或实现的变化不会影像UI层.4 ...

  9. iOS开发——实时监控网速(仅作参考,发现一点问题)

    开发中用到获取网速的地方,应该就两种: 1.下载速度,这种可以直接在接受数据的地方统计计算.这个就不讲了. 2.获取手机网卡的数据,可以监控网卡的进出流量,下面就是. #import "Vi ...

  10. APP---发布动态、朋友圈类似,多张图片动响应式正方形展示布局 vue.js,aui.css,apiclouv

    环境:vue.js,aui.css,apicloud 1.没做控制之前.图片真实长度宽度. 2.下面用js控制高度 js部分 //js 部分 //先动态的获取属性宽度 var box4_col3 = ...