3GPP TS 27.005 V17.0.0 (2022-04)
hex. This is to ensure that the start and end markers are unambiguous. The receiver shall remove stuffing octets by
discarding any octet of value 00 hex (NUL) which immediately follows an octet of value 10 hex (DLE).
After removal of any stuffing octets, the receiver can check the BCS by adding all of the octets in the message content
and the 16-bit BCS modulo 65536. The correct result is 0000 hex. If any message is received with an incorrect BCS,
then the message is discarded. No response is sent over the DTE/DCE interface, but an indication may be provided to
higher layers within the receiving entity.
The transmitter shall only send DLE when it is followed by STX, NUL or ETX. Therefore, if the receiver sees a DLE
followed by anything else then the receiver shall assume that some data has been lost, and shall start to search for the
start marker. An unexpected end marker at the receiver shall also result in a search for a start marker. A start marker
shall always be treated as the start of a new block, regardless of which state the receiver is in.
Examples of state diagrams for a block receiver to implement this procedure are given in Annex B, together with an
example of coding and decoding a message.
Only one Command/Response transaction shall be permitted at any one time from any sending or receiving entity. It
shall however be possible for a Command/Response transaction from one entity to be initiated even if there is a
Command/Response transaction in progress from the other entity.
If an immediate response is expected to a message sent over the DTE/DCE interface, then the sending entity shall wait
10 s. If no response is received within this time, the sending entity shall repeat the message. The message shall be
repeated a maximum of 3 times, after which the sending entity shall exit from the SMS/CBS mode and provide an error
indication to the user.
If a message cannot be understood by the receiving entity even though it has a correct BCS, then it shall return an
UNABLE TO PROCESS message with cause value 'Command not understood'. The receipt of an UNABLE TO
PROCESS message should not in itself initiate re-transmission although re-transmission may take place due to the
timeout mechanism described earlier since an UNABLE TO PROCESS is deemed to be an invalid response. The
'Cause' may however be referred to a higher layer. An UNABLE TO PROCESS shall not be sent as the result of an
incorrect BCS.
2.3 Requesting messages already held in the Mobile
Termination
The TE may request the MT to provide SMS or CBS messages already stored. The TE will either request all messages,
or request a list of messages and subsequently ask for specific messages.
At the start of the SMS/CBS mode session, the MT shall number all messages contiguously, starting with message
number 1. These "Short Message References" are only valid for a single SMS/CBS MODE session and should not be
confused with the 3GPP TS 23.040 [3] TP-Message-Reference. Each message retains its Short Message Reference for
the duration of the SMS/CBS mode session. New messages will normally be given the lowest previously-unused Short
Message Reference. However, if all Short Message References have been used then the MT may reallocate Short
Message References previously allocated to now-deleted messages.
Short Message Reference 0 signifies that there are no messages in the MT. The value of 0 is used under the following
conditions:
- When an INSERT SMS command is used to transfer an SM over the air interface and not store it in the MT then
the MT will return a Short Message Reference of 0 in the REQUEST CONFIRMED response and the ensuing
INSERT SMS COMPLETE / INSERT SMS FAILURE indications.
- For Class 0 SM's which are not stored in the MT.
- For TE specific SM's which are not stored in the MT.
If Message number 0 is requested by the TE, the MT will always return an error cause, but will also include the highest
valid Short Message Reference (see clause 2.3.2.1).