资源描述
一、 CRSM标准AT命令
Restricted SIM access +CRSM
Table 2: +CRSM action command syntax
Command
Possible response(s)
+CRSM=<command>[,<fileid>
[,<P1>,<P2>,<P3>[,<data>]]]
+CRSM: <sw1>,<sw2>[,<response>]
+CME ERROR: <err>
+CRSM=?
Description
By using this command instead of Generic SIM Access +CSIM TE application has easier but more limited access to the SIM database. Set command transmits to the MT the SIM <command> and its required parameters. MT handles internally all SIMMTinterface locking and file selection routines. As response to the command, MT sends the actual SIM information parameters and response data. MT error result code +CME ERROR may be returned when the command cannot be passed to the SIM, but failure in the execution of the command in the SIM is reported in <sw1> and <sw2> parameters. Refer to subclause 9.2 for <err> values.
Coordination of command requests to SIM and the ones issued by GSM/UMTS application inside the MT is implementation dependent. However the TE should be aware of the precedence of the GSM/UMTS application commands to the TE commands.
Defined values
<command> (command passed on by the MT to the SIM; refer GSM 51.011 [28]):
176 READ BINARY
178 READ RECORD
192 GET RESPONSE
214 UPDATE BINARY
220 UPDATE RECORD
242 STATUS
all other values are reserved
NOTE 1: The MT internally executes all commands necessary for selecting the desired file, before performing the actual command.
<fileid>: integer type; this is the identifier of a elementary datafile on SIM. Mandatory for every command except STATUS
NOTE 2: The range of valid file identifiers depends on the actual SIM and is defined in GSM 51.011 [28]. Optional files may not be present at all.
<P1>, <P2>, <P3>: integer type; parameters passed on by the MT to the SIM. These parameters are mandatory for every command, except GET RESPONSE and STATUS. The values are described in GSM 51.011 [28]
<data>: information which shall be written to the SIM (hexadecimal character format; refer +CSCS)
<sw1>, <sw2>: integer type; information from the SIM about the execution of the actual command. These parameters are delivered to the TE in both cases, on successful or failed execution of the command
<response>: response of a successful completion of the command previously issued (hexadecimal character format; refer +CSCS). STATUS and GET RESPONSE return data, which gives information about the current elementary datafield. This information includes the type of file and its size (refer GSM 51.011 [28]). After READ BINARY or READ RECORD command the requested data will be returned. <response> is not returned after a successful UPDATE BINARY or UPDATE RECORD command
Implementation
Optional.
联芯提供的CRSM命令,只支持6种操作,但实际上卡的操作类型远远多于6种,协议栈内部会把这6个命令转换成实际发送的多个命令。比如: STATUS这个命令,协议栈内部会首先发送SELECT命令到卡,以选到指定的路径,然后才是发送STATUS命令。所以以上6个操作中,文件ID一定要有。
二、 命令分析(TS 51.011,ETSI TS102221)
1. IMSI
对于想要读的内容,先要查询status。
1) STATUSI:
输入命令:AT+CRSM=242, 20423
其中,242为STATUS命令代码,20423(0x6F07)为EFIMSI (IMSI)的ID。
返回:+CRSM:
144, 0, 621C8202012183026F07A5038001318A01058B036F060280020009880138
其中:144,0表示正常返回。后面的部分为status内容,
对于3G卡,STATUS命令返回的格式是:
对应到本条命令,就是62为TAG,1C为后续字节(FCP temptate) 长度,8202012183026F07A5038001318A01058B036F060280020009880138为FCP temptate
EF文件的FCP temptate具体内容格式如下:
82020121:文件属性描述
82:标记
02:长度
01:透明文件,用read binary来读
21:固定值
83026F07:文件ID
83:标记
02:长度
6F07:文件ID
A503800131:略
8A0105:略
8B036F0602:略
80020009:文件长度
80:标记
02:长度
0009:文件大小,9字节
880138:SFI标识
2) READ BINARY
输入命令AT+CRSM=176, 20423,0,0,9
其中第一个0(p1)和第二个0(p2)表示偏移,9表示要读的字节数(与上面STATUS中80020009中09一致)。
+CRSM: 144, 0, 084906220302005000
内容解释见3GPP TS51011 EFIMSI (IMSI)
084906220302005000:
08:长度
4906220302005000:IMSI号
Bytes
Description
M/O
Length
1
Length of IMSI
M
1 byte
2 to 9
IMSI
M
8 bytes
3) UPDATE BINARY
2. SMS STATUS(EFsmss)
AT+CRSM=242,28483
+CRSM: 144,0,62258202012183026F43A506800131C001008A01058B066F060103000380020002810200168800
未满时:
AT+CRSM=176,28483,0,0,2
+CRSM: 144,0,5DFF
满:
AT+CRSM=176,28483,0,0,2
+CRSM: 144,0,5EFE
3. PHONEBOOK
1) STATUS
输入:AT+CRSM=242, 28474
其中,28474(0x6F3A)为EFADN (Abbreviated dialing numbers)ID。
返回:+CRSM: 144, 0, 621F82054221001CFE83026F3AA5038001318A01058B036F060180021BC8880110
621F:同IMSI的解释
82054221001C FE:文件属性描述
82:标记
05:长度
42:线性定长文件,用read record来读
21:固定值
001C:每个structure的长度,28字节
FE:structure的个数,254
83026F3A:文件ID
83:标记
02:长度
6F3A:文件ID
A503800131:略
8A0105:略
8B036F0601:略
80021BC8::文件长度
80:标记
02:长度
1BC8:文件大小,对于线性定长文件,其是记录长度28乘以记录的个数254。
880110:SFI标识
2) READ RECORD
输入:AT+CRSM=178, 28474, 1, 4, 28
其中,1表示record number,4表示mode为current record(见ETSI TS102221,11.1.5.2),即根据record number来读,28表示要读的长度。
返回:+CRSM: 144, 0, 80672C673AFFFFFFFFFFFFFFFFFF07813129000005F0FFFFFFFFFFFF
内容解释见3GPP TS51011 EFADN (Abbreviated dialing numbers)
Bytes
Description
M/O
Length
1 to X
Alpha Identifier
O
X bytes
X+1
Length of BCD number/SSC contents
M
1 byte
X+2
TON and NPI
M
1 byte
X+3 to X+12
Dialling Number/SSC String
M
10 bytes
X+13
Capability/Configuration1 Record Identifier
M
1 byte
X+14
Extension1 Record Identifier
M
1 byte
因为一条记录的长度是28,而根据上表,一个记录的长度又等于x+14,,所以x+14=28,所以x=14,即Alpha Identifier长度为14
80672C673AFFFFFFFFFFFFFFFFFF:Alpha标识符,用来代码号码名称
80:标识采用UINICODE编码方式
672C673A:表示汉字“本机”
FFFFFFFFFFFFFFFFFF:未用,填FF
07:长度
81:TON and NPI
3129000005F0FFFFFFFF:具体号码,未用的填FF
FFFF:Capability/Configuration1 Record Identifier和Extension1 Record Identifier
3) UPDATE RECORD
AT+CRSM=220, 28474, 1, 4, 28,80672C673AFFFFFFFFFFFFFFFFFF07813129000005F0FFFFFFFFFFFF
+CRSM: 144,0
4. SMS
1) STATUS
输入:AT+CRSM=242, 28476
其中,28476(0x6F3C)为EFSMS (Short messages)ID。
返回:+CRSM: 144, 0, 621E8205422100B01483026F3CA5038001318A01058B036F060380020DC08800
其中红色部分82为tag,05为长度,42表示linear fixed structure,用read record来读。00B0表示每个structure的长度(176),14表示structure的个数(20)。
2) READ RECORD
输入:AT+CRSM=178, 28476, 1, 4, 176
其中,1表示record number,4表示mode为current record(见ETSI TS102221,11.1.5.2),176表示要读的长度。
返回:+CRSM: 144,0,010891683108200545F90408A101565866000890104111646423705C0A656C768452A8611F57305E265BA26237003A622A81F30030003167080031003465E500300033002065F660A85F5367086D888D3991D1989D4E3A0035002E003800365143002C8BDD8D395E1062374F59989D4E3A00360035002E003900325143300200204EC54F9B53C280033002FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
内容解释见3GPP TS51011 EFSMS (Short messages)
Bytes
Description
M/O
Length
1
Status
M
1 byte
2 to 176
Remainder
M
175 bytes
01:短信状态:已读,未读等
0891683108200545F90408A101565866000890104111646423705C0A656C768452A8611F57305E265BA26237003A622A81F30030003167080031003465E500300033002065F660A85F5367086D888D3991D1989D4E3A0035002E003800365143002C8BDD8D395E1062374F59989D4E3A00360035002E003900325143300200204EC54F9B53C280033002FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:pdu串
3) UPDATE RECORD
AT+CRSM=220, 28476, 1, 4, 176, 010891683108200545F90408A101565877000890104111646423705C0A656C768452A8611F57305E265BA26237003A622A81F30030003167080031003465E500300033002065F660A85F5367086D888D3991D1989D4E3A0035002E003800365143002C8BDD8D395E1062374F59989D4E3A00360035002E003900325143300200204EC54F9B53C280033002FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+CRSM: 144,0
对于GSM卡来说,电话本
AT + CRSM = 242, 28474
+CRSM: 144, 0, 00001B586F3A04001100220102011C
1B58是文件大小,为7000;1C为每个结构大小,为28;所以包含250个结构。6F3A为文件ID。
Ext1:
AT+CRSM=242,28490
+CRSM: 144,0,000000826F4A0400110F440102010D
OK
82为文件大小,130字节;0D为结构大小,13;所以包含10个结构,能存储10个超过20个号码的电话。
下面内容见3GPP TS 31102 Annex G
对于TD卡来说,电话本EFADN是存在4F3A中(同时map到6F3A中),ext1在4F4A中。(见3GPP TS 31102 4.4.2.3,4.5.1 EFADN)
AT + CRSM = 242, 20282
+CRSM: 144, 0, 621F82054221001CFE83024F3AA5038001318A01058B036F060180021BC8880110
001C:每个structure的长度,28字节
FE:structure的个数,254
4F3A:文件ID
AT + CRSM = 242, 20298
+CRSM: 144, 0, 621F82054221000DFE83024F4AA5038001318A01058B036F060180020CE6880118
ext1结构:
字节
描述
M/O
长度
1
记录类型
M
1字节
2 to 12
扩展数据
M
11字节
13
标识符
M
1字节
读ext1中第一条记录,
AT+CRSM=178,20298,1,4,13
+CRSM: 144,0,020A1032547698103254769802
OK
02:表示此记录记录的是超出数据,而不是被叫用户子地址
0A10325476981032547698:扩展数据
0A:后面数据的长度
02:此记录链接的下一个记录
AT+CRSM=178,20298,2,4,13
+CRSM: 144,0,020A1032547698103254769803
OK
03:此记录链接的下一个记录
AT+CRSM=178,20298,3,4,13
+CRSM: 144,0,020A10325476981032547698FF
OK
FF:此记录为当前记录的最后一部分
Tag Value
TAG Description
'C0'
EFADN data object
'C1'
EFIAP data object
'C2'
EFEXT1 data object
'C3'
EFSNE data object
'C4'
EFANR data object
'C5'
EFPBC data object
'C6'
EFGRP data object
'C7'
EFAAS data object
'C8'
EFGAS data object
'C9'
EFUID data object
'CA'
EFEMAIL data object
'CB'
EFCCP1 data object
AT+CRSM=242,20272
+CRSM: 144,0,621E8205422100780483024F30A5038001318A01058B036F0602800201E08800
OK
4F30:读的是EFPBR
EFPBR第一条记录:
AT+CRSM=178,20272,1,4,120
+CRSM: 144,0,A82DC0034F3A02C1034F0808C5034F0904C6034F2605C4034F1106C4034F120BC4034F130CC3034F1907C9034F210AA905CA034F500EAA12C2034F4A03C7024F4BC8024F4CCB034F3D09FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
OK
EFPBR第二条记录:
AT+CRSM=178,20272,2,4,120
+CRSM: 144,0,A82DC0034F3B12C1034F5818C5034F5914C6034F7615C4034F6116C4034F621BC4034F631CC3034F6917C9034F711AA905CA034F500EAA12C2034F4A03C7024F4BC8024F4CCB034F3D09FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
OK
AT+CRSM=242,20283
+CRSM: 144,0,621F82054221001C2E83024F3BA5038001318A01058B036F060180020508880190
OK
EFADN和EFADN1共用EFEXT1
Table G.1: Structure of EFs inside DFPHONEBOOK
DFPHONEBOOK
'5F3A'
Common Files
EFPBR
EFEXT1
EFAAS
EFGAS
'4F30'
'4F4A'
'4F4B'
'4F4C'
PhoneBook Set1
EFADN
EFPBC
EFANRA
EFANRB
'4F3A'
'4F09'
'4F11'
'4F13'
EFEMAIL
EFSNE
EFGRP
EFANRC
'4F50'
'4F19'
'4F26'
'4F15'
PhoneBook Set2
EFADN1
EFSNE1
EFGRP1
EFANRC1
'4F3B'
'4F1A'
'4F25'
'4F16'
EFPBC1
EFEMAIL1
EFANRA1
EFANRB1
'4F0A'
'4F51'
'4F12'
'4F14'
第 10 / 10 页
展开阅读全文