AT+CRSM

基于AT指令集开发短信应用,我认为至少要参考如下文档:

  1. www.3gpp.org中的24.005。
  2. www.3gpp.org中的23.040。

如果把这两个文档看仔细了,再强大的短信也可以开发出来。如果有做这方面的开发人员希望能仔细看这二个文档,而不是到处找现在的代码可以使用。要知道目前见网上或市场上的很多软件功能特别少。

利用AT指令发送CLASS分类短信

本文详细介绍如何利用AT指令和GSM-MODEM模块发送CLASS2的信息,其它CLASS信息类同。
目的手机:13911792320。
发送内容:TestForClass Type sms!,this is class 2!
要求状态报告和直接应答,按UCS2编码格式进行发送。
AT发送命令为:
AT+CMGS=93
>
00B1000D91683119712923F0001AFF4E00540065007300740046006F0072
0043006C0061007300730020005400790070006500200073006D00730021
002C007400680069007300200069007300200063006C006100730073002000320021
+CMGS: 114
OK

以上述发送内容中:B1说明要求状态报告和直接应答,也就是第二个字节的内容。

                                    DCS=0x1A,说明编码类型为UCS2,CLASS为CLASS2。

在我们开发短信过程中,可以根据DCS的组合不同实现不同类型的短信类型。如果要开发出其它功能的短信,如EMS,串联短信,还要在加上用户信息(UDHI)。

通过AT指令修改SIM卡数据
       在AT指令集中,一般用户只是简单地应用几个常用的AT指令,就可以实现一般功能要求,如CallControl,SMS,CBS等。 
      但是当需要一些高级些的功能,如修改SIM卡数据来验证一些手机中的featur或实现对SIM卡的维护,这时就需要几个偏底层的指令,其中比较重要的是AT+CRSM。
  本文以一个比较典型的操作,本操作实现SIM卡中CPHS控制SMS部分的开关切换。实现代码如下:

AT+CRSM=214.28437.0.0.2.C020 
AT+CPIN=0000 
AT+CRSM=214.28437.0.0.14.010002000300040005440600c020

   214:   Update Binary
   28437:   6F15

其它修改SIM卡数据也可以参考以上指令实现。

MF 3F00 根目录 备注:所有非ETSI GSM协议中规定的应用文件由各厂家自行定义在根目录下(如:PIN1,PIN2…)

EFICCID 2FE2 ICCID SIM卡唯一的识别号 包含运营商、卡商、发卡时间、省市代码等信息

DFGSM 7F20 GSM目录备注:根据ETSIGSM09.91的规定Phase2(或以上)的SIM卡中应该有7F21并指向7F20,用以兼容Phase1的手机

EFLP语言选择 6F05 LP 语言选择文件 包含一种或多种语言编码

EFIMSI 6F07 IMSI 国际移动用户识别符包含SIM卡所对应的号段,比如46000代表135-139号段、46002代表1340-1348

EFKC语音加密密钥 6F20 Kc 计算密钥 用于SIM卡的加密、解密

EFPLMNsel网络选择表 6F30 PLMNsel 公共陆地网选择决定SIM卡选择哪种网络,在这里应该选择中国移动的网络

EFHPLMN归属地网络选择表 6F31 HPLMN 两次搜索PLMN的时间间隔 两次搜索中国移动的网络的时间间隔

EFACMmax最大计费额 6F37 ACMmax 包含累积呼叫表的最大值 全部的ACM数据存在SIM卡中,此处取最大值

EFSST SIM卡服务表 6F38 SST SIM卡服务列表指出SIM卡可以提供服务的种类,哪些业务被激活哪些业务没有开通

EFACM累加计费计数器 6F39 ACM 累计呼叫列表 当前的呼叫和以前的呼叫的单位总和

EFGID1分组识别1 6F3E GID1 1级分组识别文件包含特定的SIM-ME组合的标识符,可以识别一组特定的SIM卡

EFGID2分组识别2 6F3F GID2 2级分组识别文件包含特定的SIM-ME组合的标识符,可以识别一组特定的SIM卡

EFPUCT单位价格/货币表 6F41 PUCT 呼叫单位的价格和货币表 PUCT是与计费通知有关的信息,ME用这个信息结合EFACM,以用户选择的货币来计算呼叫费用

EFCBMI小区广播识别号 6F45 CBMI 小区广播信息标识符 规定了用户希望MS采纳的小区广播消息内容的类型

EFSPN服务提供商 6F46 SPN 服务提供商名称 包含服务提供商的名称和ME显示的相应要求

EFCBMID 6F48 CBMID 数据下载的小区广播消息识别符 移动台将收到的CBMID传送给SIM卡

EFSUME 6F54 SUME 建立菜单单元 建立SIM卡中的菜单

EFBCCH广播信道 6F74 BCCH 广播控制信道由于BCCH的存储,在选择小区时,MS可以缩小对BCCH载波的搜索范围

EFACC访问控制级别 6F78 ACC 访问控制级别 SIM卡有15个级别,10个普通级别,5个高级级别

EFFPLMN禁止网络号 6F7B FPLMN 禁用的PLMN 禁止选择除中国移动以外的其他运营商,比如中国联通、中国卫通等

EFLOCI位置信息 6F7E LOCI  位置信息存储临时移动用户识别符、位置区信息等内容

EFAD管理数据 6FAD AD 管理数据包括关于不同类型SIM卡操作模式的信息。例如:常规模式(PLMN用户用于GSM网络操作),型号认证模式(允许ME在无线设备的认证期间的特殊应用);小区测试模式(在小区商用之前,进行小区测试),制造商特定模式(允许ME制造商在维护阶段进行特定的性能自动测试)

EFPHASE阶段 6FAE PHASE 阶段标识 标识SIM卡所处的阶段信息,比如是普通SIM卡还是STK卡等

         

         

         

DFTELECOM 7F10 电信目录    

EFADN缩位拨号 6F3A AND 电话簿 用于将电话记录存放在SIM卡中

EFFDN固定拨号 6F3B FDN 固定拨号包括固定拨号(FDN)和/或补充业务控制字串(SSC),还包括相关网络/承载能力的识别符和扩展记录的识别符,以及有关的α识别符

EFSMS短消息 6F3C SMS 短消息 用于将短消息记录存放在SIM卡中

EFCCP能力配置参数 6F3D CCP 能力配置参数包括所需要的网络和承载能力的参数,以及当采用一个缩位拨号号码,固定拨号号码,MSISDN、最后拨号号码、服务拨号号码或禁止拨号方式等,建立呼叫时相关的ME配置

EFMSISDN电话号码 6F40 MSISDN 移动基站国际综合业务网号 存放用户的手机号

EFSMSP短信息参数 6F42 SMSP 短消息业务参数 包括短信中心号码等信息

EFSMSS短信息状态 6F43 SMSS 短消息状态 这个标识是用来控制流量的

EFLND最后拨号 6F44 LND 最后拨叫号码 存储最后拨叫号码

EFExt1扩展文件1 6F4A EXT1 扩展文件1 包括AND,MSISDN或LND的扩展数据

EFExt2扩展文件2 6F4B EXT2 扩展文件2 包含FDN的扩展数据

         

备注:1.电信目录(DFTELECOM)下的缩位拨号(EFADN)和短消息(EFSMS)的记录个数为最低配置要求。

           2.各省公司可以根据本省的实际需求对电信目录下基本文件的配置进行修改。 

 

 

 

 5.14 Restricted SIM access +CRSM
5.14.1 Description
This command allows an easy access to the SIM database.
By using this command instead of Generic SIM Access +CSIM DTE application has easier
but more limited access to the SIM database. Set command transmits to the MS the SIM
<command> and its required parameters. MS handles internally all SIM-MS interface
locking and file selection routines. As response to the command, MS sends the actual SIM
information parameters and response data. MS 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.
5.14.2 Syntax
Command syntax: AT+CRSM=<command>[,<fileid>[,<P1>,<P2>,<P3>[,<data>
[,<pathid>]]]]
Mobile Station Main AT Commands
Document ID: N/A 38 / 177 Revision 01.24, 2007-03-07
COMMAND POSSIBLE RESPONSES
AT+CRSM=176,28471,0,0,3
Note: read ACMmax
AT+CRSM=176,28423,0,0,9
Note: read IMSI
AT+CRSM=178,28473,0,4,3
Note: read ACM
AT+CRSM=176,28481,0,0,5
Note: read PUKT
+CRSM:
<sw1>,<sw2>[,<response>]
OK
or
CME ERROR: <error>
Test command
AT+CRSM=?
OK
5.14.3 Defined values
<command> may be
- 176 READ BINARY
- 178 READ RECORD
- 192 GET RESPONSE
- 214 UPDATE BINARY
- 220 UPDATE RECORD
- 242 STATUS
<fileid> integer type; this is the identifier of a elementary datafile on SIM. Mandatory for
every command except STATUS and may be e.g.:
- 28471 meaning ACMmax file (6F37)
- 28423 meaning IMSI file (6F07)
- 28473 meaning ACM file (6F39)
- 28481 meaning PUKT file (6F41)
- 28482 meaning SMS file (6F42)
<P1>, <P2>, <P3> integer type defining the request. These parameters are mandatory for
every command, except GET RESPONSE and STATUS. The values are described in
GSM 51.011.
<data>: information which shall be written to the SIM (hexadecimal character format; refer
+CSCS – string containing hexadecimal characters -)
<sw1>, <sw2> integer type containing the SIM information and can be:
0x90 0x00 normal entry of the command
0x9F 0xXX length XX of the response data
0x92 0x0X update successful but after using an internal retry routine X times
0x92 0x40 memory problem
0x94 0x00 no EF selected
Mobile Station Main AT Commands
Document ID: N/A 39 / 177 Revision 01.24, 2007-03-07
0x94 0x02 out of range (invalid address)
0x94 0x04 file ID not found; pattern not found
0x94 0x08 file is inconsistent with the command
0x98 0x02 no CHV initialized
0x98 0x04 access cond. Not fullfiled / unsucc. CHV verify / authent.failed
0x98 0x08 in contradiction with CHV status
0x98 0x10 in contradiction with invalidation status
0x98 0x40 unsucc. CHV-verif. or UNBLOCK CHF / CHV blocked /UNBL.blocked
0x98 0x50 increase can not be performed. Max. value reached
0x67 0xXX incorrect parameter P3
0x6B 0xXX incorrect parameter P1 or P2
0x6D 0xXX unknown instruction code given in the command
0x6E 0xXX wrong instruction class given in the command
0x6F 0xXX technical problem with no diagnostic given
<response> response of successful completion of the command previously issued
(hexadecimal character format; refer +CSCS – string containing hexadecimal characters -).
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.
<pathid>: string type; contains the path of an elementary file on the SIM/USIM in
hexadecimal format as defined in ETSI TS 102 221 [60] (e.g. "7F205F70" in SIM and
USIM case).
Note: if a path_id is given, the <data> parameter cannot be skipped, it has to be “”. If P1,
P2 or P3 are not needed but the path_id, as 0 has to be given as value.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值