ESN上报程序流程.doc_第1页
ESN上报程序流程.doc_第2页
ESN上报程序流程.doc_第3页
ESN上报程序流程.doc_第4页
ESN上报程序流程.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电信ESN上报程序流程需求类似于GSM的IMEI,ESN是唯一地标识CDMA移动台设备的号码。获得ESN信息,即可间接地分析用户所使用的CDMA手机型号,能够为客户服务、市场策略提供分析数据。因此,要求卡片在插到一部新的手机后,上发短信,通报手机的ESN。发送条件(1).ESN文件已更新,且更新前、后的值不同。(2).手机完成CAVE鉴权。(3).完成SetUpMenu命令。发送时机在上述三个条件都满足后,卡片在第一个GET RESPONSE指令执行完成时,自动发送MO至指定TPDA。如果上述MO发送未成功,则当用户第一次进入一级菜单后,再自动发送该MO至指定TPDA。若发送仍未成功,则以后进入不再发送。用户在进入一级菜单时,应先发送MO至指定TPDA,等待命令执行结果后,执行应当执行的主动式命令。发送内容短信类别为:Point-to-Point指定TPDA为9992 MO上行信息格式为:3bytes1byte7bytes15bytes1byte“ESN”ESN lengthESN numberIMSI卡商字母代码数据项解释:ESN, 关键字,标志为一类特殊短信,按ASCII编码;ESN Length, 为获取的ESN的具体字节数,4/7;ESN Number, 为获取的ESN值,如果是32bit的ESN,则后3个字节设为00;IMSI, 为卡片上存储的一个网络数据,15位长数字,如4600309XXXXXXXX,按ASCII编码;卡商字母代码,为给各卡商分配的一位字母代码,按ASCII编码。相关的标准文件相关的标准文件为DFcdma 7F25下的 ESN_ME 6F38 和IMSI_M 6F22文件。格式定义如下:标识符:“6F38”结构:二进制必选项文件大小:8字节更新频度:低访问条件:READALWUPDATECHVINVALIDATEADMREHABILITATEADM字节描 述M/O长度(字节)1后续有效字节数 4/7M12最低字节M13:M14:M15:M16:O17:O18最高字节O1标识符:“6F22”结构:二进制必选项文件大小:10字节更新频度:低访问条件:READCHV1UPDATEADM INVALIDATEADMREHABILITATECHV1字节描 述M/O长度(字节)1IMSI_M_CLASSpM12-3IMSI_M_S2 from IMSI_M_SpM24-6IMSI_M_S1from IMSI_M_SpM37IMSI_M_11_12pM18IMSI_M_PROGRAMMED / IMSI_M_ADDR_NUMpM19-10MCC_MpM2具体编码格式参考CS0023和TIA95B规范。新增配置文件标识符:“6F01”结构:二进制必选文件大小:20字节更新频度:高访问条件:READADMUPDATEADMINVALIDATEADMREHABILITATEADM字节描 述M/O长度(字节)1标记UIM卡是否接收到新的ESN 00/FFM12标记STORE_ESN指令是否执行 01/FFM13标记RUN_CAVE指令是否执行 01/FFM14标记SetupMenu指令是否执行 01/FFM15标记是否发送ESN上报短信 00表示发送成功,01表示满足三个必要条件,02表示可以发送。M16标记是否已经由AOC2指令激活发送过上报短信,01为发送过,FF为未发送过M17-20ESN上报目的地址 TPDA, LV格式(偏移2 bit)M14COS支持卡片复位后(接收APDU命令5个字节后数据接收前):查找2700/6F01文件,擦除前4个字节。STORE_ESN(A0DE)指令:在原有更新7F25/6F38文件后,如果更新的内容与原有指不同,则修改2700/6F01文件的第1个字节为0x00,跳转到6F15文件第4段执行STK程序。RUN_CAVE(A088)指令:在接收数据前,跳转到6F15第4段,执行STK程序。GET_RESPONSE(A0C0)指令:在所有的数据全部取走后,判断如果2700/6F01文件的第5个字节为0x01,则跳转到6F00第6段,执行STK程序。STK程序流程6F00第2段:SetUpMenu之后跳转到6F15第4段,更新6F01标记;/= 添加ESN上报程序到6F15的跳转,添加在6F00第2段之后的SetUpMenu之后 SetVarExtend&($61,01) / flag for A010 command JmpAbsEF(04,00,15)6F00第4段:在显示二级菜单前,判断如果上次ESN上报失败,进入6F15第1段重新上报后返回,否则顺序执行。SaveSMToVar($DE) /= 判断ESN上报是否发送成功,不成功再发, 添加在6F00 第4段的开头 SetVarExtend&($63,27006F010104010000)ReadFile($63,$63)StkBranchVar&($63,(02/01) / 上次发送失败,继续发送 goto(GOTOLAB00)SetVar&($53,04Ajmplab0000)JmpAbsEF(01,00,15)lab00:6F00第6段:由COS在A0C0 后根据6F01的第5个字节为0x01时跳入该段,读出发送标记,如果为“02”已经发送则退出,否则重置6F01文件前5字节为0xFFFFFFFF02,进入6F15第1段进行发送。/= ESN上报处理程序,判断如果可以发送,跳转到6F15第1段进行发送 SetVar&($62,27006f010100010004)ReadFile($63,$62)StkBranchVar($63,(02/gotolab99) / 发送过,但是失败了,退出 SetVar&($62,27006F010500010000)SetVar&($63,ffffffff02)WriteFile($63,$62)DelVar($53) / clear return address JmpAbsEF(01,00,15)lab99:Exit()6F15第1段:转换IMSI_M,读出6F01中发送标记,如果为可以发送则继续;读出ESN、开机问候语、发送地址,组织短信内容进行发送;6F15第2/3段:转换IMSI_M为15字节的ASCII码;6F15第4段:程序流程描述如下:If ( isNewESN() ) / 新ESN处理 Swith (APDUCommand) case: 0xDE SetA0DEFlag(); if ( OKSendFlag or isSentFlag) / 可以发送 或者 发送过但失败 ClearSendFlag(); goto THREE; else if ( SentSuccessFlag ) / 已经发送成功 ClearSendFlag(); ClearA088Flag(); ClearA010Flag(); Exit else goto THREE; case: 0x88 setA088Flag(); goto THREE; case: 0x10 setA010Flag();THREE: / 判断3个必要条件 if notOKSend () exit; / 不满足3个条件,退出 else if isSentFla

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论