5.1. S1AP (S1 Application Protocol)
5.1.1. Technical Overview
The S1 Application Protocol (S1AP) is the radio network layer signaling protocol of the S1-MME interface between the E-UTRAN and the MME, a scope that TS 36.413 clause 1 defines. S1AP carries UE mobility and session control, and it relays Non-Access Stratum (NAS) messages between the UE and the MME without inspecting their content.
S1AP consists of Elementary Procedures (EPs), where an EP is a unit of interaction between an eNodeB and the MME that comprises an initiating message and, for a Class 1 EP, a response message. TS 36.413 clause 3.1 defines two EP classes:
- Class 1
-
An EP with a response, which reports a successful outcome, an unsuccessful outcome, or both outcomes for different requests within the same message.
- Class 2
-
An EP without a response; the network always considers a Class 2 EP successful.
An eNodeB and the MME can run several EPs independently of each other, in parallel, unless a specific EP description restricts this independence.
S1AP provides two groups of services, a grouping that TS 36.413 clause 5 defines:
- Non-UE-associated services
-
These are services related to the whole S1 interface instance between an eNodeB and the MME, for example S1 Setup or Reset.
- UE-associated services
-
These are services related to one UE, over a UE-associated logical S1-connection that TS 36.413 clause 3.1 defines and that can exist before the eNodeB establishes the S1 UE context. This connection uses the MME UE S1AP ID and the eNB UE S1AP ID to identify the UE at the MME and at the eNodeB.
S1AP runs over the Stream Control Transmission Protocol (SCTP), which provides in-sequence delivery of S1AP messages and notifies S1AP if the signaling connection breaks. TS 36.413 clause 6 defines this transport requirement; TS 36.410 defines the S1 transport network layer in detail.
Unlike NAS, PFCP, and the GPRS Tunnelling Protocol (GTP), S1AP does not encode its messages with a fixed-position byte header. S1AP messages use the Packed Encoding Rules (PER) of Abstract Syntax Notation One (ASN.1), as defined in ITU-T Recommendation X.691, so a message’s on-the-wire layout depends on the abstract syntax of its information elements rather than on fixed octet positions. The Message Format section below describes the message structure at the ASN.1 level instead of a byte-position diagram.
5.1.2. Message Format
5.1.2.1. Elementary Procedure Structure
TS 36.413 clause 9.3.2 defines the S1AP-ELEMENTARY-PROCEDURE ASN.1
class, which every S1AP EP conforms to:
S1AP-ELEMENTARY-PROCEDURE ::= CLASS {
&InitiatingMessage ,
&SuccessfulOutcome OPTIONAL,
&UnsuccessfulOutcome OPTIONAL,
&procedureCode ProcedureCode UNIQUE,
&criticality Criticality DEFAULT ignore
}
InitiatingMessage-
This is the message that starts the EP, and every EP defines it.
SuccessfulOutcome-
This is the response message for a successful outcome, and only a Class 1 EP defines it.
UnsuccessfulOutcome-
This is the response message for an unsuccessful outcome, and only a Class 1 EP that supports an explicit failure response defines it.
procedureCode-
This is a value that uniquely identifies the EP, for example the value assigned to the Handover Preparation procedure or the E-RAB Setup procedure.
criticality-
This is the default criticality of the EP itself, used when an S1AP node does not comprehend the procedure code.
5.1.2.2. S1AP-PDU
TS 36.413 clause 9.3.3 defines the top-level S1AP-PDU as a CHOICE between three message classes:
S1AP-PDU ::= CHOICE {
initiatingMessage InitiatingMessage,
successfulOutcome SuccessfulOutcome,
unsuccessfulOutcome UnsuccessfulOutcome,
...
}
InitiatingMessage ::= SEQUENCE {
procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode,
criticality S1AP-ELEMENTARY-PROCEDURE.&criticality,
value S1AP-ELEMENTARY-PROCEDURE.&InitiatingMessage
}
SuccessfulOutcome and UnsuccessfulOutcome follow the same
procedureCode/criticality/value structure as InitiatingMessage.
procedureCode-
This field identifies which EP the message belongs to, for example E-RAB Setup or Path Switch Request.
criticality-
This field states how a receiving node handles the message if it does not comprehend the EP, and the Criticality Values table below lists the possible values.
value-
This field carries the message-specific information elements (IEs) for this EP and outcome, for example the IEs of an E-RAB SETUP REQUEST message.
5.1.2.3. Criticality Values
Each IE or IE group within a message can carry its own criticality information, independent of the criticality of the EP itself. TS 36.413 clause 10.3.2 defines these values.
| Value | Meaning |
|---|---|
|
The receiving node rejects the entire procedure if it does not comprehend the IE or IE group. |
|
The receiving node ignores the IE or IE group if it does not comprehend it, and notifies the sender. |
|
The receiving node ignores the IE or IE group if it does not comprehend it, without notifying the sender. |
5.1.3. Message Categories
5.1.3.1. E-RAB Management Messages
These messages assign, modify, and release the E-UTRAN Radio Access Bearers (E-RABs) and their Data Radio Bearers for a UE.
| Message | Functionality | Direction |
|---|---|---|
|
Asks the eNodeB to assign Uu and S1 resources and set up Data Radio Bearers for one or more E-RABs. |
MME → eNodeB |
|
Reports the E-RABs successfully set up and the E-RABs that failed to be set up. |
eNodeB → MME |
|
Asks the eNodeB to modify one or more already established E-RABs for a UE. |
MME → eNodeB |
|
Reports the E-RABs successfully modified and the E-RABs that failed to be modified. |
eNodeB → MME |
|
Asks the eNodeB to release one or more established E-RABs for a UE. |
MME → eNodeB |
|
Reports the E-RABs successfully released and the E-RABs that failed to be released. |
eNodeB → MME |
|
Tells the MME that the eNodeB released one or more E-RABs on its own initiative. |
eNodeB → MME |
|
Asks the MME to accept a modification of one or more established E-RABs that the eNodeB initiated, for example a new downlink transport address. |
eNodeB → MME |
|
Reports the E-RABs successfully modified, the E-RABs that failed to be modified, and the E-RABs to be released, for an |
MME → eNodeB |
5.1.3.2. Context Management Messages
These messages establish, modify, suspend, resume, and release a UE’s context at the eNodeB and the MME, and transfer UE information between them.
| Message | Functionality | Direction |
|---|---|---|
|
Establishes the initial UE context in the eNodeB, sets up the default IP connectivity, and optionally sets up one or more E-RABs. |
MME → eNodeB |
|
Reports that the eNodeB established the initial UE context. |
eNodeB → MME |
|
Reports that the eNodeB could not establish the initial UE context. |
eNodeB → MME |
|
Asks the MME to release the UE-associated logical S1-connection for an E-UTRAN generated reason, for example user inactivity. |
eNodeB → MME |
|
Orders the release of the UE-associated logical S1-connection, for example after a completed handover. |
MME → eNodeB |
|
Confirms that the eNodeB released all signaling and user-plane transport resources for the UE. |
eNodeB → MME |
|
Asks the eNodeB to partly modify the established UE context, for example the Security Key or the UE Aggregate Maximum Bit Rate. |
MME → eNodeB |
|
Confirms that the eNodeB applied the requested UE context modification. |
eNodeB → MME |
|
Reports that the eNodeB could not apply the requested UE context modification. |
eNodeB → MME |
|
Asks the eNodeB to derive whether the UE radio capabilities are compatible with the network configuration for voice continuity. |
MME → eNodeB |
|
Returns the Voice Support Match Indicator that a |
eNodeB → MME |
|
Asks the MME to verify Closed Subscriber Group (CSG) membership for the established UE context. |
eNodeB → MME |
|
Returns the CSG membership verification result for a |
MME → eNodeB |
|
Asks the MME to suspend the UE context, the UE-associated logical S1-connection, and the related bearer contexts. |
eNodeB → MME |
|
Confirms that the MME suspended the UE context. |
MME → eNodeB |
|
Tells the MME that the UE resumed its suspended Radio Resource Control (RRC) connection, and asks the MME to resume the UE context. |
eNodeB → MME |
|
Confirms that the MME resumed the UE context. |
MME → eNodeB |
|
Reports that the MME could not resume at least one suspended E-RAB, and releases the UE-associated logical S1-connection. |
MME → eNodeB |
|
Completes the establishment of the UE-associated logical S1-connection, and can trigger the eNodeB to obtain and report the UE radio capability. |
MME → eNodeB |
|
Asks the MME for the UE information of a Narrowband Internet of Things (NB-IoT) UE that uses Control Plane Cellular Internet of Things (CIoT) EPS Optimisation. |
eNodeB → MME |
|
Sends the requested UE information, for example QoS parameters and UE radio capability, to the eNodeB. |
MME → eNodeB |
|
Asks the MME to authenticate a UE’s re-establishment request for an NB-IoT UE that uses Control Plane CIoT EPS Optimisation. |
eNodeB → MME |
|
Tells the eNodeB that the UE’s connection is to be relocated to another eNodeB. |
MME → eNodeB |
5.1.3.3. Handover Signalling Messages
These messages prepare, execute, confirm, and cancel a handover of a UE between eNodeBs or between radio access technologies, and transfer Packet Data Convergence Protocol (PDCP) status between the source and the target eNodeB.
| Message | Functionality | Direction |
|---|---|---|
|
Starts the Handover Preparation procedure. The source eNodeB requests preparation of resources at the target side via the EPC. |
eNodeB → MME |
|
Reports that the MME accepted the handover, and carries the target-side transparent container for the UE. |
MME → eNodeB |
|
Reports that the handover preparation failed. |
MME → eNodeB |
|
Asks the target eNodeB to reserve resources for the handover of a UE. |
MME → eNodeB |
|
Reports that the target eNodeB reserved the requested resources. |
eNodeB → MME |
|
Reports that the target eNodeB could not reserve the requested resources. |
eNodeB → MME |
|
Tells the MME that the UE arrived at the target cell and the S1 handover completed successfully. |
eNodeB → MME |
|
Establishes a UE-associated signaling connection to the EPC, and requests the switch of a downlink GTP tunnel to a new endpoint. |
eNodeB → MME |
|
Reports that the EPC switched the downlink path for at least one requested E-RAB. |
MME → eNodeB |
|
Reports that the EPC failed to switch the downlink path for every requested E-RAB. |
MME → eNodeB |
|
Asks the EPC to cancel an ongoing handover preparation or an already prepared handover. |
eNodeB → MME |
|
Confirms that the EPC released the resources of the cancelled handover. |
MME → eNodeB |
|
Transfers the uplink and downlink PDCP Sequence Number (PDCP-SN) and Hyper Frame Number (HFN) status from the source eNodeB to the target eNodeB via the MME. |
eNodeB → MME |
|
Forwards the PDCP-SN and HFN status that an |
MME → eNodeB |
|
Tells the source eNodeB, during a Dual Active Protocol Stack (DAPS) handover, that the UE successfully accessed the target eNodeB. |
MME → eNodeB |
|
Transfers, during a DAPS handover, the COUNT of the first downlink Service Data Unit (SDU) that the source eNodeB forwards to the target eNodeB. |
eNodeB → MME |
|
Forwards the COUNT that an |
MME → eNodeB |
5.1.3.4. Paging Messages
| Message | Functionality | Direction |
|---|---|---|
|
Asks the eNodeB to page a UE in the cells of the tracking areas listed in the message. |
MME → eNodeB |
5.1.3.5. NAS Transport Messages
These messages carry NAS signaling, opaque to the eNodeB, between the UE and the MME over the S1 interface. TS 36.413 clause 8.6.1 defines this scope.
| Message | Functionality | Direction |
|---|---|---|
|
Forwards the UE’s first uplink NAS message to the MME, and can establish the UE-associated logical S1-connection. |
eNodeB → MME |
|
Forwards a NAS message from the MME to the UE. |
MME → eNodeB |
|
Forwards a NAS message from the UE to the MME, over an existing UE-associated logical S1-connection. |
eNodeB → MME |
|
Reports that the eNodeB could not deliver, or decided not to start delivering, a NAS message to the UE. |
eNodeB → MME |
|
Reports that the eNodeB successfully delivered a downlink NAS message to the UE, when the MME requested this indication. |
eNodeB → MME |
|
Asks the eNodeB to reroute an |
MME → eNodeB |
5.1.3.6. Management Messages
These messages initialize the S1 interface, exchange interoperability data, report unrecoverable errors, and manage MME overload.
| Message | Functionality | Direction |
|---|---|---|
|
Initializes or re-initializes the E-UTRAN, or part of the E-UTRAN S1AP UE-related contexts, after a failure at the sending node. |
Both |
|
Confirms that the receiving node released the S1 resources and UE associations indicated in a |
Both |
|
Reports a detected error in an incoming message, when no dedicated failure message exists to report it. |
Both |
|
Starts the S1 Setup procedure, the first S1AP procedure after the transport network layer association becomes operational. |
eNodeB → MME |
|
Reports that the MME accepted the S1 Setup Request, and exchanges application-level configuration data. |
MME → eNodeB |
|
Reports that the MME rejected the S1 Setup Request. |
MME → eNodeB |
|
Updates application-level configuration data that the eNodeB and the MME need to interoperate on the S1 interface. |
eNodeB → MME |
|
Confirms that the MME updated the configuration data. |
MME → eNodeB |
|
Reports that the MME rejected the configuration update. |
MME → eNodeB |
|
Updates application-level configuration data that the eNodeB needs to interoperate with the MME. |
MME → eNodeB |
|
Confirms that the eNodeB updated the configuration data. |
eNodeB → MME |
|
Reports that the eNodeB rejected the configuration update. |
eNodeB → MME |
|
Tells the eNodeB to reduce the signaling load it sends towards the concerned MME. |
MME → eNodeB |
|
Tells the eNodeB that the overload situation at the MME ended, and normal operation can resume. |
MME → eNodeB |
5.1.3.7. S1 CDMA2000 Tunnelling Messages
These messages tunnel CDMA2000 signaling, opaque to the eNodeB, between the UE and the CDMA2000 radio access technology over the S1 interface.
| Message | Functionality | Direction |
|---|---|---|
|
Forwards a CDMA2000 message from the MME to the UE, through the eNodeB. |
MME → eNodeB |
|
Forwards a CDMA2000 message from the UE to the MME, through the eNodeB. |
eNodeB → MME |
5.1.3.8. UE Capability Info Indication Messages
| Message | Functionality | Direction |
|---|---|---|
|
Provides UE capability-related information, received from the UE, to the MME. |
eNodeB → MME |
5.1.3.9. Trace Messages
These messages control a trace session or a Minimization of Drive Tests (MDT) session for a UE, as specified in TS 32.422.
| Message | Functionality | Direction |
|---|---|---|
|
Asks the eNodeB to start a trace function, and optionally an MDT session, for a UE. |
MME → eNodeB |
|
Reports that a |
eNodeB → MME |
|
Asks the eNodeB to stop the trace session identified by the given trace reference. |
MME → eNodeB |
|
Sends the allocated Trace Recording Session Reference and Trace Reference to the MME. |
eNodeB → MME |
5.1.3.10. Location Reporting Messages
| Message | Functionality | Direction |
|---|---|---|
|
Asks the eNodeB to report the UE’s current location, for example on every serving-cell change. |
MME → eNodeB |
|
Reports that a |
eNodeB → MME |
|
Provides the UE’s current location to the MME. |
eNodeB → MME |
5.1.3.11. Warning Message Transmission Messages
These messages start, replace, and cancel the broadcast of Public Warning System (PWS) messages, and report the eNodeB’s PWS status to the MME.
| Message | Functionality | Direction |
|---|---|---|
|
Starts, or replaces, the broadcast of a warning message in the indicated warning area. |
MME → eNodeB |
|
Reports the area(s) where the eNodeB is broadcasting the warning message. |
eNodeB → MME |
|
Asks the eNodeB to cancel an already ongoing broadcast of a warning message. |
MME → eNodeB |
|
Reports the area(s) where the eNodeB stopped the warning message broadcast. |
eNodeB → MME |
|
Tells the MME that PWS information for some or all cells of the eNodeB is available for reloading from the Cell Broadcast Centre (CBC). |
eNodeB → MME |
|
Tells the MME that an ongoing PWS operation for one or more cells of the eNodeB has failed. |
eNodeB → MME |
5.1.3.12. Direct Information Transfer Messages
These messages transfer RAN Information Management (RIM) information, in unacknowledged mode, between an eNodeB and a peer RAN node via the core network. The MME does not interpret the transferred information.
| Message | Functionality | Direction |
|---|---|---|
|
Transfers RAN information from the eNodeB to the MME. |
eNodeB → MME |
|
Transfers RAN information from the MME to the eNodeB. |
MME → eNodeB |
5.1.3.13. Configuration Transfer Messages
These messages transfer Self-Organizing Network (SON) configuration information, in unacknowledged mode, between an eNodeB and a peer RAN node via the core network.
| Message | Functionality | Direction |
|---|---|---|
|
Transfers RAN configuration information from the eNodeB to the MME. |
eNodeB → MME |
|
Transfers RAN configuration information from the MME to the eNodeB. |
MME → eNodeB |
5.1.3.14. LPPa Transport Messages
These messages carry LTE Positioning Protocol Annex (LPPa) signaling between an eNodeB and the Evolved Serving Mobile Location Centre (E-SMLC), relayed transparently by the MME, as specified in TS 36.455.
| Message | Functionality | Direction |
|---|---|---|
|
Forwards a UE-associated LPPa message from the MME to the eNodeB, for example to support Enhanced Cell-ID (E-CID) or Uplink Time Difference Of Arrival (UTDOA) positioning of that UE. |
MME → eNodeB |
|
Forwards a UE-associated LPPa message from the eNodeB to the MME. |
eNodeB → MME |
|
Forwards a non-UE-associated LPPa message from the MME to the eNodeB, for example to obtain Observed Time Difference Of Arrival (OTDOA) assistance data. |
MME → eNodeB |
|
Forwards a non-UE-associated LPPa message from the eNodeB to the MME. |
eNodeB → MME |
5.1.3.15. Secondary RAT Data Usage Report Messages
| Message | Functionality | Direction |
|---|---|---|
|
Reports the resources used on a secondary Radio Access Technology (RAT), for example New Radio (NR) resources during E-UTRA-NR Dual Connectivity (EN-DC) operation. |
eNodeB → MME |
5.1.3.16. UE Radio Capability ID Mapping Messages
| Message | Functionality | Direction |
|---|---|---|
|
Asks the MME for the UE radio capability information that maps to a given UE Radio Capability ID. |
eNodeB → MME |
|
Returns the UE radio capability information that a |
MME → eNodeB |
5.1.4. References
| Specification | Clauses and coverage |
|---|---|
TS 36.413 |
|
ITU-T X.691 |
ASN.1 encoding rules: Specification of PER, used to encode S1AP messages |
TS 36.410 |
E-UTRAN; S1 general aspects and principles: defines the S1 transport network layer |
TS 32.422 |
Subscriber and equipment trace; Trace control and configuration management: defines the trace and MDT sessions that the Trace Messages control |
TS 36.455 |
LPPa, the protocol relayed transparently between the eNodeB and the E-SMLC by the LPPa Transport messages |