SGs Interface and CSFB
This document describes the SGs interface and Circuit-Switched Fallback (CSFB) implementation in OmniMSC by Omnitouch per 3GPP TS 29.118. The SGs interface connects the MSC/VLR to the MME, enabling combined EPS/IMSI attach, CS paging via the LTE network, and SMS delivery without CS fallback.
For the CSFB MT call sequence diagram, see Call Flow Diagrams. For configuration parameters, see Configuration Reference. For authentication during combined attach, see Authentication & Security. For SMS over SGs, see SMS. For MSC Pool considerations with CSFB, see MSC Pool.
Overview
In LTE networks, the MME handles mobility management for packet-switched services. However, LTE does not natively support circuit-switched voice prior to VoLTE deployment. CSFB allows LTE-attached subscribers to receive and make CS voice calls and SMS by falling back to the 2G/3G CS domain.
The SGs interface is the signalling link between the MSC/VLR and the MME, carrying SGsAP messages over SCTP (default port 29118). Through SGs, the MSC can:
- Perform combined EPS/IMSI attach, registering a subscriber in both the EPC and CS domains simultaneously.
- Page LTE-attached subscribers for incoming CS calls, triggering a fallback to GERAN or UTRAN.
- Deliver SMS to LTE-attached subscribers without CSFB, tunnelling the NAS PDU through the SGs interface.
SGsAP Message Types
The SGs interface carries the following SGsAP message types per 3GPP TS 29.118.
Location Update
| Message | Direction | Purpose |
|---|---|---|
| SGsAP-LOCATION-UPDATE-REQUEST | MME to MSC | Combined EPS/IMSI attach or periodic location area update |
| SGsAP-LOCATION-UPDATE-ACCEPT | MSC to MME | Location update accepted, includes new TMSI |
| SGsAP-LOCATION-UPDATE-REJECT | MSC to MME | Location update rejected with cause code |
Paging and Service
| Message | Direction | Purpose |
|---|---|---|
| SGsAP-PAGING-REQUEST | MSC to MME | Page subscriber for MT call or MT SMS |
| SGsAP-SERVICE-REQUEST | MME to MSC | Subscriber responding to CS paging (CSFB in progress) |
| SGsAP-SERVICE-ABORT-REQUEST | MSC to MME | Abort a CS fallback service request |
SMS Tunnelling
| Message | Direction | Purpose |
|---|---|---|
| SGsAP-DOWNLINK-UNITDATA | MSC to MME | MT SMS delivery: NAS PDU carried to UE via SGs |
| SGsAP-UPLINK-UNITDATA | MME to MSC | MO SMS submission: NAS PDU carried from UE via SGs |
Detach
| Message | Direction | Purpose |
|---|---|---|
| SGsAP-EPS-DETACH-INDICATION | MME to MSC | Subscriber detached from EPS |
| SGsAP-EPS-DETACH-ACK | MSC to MME | Acknowledge EPS detach |
| SGsAP-IMSI-DETACH-INDICATION | MME to MSC | Subscriber IMSI detach |
| SGsAP-IMSI-DETACH-ACK | MSC to MME | Acknowledge IMSI detach |
Reset and Status
| Message | Direction | Purpose |
|---|---|---|
| SGsAP-RESET-INDICATION | Either direction | Peer has restarted; receiver must re-register affected subscribers |
| SGsAP-RESET-ACK | Either direction | Acknowledge reset indication |
| SGsAP-STATUS | Either direction | Error indication with cause and erroneous message |
| SGsAP-MM-INFORMATION-REQUEST | MSC to MME | Network name and time zone information |
| SGsAP-ALERT-REQUEST | MSC to MME | Alert request after paging failure |
| SGsAP-ALERT-ACK | MME to MSC | Acknowledge alert |
| SGsAP-UE-ACTIVITY-INDICATION | MME to MSC | UE has become active |
| SGsAP-RELEASE-REQUEST | MSC to MME | Release SGs connection for this subscriber |
Combined EPS/IMSI Attach
When a UE performs a combined EPS/IMSI attach in LTE, the MME sends an SGsAP-LOCATION-UPDATE-REQUEST to the MSC. The MSC performs a VLR location update, which may include HLR interrogation, and responds with acceptance or rejection. Upon acceptance, the subscriber is registered in both the EPC (via the MME) and the CS domain (via the MSC/VLR) simultaneously.
After a successful combined attach, the subscriber's SGs association state transitions to SGs-ASSOCIATED. The MSC can now page the subscriber via SGs and deliver SMS without CSFB.
MT Call Paging via CSFB
When an MT call arrives for a subscriber that is attached via LTE (SGs-associated), the MSC pages the subscriber through the MME rather than through BSCs. The MME instructs the UE to fall back to 2G or 3G, where the call proceeds over the A-interface or Iu-CS interface.
Once the UE has fallen back to the CS domain and sent a Paging Response via the BSC, the call proceeds as a normal MT call. The MSC-A state machine handles the E-UTRAN/SGs RAN type by omitting the Clear Complete step that would normally be expected from a BSC, since the SGs association does not use BSSMAP connection management.
MT SMS via SGs
SMS can be delivered to LTE-attached subscribers without requiring CSFB. The MSC tunnels the SMS NAS PDU through the SGs interface to the MME, which delivers it to the UE over the LTE air interface. This avoids the latency and radio resource cost of a CS fallback for a short message.
MO SMS follows the reverse path: the UE sends the SMS NAS PDU via the MME as SGsAP-UPLINK-UNITDATA, and the MSC forwards it to the SMS Centre.
SGs Association States
Each subscriber's SGs association is tracked as a state machine per 3GPP TS 29.118 Section 4.
| State | Description |
|---|---|
| SGs-NULL | No SGs association exists. CS paging via SGs is not possible. This is the initial state. |
| LA-UPDATE-REQUESTED | A location update is in progress. The MSC has received a request from the MME but has not yet completed the HLR update. |
| SGs-ASSOCIATED | The subscriber has a valid SGs association. The MSC can page via SGs and deliver SMS without CSFB. |
MME Tracking
The SGs handler maintains a registry of known MMEs. Each MME is identified by its FQDN (the MME Name information element in SGsAP messages). For each MME, the handler tracks:
- The SCTP connection reference used for sending outbound messages.
- The set of IMSIs (subscribers) currently associated with that MME.
This per-MME subscriber registry enables targeted reset handling: when an MME fails, only the subscribers associated with that specific MME are affected.
MME Reset Handling
Reset procedures ensure state consistency when either the MSC or an MME restarts.
| Scenario | Initiator | Action by Receiver |
|---|---|---|
| MSC restart | MSC sends SGsAP-RESET-INDICATION to all known MMEs | Each MME re-sends SGsAP-LOCATION-UPDATE-REQUEST for its associated subscribers, allowing the MSC to rebuild VLR state |
| MME restart | MME sends SGsAP-RESET-INDICATION to the MSC | MSC marks all subscribers associated with that MME as SGs-detached (SGs-NULL state) and clears the subscriber list for that MME |
| SGs link failure | Detected by either side | Both sides treat the failure as an implicit reset |
When the MSC receives a Reset Indication from an MME, it iterates over all subscribers registered against that MME, transitions each to the SGs-NULL state, and clears the MME's subscriber set. On the next contact from any affected subscriber (location update or paging response), the MSC performs a full re-registration.
SGsAP Codec
OmniMSC includes a codec module that handles encoding and decoding of SGsAP messages per the formats defined in 3GPP TS 29.118. The codec processes the binary SGsAP message type octet and information elements (IEs), supporting all mandatory and optional IEs for each message type. Encoded messages are transmitted over SCTP; decoded messages are dispatched to the SGs handler for processing.
Configuration
The SGs interface is configured under the sgs key in the MSC configuration.
| Parameter | Default | Description |
|---|---|---|
| listen_port | 29118 | SCTP listen port for SGsAP connections from MMEs. Port 29118 is the 3GPP-defined port for SGs per TS 29.118. |
| vlr_name | (required) | VLR name in FQDN format, used in SGsAP messages. The MME uses this to identify the VLR. Must match the VLR name configured on the MME side. |
RAN Type: E-UTRAN via SGs
The MSC-A state machine supports E-UTRAN via SGs as a distinct RAN type (:eutran_sgs). When a subscriber is SGs-associated, the MSC-A FSM adjusts its behavior for the SGs interface:
- No BSSMAP connection management is used; there is no Clear Command / Clear Complete exchange.
- Paging is performed via SGsAP-PAGING-REQUEST to the MME rather than via BSSMAP Paging to BSCs.
- SMS delivery uses SGsAP Downlink/Uplink Unitdata rather than DTAP over the A-interface.
- Once the subscriber falls back to GERAN or UTRAN (after CSFB), the connection transitions to the corresponding RAN type for the remainder of the call.
3GPP Specification References
| Specification | Title | Relevance |
|---|---|---|
| TS 29.118 | MME-VLR SGs Interface Specification | SGsAP protocol, message formats, procedures |
| TS 23.272 | Circuit Switched Fallback in EPS | CSFB architecture, call flows, SMS over SGs |
| TS 23.012 | Location Management Procedures | VLR location update procedures used in SGs |
| TS 24.008 | Mobile Radio Interface Layer 3 | NAS messages tunnelled via SGs Unitdata |