Not getting SMS delivery notiifications with EHS6T USB | Telit Cinterion IoT Developer Community
April 13, 2017 - 8:54pm, 3934 views
Hello,
I send SMS in PDU mode, but I cannot get Status Reports of sent SMS.
Request:
OK
AT+CMGS=154
> 0031000b911477309818f100F5a68c2a80000007000102030489c30708090a0b0c0d0e0f000102097605060708090a0b0c0d0e0ffffefdfcfbfaf9f8f7f6f50b0c0d0e0f000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f00010203040506
+CMGS: 44
(Delivery report is requested)
OK
+CNMI: 2,1,0,2,1 is
I am not getting an SMS delivery report back.
does any one has an idee, what is wrong here?
Kind regards
Stefan
Hello,
Have you configured the delivery report request in the PDU body?
Have you also tried <ds>=1?
Please also check the AT+CNMA setting.
Regards,
Bartłomiej
Thanks for the help.
TP-SRR is ser inside the SMS body. I double checked with an online SMS decoder.
AT+CNMA=? returns possible values of 0..2, but when entering 0 or 1 or 2, I just get "ERROR".
I set AT+CNMI = 2,1,0,2,1. the second "2" should enable URC of delivery reports.
I did the same with my old MC35i with the same SIM card and sending the same SMS out. There I get the delivery reports. I even get the missing relivery reports from the EHS6T then.
Hello,
I've checked your PDU with my module. I've just changed the recipient number. And it was working:
at+cmgs=154
> 0031000b91************00F5a68c2a80000007000102030489c30708090a0b0c0d0e0f000102097605060708090a0b0c0d0e0ffffefdfcfbfaf9f8f7f6f50b0c0d0e0f000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f000102030405
060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f00010203040506
+CMGS: 110
OK
+CDSI: "SR",3
I think that in your case the problem might be in the status report message storage which might be full (as you have configured the module to store the reports with the setting 2). In this module the status reports are saved in "SR" storage which size is only 4. To check this please change <mem1> (memory to be used when listing, reading and deleting messages) to "SR":
at+cpms="SR","SM","SM"
and check.
You could also set <ds> to 1 so that reports would be routed via URC and not saved. But for that you need to also change the AT+CSMS to 1 (phase 2+ support).
Regards,
Bartłomiej
Hello Bartolomiej,
Many thanks for your help. I get the reports now. I will have to chenge some code of our driver, because there are some differences to my old MC 35 I, but i know now, how to do it.
I have another question to this now: If I set AT+CPMS="SR","SM","SM", I get delivery reports by sending AT+CMGL=4 or AT+CMGR. However, incoming SMS are buffered then but I do not get them , because memory 1 si configured for delivery reports then and read commands are only reading memory 1.
If I set AT+CPMS="SM","SM","SM", I get incoming SMS, but no delivery reporst by AT+CMGS=4.
The only way I found to get both is to set DS = 1 to send delivery reports directly to the serial interface. Is this the only way to get both or can I somehow read both SMS and delivery reports out by AT+CMGS=4?
Thanks for your help.
Kind regards,
Stefan
Hello,
The <mem1> parameter only configures the storage for listing, reading and deleting messages. So whenever you use for example AT+CMGS or AT+CMGD command with the appropriate parameter this storage will be used. But <mem1> setting should not affect the capability to store the received messages or reports.
The storage for received messages is configured with <mem3> parameter. However the status reports are always stored in "SR" unless directly forwarded to TE.
So you need to change the <mem1> setting according to what type of message you want to read or delete. And you need to care about that there must be a free space in the storage. In other case the message will not be received and there will be no URC until there is a space to store the message.
You can see where the incoming message has been saved in the incoming URC, for example:
+CMTI: "SM",1 - message saved to "SM" storage, index 1
+CDSI: "SR",3 - report saved to "SR" storage, index 3
Regards,
Bartłomiej
Hello,
What i would like is to get incomming SMS and delivery reports when using the commands AT+CMGL=4 or AT+CMGR.
I tried now to set AT+CPMS="SR", "SM", "SR"
to save incoming messages (mem3) to "SR" and mem1 for read out command (.g AT+CMGL=4) to "RS" too.
However, incoming messages are not saved to SR with tese settings, they still are saved to "SM".
What dod I do wrong here?
Hello,
The incoming messages may be stored in "SM" or "ME" storage and you can configure that with CPMS command. "SR" storage is dedicated to status reports and "BM" to cell broadcast messages.
So you should proceed as I have described above and switch <mem1> storage for reading and deleting between "SM" and "SR" and set <mem3> to "SM".
Regards,
Bartłomiej
OK, Thank you.
Kind regards
Stefan