iphonesubinfo服务研究

<h2 align = "center">iphonesubinfo相关研究</h2>


概述:在PhoneApp启动时,会构建PhoneGlobals,PhoneGlobals构建时,调用PhoneFactory. makeDefaultPhones构建Phone对象,同时也会对ProxyController进行初始化,ProxyController会构造PhoneSubInfoController。

PhoneSubInfoController就是本文的主角,它是服务iphonesubinfo的实现者,并且在PhoneSubInfoController创建时,通过ServiceManager将iphonesubinfo服务的binder接口添加尽了系统服务中。

总的来说,iphonesubinfo服务是提供SIM卡信息查询的接口。

服务的主要责任

服务主要是对外提供SIM卡信息的查询功能,包括但不限于:deviceId(IMEI for GSM),nai(可为空),imei,deviceSvn(IMEI/SV for GSM),SubscriberId(IMSI for GSM), IccId, Line1Number(电话号码), Msisdn,VoiceMailNumber,CompleteVoiceMailNumber,Isim信息,Usim信息.

下面主要对GSM类型的手机进行分析:

deviceId 设备唯一标识

即SIM卡槽的IMEI码,另外在CDMA手机上,是MEID码;每一个卡槽都有一个IMEI码,换卡IMEI不变。

NAI 接入点网络 Network Access ID

NAI的全称是Network Access Identifier,为接入点网络,手机通过NAI上网接入网络。用户通过移动终端选择不同的NAI 可实现不同的网络接入方式,并可访问不同业务。

目前中国电信主要的NAI 为CTNET、CTWAP。

IMEI GSM手机上的设备唯一标识码

如果没有设置,可能为空;在支持GSM的手机上都会设置该码。

DeviceSvn IMEI/SV

手机SIM卡槽的软件版本号,例如IMEI/SV;每一个卡槽对应一个IMEI/SV

SubscriberId 唯一的SubscriberId

SIM卡的唯一订阅ID,GSM上是IMEI码。

ICCID 由一串十进制数字和一串十六进制数字组成

iccId 是不包含十六进制字符的iccId, fullIccId是包含十六进制的iccId。

Line1Number 手机号码

Line1Number 表示卡的手机号码,在GSm卡上是 MSIDN 码, 在CDMA卡上是 MDN码。

MSIDN

在GSM卡上是手机号码,即和Line1Number的值一样;在CDMA卡就是独立的MSIDN码;所以如果需要MSIDN码,在CDMA卡上可以通过这个接口获取。

VoiceMailNumber 语音信箱

去除了网络部分的语音信箱

CompleteVoiceMailNumber 完整的语音信箱

包含网络部分

ISIM (IMS Subscriber Identity Module)

多媒体业务身份模块

  1. IMPI (IMS private user identity) IMS服务的私有用户id
  1. Domain (IMS home network domain name) IMS服务网络的域名
  1. IMPU (an array of IMS public user identities) 一组共有用户id
  1. IST (IMS Service Table ) IMS 服务表
  1. PCSCF (IMS Proxy Call Session Control Function) IMS 代理呼叫会话控制功能
  1. ChallengeResponse (the response of ISIM Authetification through RIL) ISIM通过RIL进行验证的结果
  1. (MTK添加) GBABP (GBA bootstrapping parameters) GBA引导的参数
  1. (MTK添加) PSISMSC (the Public Service Identity of the SM-SC) SM-SC的公共服务id

USIM(Universal Subscriber Identity Module)

通用业务身份模块

  1. getUsimService(int service, String callingPackage) 服务是否可用,传入的service是frameworks/opt/telephony/src/java/com/android/internal/telephony/uicc/UsimServiceTable.java表中的枚举的索引值。
  1. Gbabp (GBA bootstrapping parameters) GBA引导参数
  1. PSISMSC (the Public Service Identity of the SM-SC) SM-SC的公共服务id
  1. SMSP 短信息中心
  1. MNC 移动网号

服务的调用

下面是一个调用服务的例子

        IPhoneSubInfo iPhoneSubInfo = IPhoneSubInfo.Stub.asInterface(ServiceManager.getService("iphonesubinfo"));
        try {
            android.util.Log.d("Seven", "My package name: " + getPackageName());
            String number = iPhoneSubInfo.getLine1NumberForSubscriber(
                    SubscriptionManager.getDefaultSubId(),
                    getPackageName()
            );
            android.util.Log.d("Seven", "My default phone number is: " + number);
        } catch (RemoteException e) {
            e.printStackTrace();
        }

由于该服务没有注册到SystemService里面,所以,对于非依赖系统编译的第三方应用,无法直接访问该服务。因为只能通过ServiceManager.getService()的方式获取Binder接口。

另外需要说明的是:一个sim卡插入手机内,会在数据库中生成一条Subscription记录,subId就是该条记录的ID。每个手机卡的subId都是唯一的,即使把手机卡拔了,该条记录也一直存在。

slotId, phoneId, subId 的关系

slotId 和 phoneId 一一对应, 假设有2个卡槽, 那么slotId 为 0, 1;卡槽1的phoneId 为 0, 卡槽2的phoneId为 1。

一个卡槽对应着多个subId,因为该卡槽可能曾经插过多张不同的卡。

所以我们可以通过phoneId查询subId。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,347评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,435评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,509评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,611评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,837评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,987评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,730评论 0 267
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,194评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,525评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,664评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,334评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,944评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,764评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,997评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,389评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,554评论 2 349

推荐阅读更多精彩内容