6 SM‑RL‑procedures
24.0113GPPPoint-to-Point (PP) Short Message Service (SMS) support on mobile radio interfaceRelease 17TS
6.1 General
This clause describes the procedures used by the SMR entity for short message and notification support on the Short Message Relay Layer. An SMR entity communicates with a corresponding peer entity using a CM‑connection.
Multiple CM‑connections may be established at the same time, allowing parallel transactions. There is a functional one to one relation between the SMR entity and the SMC entity of the CM‑sublayer. The descriptions of the procedures are related to one single transaction.
The RL‑procedures described in this subclause can only be performed if a CM‑connection has been established between the mobile station and the network. Detailed SDL‑diagrams for short message control on SM‑RL are contained in annex D.
6.2 Transition states of SMR entity
The state transition diagram for the SMR entities on both MS‑side and network side are contained in annex D.
6.2.1 SMR‑states at the MS‑side of the radio interface
The states described in this subclause are for a SMR entity in a MS, handling mobile originating‑ and mobile terminating short messages and notification transfer.
6.2.1.1 Idle (State 0)
This state exists when the SMR entity is in idle mode, or when a short message or notification transfer ends in a normal or abnormal way.
6.2.1.2 Wait for RP‑ACK (State 1)
This state exists for mobile originating short message or notification transfer when the SMR has passed the RP‑DATA or RP‑SMMA to the SMC entity and set the timer TR1M.
6.2.1.2a Wait to send RP‑ACK (State 3)
This state exists for mobile terminating short message transfer. The SMR entity will enter this state after passing a received RP‑DATA message to TL and setting the timer TR2M.
6.2.1.3 Wait for RETRANS TIMER (State 4)
This state exists for memory available notification when the SMR is waiting to retransmit the RP‑SMMA message. Timer TRAM has been set. The possibility of an abort of the sending of the memory available notification by the SM‑TL exists. No underlying connection exists.
6.2.2 SMR‑states at the network side of the radio interface
The states described in this subclause are for a SMR entity in a MSC, handling mobile originating‑ and mobile terminating short message and notification transfer.
6.2.2.1 Idle (State 0)
This state exists when the SMR entity is in idle mode, or when a short message transfer or notification end in a normal or abnormal way.
6.2.2.2 Wait for RP‑ACK (State 1)
This state exists for a mobile terminating short message transfer when the SMR has passed the RP‑DATA message to the SMC entity and set the timer TR1N.
6.2.2.3 Wait to send RP‑ACK (State 3)
This state exists for mobile originating short message or notification transfer. The SMR entity will enter this state after passing a received RP‑DATA or RP‑SMMA message to TL and setting the timer TR2N.
6.3 Short Message Relay procedures
The procedures needed for short message and notification relaying are:
– TP Data Unit (TPDU) relay procedures;
– notification relay procedures;
– procedures for abnormal cases.
6.3.1 TPDU relaying
When the SMR entity is in the Idle state and receives a request from SM‑TL to relay a TPDU, it forms and transfers the RP‑DATA message (containing the TPDU), sets the timer TR1* and enters the state Wait for RP‑ACK.
Retransmission of RP data units by the CM‑sublayer is described in clause 5.
When the SMR entity is in the "Wait for RP‑ACK" state, the following situations may occur:
a) reception of an RP‑ACK or RP‑ERROR message (containing the same reference number as the transmitted RP‑DATA message);
b) reception of an error indication from the CM‑sublayer;
c) the timer TR1* expires.
In case a) or b), the timer TR1* is reset, a report indication is passed to SM‑TL, a request to release the CM‑connection is passed to CM‑sublayer, and the SMR entity enters the Idle state.
In case a) when the SMR entity in the MS receives an RP-ERROR message, the MS shall then take one of the following actions depending upon the received RP-ERROR cause:
#69 "Requested facility not implemented"
If this RP-ERROR cause was received in reaction to an SMS transfer via GPRS, the MS shall proceed as specified in the subclause 2.6.
In case c), a request to abort the CM‑connection is passed to the CM‑sublayer, a report indication is passed to SM‑TL, and the SMR entity enters the Idle state.
When the SMR entity is in the Idle state and receives an MNSMS‑EST‑Ind containing a valid RP‑DATA message, it passes the SMS‑TPDU to the SM‑TL, starts timer TR2*, and enters the state "Wait to Send RP‑ACK".
When the SMR entity in the SGSN is in the Idle state and receives an MNSMS‑EST‑Ind containing a valid RP‑DATA message, but the delivery of SMS via GPRS is not activated, the network shall return an RP-ERROR message with cause #69 "Requested facility not implemented" and remain in the Idle state.
When the SMR entity is in the state "Wait to Send RP‑ACK" and the SMR entity receives the SM‑RL‑Report‑Request, the timer TR2* is reset, the RP‑message (RP‑ACK or RP‑ERROR) is generated and relayed to the peer entity, a CM‑connection release request is passed to the CM‑sublayer, and the SMR entity enters the Idle state.
When the SMR entity is in the state "Wait to Send RP‑ACK" and the SMR entity receives an error indication from the CM‑sublayer, the timer TR2* is reset, a report indication is passed to the SM‑TL and the SMR entity enters the Idle state.
When the SMR entity is in the state "Wait to send RP‑ACK" and the timer TR2* expires, the SMR entity passes a CM‑connection abort request to the CM‑sublayer, a report indication is passed to the SM‑TL, and the SMR entity enters the Idle state.
6.3.2 [Void]
6.3.3 Notification relaying
6.3.3.1 MS side
6.3.3.1.1 Idle state
When the SMR entity in the MS in the Idle state receives a request from the SM‑TL to relay a notification to the network, it forms and transfers the RP‑SMMA message, starts timer TR1M, and enters the state Wait for RP‑ACK.
6.3.3.1.2 Wait for RP‑ACK state
When the SMR entity in the MS is in the Wait for RP‑ACK state and it receives either:
– an RP‑ACK (containing the same reference number as the last transmitted RP‑SMMA message); or
– an RP‑ERROR (containing the same reference number as the last transmitted RP‑SMMA message) with a permanent failure indication; or
– an error indication from the CP‑sublayer;
then the MS shall reset timer TR1M, pass a report indication to SM‑TL, give a CM‑connection release request to the CM‑sublayer, and enter the Idle state. If set, timer TRAM and the RETRANS flag are also reset.
If the SMR entity in the MS is in the Wait for RP‑ACK state and receives an RP-ERROR message, the MS shall then take one of the following actions depending upon the received RP-ERROR cause:
#69 "Requested facility not implemented"
If this RP-ERROR cause was received in reaction to an SMS transfer via GPRS, the MS shall proceed as specified in the subclause 2.6.
When the SMR entity in the MS is in the Wait for RP‑ACK state and either:
– it receives an RP‑ERROR (containing the same reference number as the last transmitted RP‑SMMA message) with a temporary failure indication; or
– timer TR1M expires;
then the MS shall examine the RETRANS flag:
– if the RETRANS flag is set (i.e. no more transmissions of the RP‑SMMA message are permitted) then:
– the MS shall pass a report indication to SM‑TL, give a CM‑connection release request to the CM‑sublayer, reset the RETRANS flag, reset TR1M, and enter the Idle state.
– If the RETRANS flag is not set (i.e. at least another transmission of the RP‑SMMA message is currently permitted) then:
– the MS shall give a CM‑connection release request to the CM‑sublayer, set the RETRANS flag, reset TR1M, start timer TRAM and enter the Wait for Retrans Timer state.
When the SMR entity in the MS is in the Wait for RP‑ACK state and it receives an SM‑RL‑MEMORY‑AVAILABLE‑Req (SMS‑MEM‑NOTIF‑ABORT) primitive, then the MS shall set the RETRANS flag and reenter the Wait for RP‑ACK state.
6.3.3.1.3 Wait for RETRANS Timer state
When the SMR entity in the MS is in the Wait for Retrans Timer state and timer TRAM expires then, the MS shall form and transfer an RP‑SMMA message, start timer TR1M, and enter the state Wait for RP‑ACK. The RP‑Message Reference in this RP‑SMMA message shall be different from that in the previous RP‑SMMA message.
When the SMR entity in the MS is in the Wait for Retrans Timer state and it receives an SM‑RL‑MEMORY‑AVAILABLE‑Req (SMS‑MEM‑NOTIF‑ABORT) primitive, then the MS shall reset the RETRANS flag, reset timer TRAM, pass a report indication to SM‑TL, and enter the Idle state.
6.3.3.2 Network side
6.3.3.2.1 Idle state
When the SMR entity in the network is in the Idle state and receives an MNSMS‑EST‑Ind containing a valid RP‑SMMA message, it passes the SMS‑TPDU to the SM‑TL, starts timer TR2N, and enters the state "Wait to send RP‑ACK".
When the SMR entity in the SGSN is in the Idle state and receives an MNSMS‑EST‑Ind containing a valid RP‑SMMA message, but the delivery of SMS via GPRS is not activated, the network shall return an RP-ERROR message with cause #69 "Requested facility not implemented" and remain in the Idle state.
6.3.3.2.2 Wait to Send RP‑ACK state
When the SMR entity in the network is in the state "Wait to Send RP‑ACK" and the SMR entity receives the SM‑RL‑Report‑Request, timer TR2N is reset, the RP‑message (RP‑ACK or RP‑ERROR) is generated and relayed to the MS, a CM‑connection release request is passed to the CM‑sublayer, and the SMR entity enters the Idle state.
When the SMR entity in the network is in the state "Wait to Send RP‑ACK" and the SMR entity receives an error indication from the CM‑sublayer, timer TR2N is reset, a report indication is passed to the SM‑TL and the SMR entity enters the Idle state.
When the SMR entity in the network is in the state "Wait to Send RP‑ACK" and the timer TR2N expires, the SMR entity passes a CM‑connection abort request to the CM‑sublayer, a report indication is passed to the SM‑TL, and the SMR entity enters the Idle state.
6.3.4 Abnormal cases
Format errors etc.:
If the SMR entity upon receipt of an RP‑DATA or RP‑SMMA message detects an erroneous condition which it can act on, (e.g. format errors, invalid parameters etc.) it shall return an RP‑ERROR message with an appropriate cause value and possibly extended diagnostic information, release or abort the CM‑connection, and enter the Idle state.