GSM Modem
一般都支持一条“
AT
+
CNMI
”指令,用于设定当有某类短消息到达时,如何处理它——只储存在制定的内存(易失的
/
非易失的)中;先储存后通知
TE
;直接转发到
TE
,等等。
AT
+
CNMI
指令语法为:
AT
+
CNMI
=<
mode
>,<
mt
>,<
bm
>,<
ds
>,<
bfr
>
<
mode
>控制通知
TE
的方式。
0
——先将通知缓存起来,再按照<
mt
>的值进行发送。
1
——在数据线空闲的情况下,通知
TE
,否则,不通知
TE
。
2
——数据线空闲时,直接通知
TE
;否则先将通知缓存起来,待数据线空闲时再行发送。
3
——直接通知
TE
。在数据线被占用的情况下,通知
TE
的消息将混合在数据中一起传输。
<
mt
>设置短消息存储和通知
TE
的内容。
0
——接受的短消息存储到默认的内存位置(包括
class 3
),不通知
TE
。
1
——接收的短消息储存到默认的内存位置,并且向
TE
发出通知(包括
class 3
)。通知的形式为:
+
CMTI
:”
SM
”,<
index
>
2
——对于
class 2
短消息,储存到
SIM
卡,并且向
TE
发出通知;对于其他
class
,直接将短消息转发到
TE
:
+
CMT
:
[
<
alpha
>
]
,<
length
><
CR
><
LF
><
pdu
>(
PDU
模式)
或者+
CMT
:<
oa
>,
[
<
alpha
>,
]
<
scts
>
[
,<
tooa
>,<
fo
>,<
pid
>,<
dcs
>,<
sca
>,<
tosca
>,<
length
>
]
<
CR
><
LF
><
data
>(
text
模式)
3
——对于
class 3
短消息,直接转发到
TE
,同<
mt
>=
2
;对于其他
class
,同<
mt
>=
1
。
<
bm
>设置小区广播
0
——小区广播不通知
2
——新的小区广播通知,返回
+CBM:;length;;CR;;LF;;pdu;
3
——
Class3
格式的小区广播通知,使用
bm=2
格式
<
ds
>状态报告
0
——状态报告不通知
1
——新的状态报告通知,返回:
+CDS:;length;;CR;;LF;;pdu;
2
——如果新的状态报告存储到
ME
,则返回:
+CDSI:;mem;,;index;
<
brf
>
1
——始终为
1
由于
SIM
卡只有
1
万到
10
万次的读写次数和
10-15
条短消息的存储空间,而且
SIM
卡上短消息读写需要一定的时间才能完成,因此最好使短信息不经过
SIM
卡读写,直接发送至
TE
终端,可以设置:
AT
+
CNMI
=
2
,
2
,
0
,
1
,
1
PS.
短消息类(
class
)的概念:根据指定存储的位置,短消息分为
class0
-
3
四个类,也可以不指定类别(
no class
),由移动设备按默认设置进行处理,存储到内存或者
SIM
卡中。在
TPDU
的
TP
-
DCS
字节中,当
bit7
-
bit4
为
00x1
、
1111
时,
bit1
-
bit0
指示消息所属类。
00
——
class 0
,可直接显示。
01
——
class 1
,默认储存在
ME
内存中。
02
——
class 2
,储存在
SIM
卡中。
03
——
class 3
,可直接传输到终端设备
TE
。
默认的短消息存在
SIM
卡中,无类别的短消息通常也存在
SIM
卡中。
你可以通过这个链接引用该篇文章:http://yiyio77.bokee.com/tb.b?diaryId=12697534