2012-08-26 | #1 (permalink) |
论坛管理员
注册日期: 2009-06-30
帖子: 861
|
Sim卡有关文档(整理)
短信部分
短信部分 Sim卡知识 Sim卡有关文档(整理) 一,基本资料 尺寸为25mmx15mm,SIM卡可以插入任何一部符合GSM规范的移动电话中。 二,物理结构 1.引脚:SIM卡引脚,分别为 *电源(Vcc) *时钟(CLK) *数据I/Q口(Data) *复位(RST) *接地端(GND),请大家补充 2.结构:CPU(8位)+程序存储器ROM(6-16kbit)+工作存储器RAM(128-256kbit)+数据存储器EEPROM(2-8kbit)+串行通信单元 厂商SIM卡型号中央处理器 ROM RAM EEPROM 摩托罗拉 SC21 8位 6kbit 128kbit 3kbit Sc27 8位 12kbit 240kbit 3kbit Sc28 8位 16kbit 240kbit 8kbit 日立 H8/3101 8/16位 10kbit 256kbit 8kbit Thomson ST16612 8位 6kbit 128kbit 2kbit ST16 8位 16kbit 256kbit 8kbit 3.电源: 当开启电源期间,按以下次序激活各触点:RST低电平状态;Vcc加电;I/O口处于接收状态;Vpp加电;提供稳定的 时钟信号。当关闭电源时,按如下次序工作:RST低电平状态;CLK低电平状态;Vpp去电;I/O口低电平状态;Vcc掉电。 4.SIM卡能够储存多少电话号码取决于卡的EEPROM的容量(有2K、3K、8K容量),若有8KB的存储容量,可供储存以下信息: *100组电话号码及其对应的性名文字; *15组短信息(Short Message); *25组以上最近拨出的号码; *4位SIM卡密码(PIN)。 5.SIM卡背面上20位数字所代表的含义如下: *前6位(898600):是中国的代号; *第7位:业务接入号,对应于135、136、137、138、139中的5、6、8、9; *第8位:SIM卡的功能位:一般为0,现在的预付费SIM卡为I; *第9、10位:各省的编码; *11、12位:年号; *13位:供应商代码; *14-19位:用户识别码; *20位:校验位。 三,存储信息 SIM卡内保存的数据可以归纳为以下四种类型: 1. 由SIM卡生产厂商存入的系统原始数据。 2. 由GSM网络运营部门或者其他经营部门在将卡发放给用户时注入的网络参数和用户数据。包括: *鉴权和加密信息Ki(Kc算法输入参数之一:密匙号); *国际移动用户号(IMSI); *A3:IMSI认证算法; *A5:加密密匙生成算法; *A8:密匙(Kc)生成前,用户密匙(Kc)生成算法; 3. 由用户自己存入的数据。比如,短消息、固定拨号,缩位拨号,性能参数,话费记数等。 4. 用户在用卡过程中自动存入和更新的网络接续和用户信息类数据。 包括最近一次位置登记时的手机所在位置区识别号(LAI),设置的周期性位置更新间隔时间,临时移动用户号(TMSI)等。 这些数据都存放在各自的目录项内,第一类数据放在根目录,当电源开启后首先进入根目录,再根据指令进入相关的子目录, 每种目录极其内部的数据域均有各自的识别码保护,只有经过核对判别以后才能对数据域中的数据进行查询,读出和更新。上面第一类 数据通常属永久性的数据,由SIM卡生产厂商注入以后无法更改,第二类数据只有网络运行部门的专门机构才允许查阅和更新,再第三 、四类数据中的大部分允许用户利用任何手机对其进行读/写操作。 At指令集合 短消息相关指令(转) 短消息相关指令CSMS 选择信息服务 0兼容GSM07.05 Phase 2 version 4.7.0 1兼容GSM07.05 Phase 2+ version AT+CSMS=0 +CSMS: 1,1,1 AT+CSMS=1 +CSMS: 1,1,1 SMS-MO SMS-MT SMS-CB(小区广播) 全部支持 CNMA 新SMS收到确认 CPMS 首选的SMS存储区 SM为SIM卡区,BM为内存区,缺省为SM AT+CPMS=?+CPMS: (("SM","BM"),("SM")) AT+CPMS="SM" +CPMS: 3,25,3,25 AT+CPMS="BM" +CPMS: 0,20,3,25 (1)为读和删的信息 (2)为写和发的信息 已用1,总共1,已用2,总共2 CMGF 设置SMS编码方式(1文本格式,0为PDU格式) CSAS 存储CSCA与CSMP的相关信息于E2PROM CRES 从E2PROM中恢复相关信息 CSDH 显示文本格式参数(1为显示,0为不显示) AT+CDSH=1 +CMT: "+8613501154105",,"01/09/12,18:04:09+32",145,4,0,0,"+8613800100500",145,3 AAA AT+CSDH=0 +CMT: "+8613501154105",,"01/09/12,18:04:48+32" AAA 相关的信息有+CMTI,+CMT,+CDS,+CMGR,+CMGL 左边两个例子同样是发送和接收AAA为内容的SMS CNMI SMS的输出方式 AT+CNMI=2,2,0,0,0 +CMT: "+8613501154105",,"01/09/13,11:04:09+32" AAA AT+CNMI=2,1,0,0,0 +CMTI: "SM",4其中第2位决定SMS直接输出还是保存于"SM"中 左边两个例子同样是发送和接收AAA为内容的SMS,为0则不接收 CMGR 读取存于"SM"中的信息 AT+CMGR=1 +CMGR: "REC READ", "+8613501154102",,"01/08/14,10:46:47+32" X000E8 AT+CMGR=4 +CMGR: "REC UNREAD", "+8613501154105",,"01/09/13,11:02:06+32" AAA AT+CMGR=2 +CMGR: "REC READ", "+8613501154105",,"01/08/23,16:32:34+32" DCS format error at+cmgf=0;+cmgr=2 +CMGR: 1,,26 0891683108100005F0040D91683105114501F500081080326123432306004400460044 读取第1条 来源13501154102 读取第4条 来源13501154105 读取第2条时遇到DCS格式错误,转成PDU格式后,读出数据 来源13501154105 CMGL 信息列表,(+CMGL:索引,类型,,长度<内容>) AT+CMGL=4 +CMGL: 1,1,,26 0891683108100005F0040D91683105114501F20000108041016474230658180C56C401 +CMGL: 2,1,,26 0891683108100005F0040D91683105114501F500081080326123432306004400460044 +CMGL: 3,1,,32 0891683108100005F0040D91683105114501F50008108032617492230C003400310032003100320033 +CMGL: 4,1,,23 0891683108100005F0040D91683105114501F500001090311120602303C16010 类型 "REC UNREAD" 0 "REC READ" 1 "STO UNSENT" 2 "STO SENT" 3 "ALL" 4 CMGS 发送SMS,可按文本方式或PDU方式 AT+CMGF=1 OK AT+CMGS=13501154105 > AAA<^Z> +CMGS: 204 OK AT+CMGF=0 OK AT+CMGS=18 >0011000D91683105114501F500040103414141<^Z> +CMGS: 205 OK 按文本方式发送 按PDU方式发送 CMGW 写信息到存储器 AT+CMGW="+8613501154105" > AAA<^Z> +CMGW: 5 OK AT+CMGW=<lengh><CR><pdu><^Z> 按文本方式写入 按PDU方式写入 CMSS 从存储器中发送信息 AT+CMSS=5 +CMSS: 207 OK +CMT: ,23 0891683108100005F0040D91683105114501F500001090316163932303C16010 AT+CMSS=5,+8613501154102 +CMSS: 210 OK 发送存储器中的第5条信息 收到信息 也可将第5条信息发送到指定用户 CSMP 设置文本格式参数,+CSMP:<fo><vp><pid><dcs> AT+CSMP? +CSMP: 1,167,0,0 OK 其中为信息有效期,167默认 0-143:(VP+1)*5分钟 143-167:12小时+(VP-143)*30分钟 168-196:(VP-166)*1天 197-255:(VP-192)*1周 CMGD 删除信息,AT+CMGD=<索引> CSCA 短信息服务中心号码 at+csca? +CSCA: "+8613800100500",145 OK 北京短信息服务中心号码 CSCB 选择小区广播信息类型 WCBM 小区广播信息标识符 WMSC 信息状态更正 WMGO 信息重写 (本人调试) 一 。短信 1. 接收短消息 设置两种接受模式 1 .AT+CNMI=2,1,0,0,0 接受并存到 SIM 串口接受到以下信息: +CMTI:"SM",X AT+CMGR=X回车 (从X存储区读短消息) AT+CMGD=X回车 (从X存储区删除短消息) PDU状态: at+cmgf=0 OK +CMTI: "SM",1 at+cmgr=1 +CMGR: 0,,24 0891683108501705 F0240D91683157805300F50000502082000281000462F11804 OK 文本状态: +CMGR: "REC READ","+86 13750835005",,"05/02/28,0:20:18+00" bbc OK 设置两种接受模式 2 .AT+CNMI=2,2,0,0,0 接受并直接到串口 串口接受到以下信息: +CMT: "+8613501154105",,"01/09/13,11:04:09+32" AAA 2.检测当前状态 AT+CPAS 返回 +CPAS: 0 ,准备就绪 +CPAS: 1 ,不允许命令 +CPAS: 2 ,未知 +CPAS: 3 ,振铃 +CPAS: 4 ,通话 +CPAS: 5 ,asleep 串口接受到以下信息: RING 或者 RING +CLIP: "13989474537",129 2. 发送短信 <1>直接发短信 Txext模式: AT+CMGF=1 然后 AT+CMGS=8613750835000 >SMScon<^Z> PDU模式: AT+CMGF=0 然后 AT+CMGS=18 >0011 000D 9168 3157 8053 00F5 0004 0103 4141 41<^Z> 说明:18是PDU长度 17 + 1 0011000D91683157805300F500040103414141 <2>先写到SM,然后再发 Txext模式: AT+CMGW="+8613750835000" >SMScon<^Z> 返回: +CMGW: 5 OK AT+CMSS=5 或者 AT+CMSS=5, +8613750835000 PDU模式: AT+CMGW=<lengh><CR><pdu><^Z> 然后 AT+CMSS=5 二.通话 1,拨号 ATD13xxxxxxxxx; 状态:返回: 无这个号码,对方关机,挂断 NO CARRIER 不接一直延续无返回 接听,然后挂断 OK ,然后 NO CARRIER 2,接听 ATA 返回: RING OK NO CARRIER 3,挂断 ATH 返回: RING OK 三 PDU 详解居然发现发送短信和接受短信的PDU编码是不同的,晕 发送短信 PDU 08 91 683108701305F0 11 00 0D 91 3176378290F9 00 00 00 02 C834 或者 0011000D91683157805300F5 00 04 01 03414141 第一个是 中心号码长度 粉色是中心号码,可以为空 第二个是 1100 11&h=00010001&b BIT No. 7 6 5 4 3 2 1 0 Name TP-RP TP-UDHI TP-SPR TP-VFP TP-RD TP-MTI Value 0 0 0 1 0 0 0 1 应答路径—TP-RP(TP-Reply-Path):0—不设置; 1—设置 用户数据头标识—TP-UDHL(TP-User-Data-Header-Indicator):0—不含任何头信息; 1—含头信息 状态报告要求—TP-SPR(TP-Status-Report-Request):0—需要报告; 1—不需要报告 有效期格式—TP-VPF(TP-Validity-Period-Format):00—不提供(Not present); 10—整型(标准); 01—预留;11—提供8位字节的一半(Semi-Octet Represented) 拒绝复制—TP-RD(TP-Reject-Duplicates):0—接受复制; 1—拒绝复制 信息类型提示—TP-MTI(TP-Message-Type-Indicator):00—读出(Deliver); 01—提交(Submit) 00— 信息类型(TP-Message-Reference) 第三个 0D 91 3176378290F9 目的号码或来源号码 第四个 00 00 00 例子:00 04 01 <1> 00—协议标识TP-PID(TP-Protocol-Identifier) BIT No. 7 6 5 4 3 2 1 0 Bit No.7与Bit No.6: 00—如下面定义的分配Bit No.0—Bit No.5;01—参见GSM03.40 协议识完全定义;10—预留;11—为服务中心(SC)特殊用途分配Bit No.0—Bit No.5。 一般将这两位置为00。 Bit No.5:0—不使用远程网络,只是短消息设备之间的协议;1—使用远程网络。 Bit No.0—Bits No.4:00000—隐含;00001—电传;00010—group 3 telefax;00100—语音;00101—欧洲无线信息系统(ERMES);00110—国内系统;10001—任何基于X.400的公用信息处理系统;10010—Email。 <2> 00—数据编码方案TP-DCS(TP-Data-Coding-Scheme) BIT No. 7 6 5 4 3 2 1 0 Bit No.7与Bit No.6 :一般设置为00;Bit No.5:0—文本未压缩,1—文本用GSM标准压缩算法压缩;Bit No.4:0—表示Bit No.1、Bit No.0为保留位,不含信息类型信息,1—表示Bit No.1、Bit No.0含有信息类型信息;Bit No.3与Bit No.2:00—默认的字母表,01—8bit,10—USC2(16bit),11—预留;Bit No.1与Bit No.0:00—Class 0,01—Class 1,10—Class 2(SIM卡特定信息),11—Class 3。 7 0X 20 8 0X 04 U 0X 08 <3> 00—有效期TP-VP(TP-Valid-Period) VP value(&h) 相应的有效期 00 to 8F (VP+1)*5 分钟 90 to A7 12小时+(VP-143)*30分钟 A8 to C4 (VP-166)*1天 C5 to FF (VP-192)*1 周 第五个 短信长度及内容 实例分析 一 08 91 683108701305F0 11 00 0D 91 3176378290F9 00 00 00 02 C834 或者 0011000D91683157805300F5 00 04 01 03414141 0891683108200805F011190D91683188902848F40008FF108FD9662F4E0067616D4B8BD577ED4FE 接收短信 PDU 0891683108200805F0040D91683188902848F4000850208151754500108FD9662F4E0067616D4B8BD577ED4FE1 短信中心地址字段0891683108200805F0:+861380280500 FirstOctet 11&h=00010001&b BIT No. 7 6 5 4 3 2 1 0 Name TP-RP TP-UDHI TP-SPR TP-VFP TP-RD TP-MTI Value 0 0 0 1 0 0 0 1 应答路径—TP-RP(TP-Reply-Path):0—不设置; 1—设置 用户数据头标识—TP-UDHL(TP-User-Data-Header-Indicator):0—不含任何头信息; 1—含头信息 状态报告要求—TP-SPR(TP-Status-Report-Request):0—需要报告; 1—不需要报告 有效期格式—TP-VPF(TP-Validity-Period-Format):00—不提供(Not present); 10—整型(标准); 01—预留;11—提供8位字节的一半(Semi-Octet Represented) 拒绝复制—TP-RD(TP-Reject-Duplicates):0—接受复制; 1—拒绝复制 信息类型提示—TP-MTI(TP-Message-Type-Indicator):00—读出(Deliver); 01—提交(Submit) 发送方号码0D91683188902848F4:+8613880982844 协议标识00 TP-DCS 点对点 编码方式08 TP-DCS Unicode编码 短信中心时间戳 50208151754500 TP-SCTS 字节反转05/02/18 15:57:45 最后的00代表时区,这里为0 用户数据长度 10 TP-DHL 用户数据 8FD9662F4E0067616D4B8BD577ED4FE1 TP-UD 中文"这是一条测试短信"的Unicode编码 补充代码(Delphi) Wap Push正在整理
__________________
让世界倾听我们的笛声 |