论坛管理员
|
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正在整理
__________________
让世界倾听我们的笛声
|