This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How is SMS processed, when it is received?

What happens if I read an SMS data from a modem a while, let's say 10min, after the modem receives the SMS?

Does it keep the SMS message inside? What if several SMS messages are received by the modem?

process

1. Open a socket 
2. Send  "AT+CNMI=3,2,0,1" to a modem to enable SMS notification
2. sleep for 10 min
3. poll with the socket
4. Can you receive the SMS message?

I tested this sleeping for 2min and can receive SMS.

Thank you in advance.

  • Hi,

     

    Does it keep the SMS message inside? What if several SMS messages are received by the modem?

    The modem receives, and when you poll the socket and read the data (ie: consume the packet), the memory will be free'd. Its not free'd until the application (at_cmd driver for instance) actually reads the packet.

    In the case where you sleep, in PSM or eDRX, the network will cache any incoming SMS for you, and send it to you when you're doing a tracking area update (TAU).

     

    Kind regards,

    Håkon

  • Hi Hakon. Thank you for your explanation. I got some insight
    I wrote my understanding. Is this correct?
    1. Sending SMS is completed when a modem receives it and MCU part reads the message by polling a socket
    2. Once the MCU part receives it, the modem part sends ACK to the network and the server side finishes one SMS-sending operation.
    3. After an SMS is sent, the server side sends the next SMS.
    4. SMS-sending operation isn't finish unless the server receives ACK. This means the operation isn't finished unless MCU reads an SMS.
    5. Multiple SMS messages are not sent at the same time.

  • Hi,

     

    Yusuke said:
    I wrote my understanding. Is this correct?
    1. Sending SMS is completed when a modem receives it and MCU part reads the message by polling a socket
    2. Once the MCU part receives it, the modem part sends ACK to the network and the server side finishes one SMS-sending operation.
    3. After an SMS is sent, the server side sends the next SMS.
    4. SMS-sending operation isn't finish unless the server receives ACK. This means the operation isn't finished unless MCU reads an SMS.
    5. Multiple SMS messages are not sent at the same time.

    This looks correct.

     

    Kind regards,

    Håkon 

Related