Location Services

LoCation Services (LCS) on the MME and SGSN is a 3GPP standards-compliant feature that enables the system (MME or SGSN) to collect and use or share location (geographical position) information for connected UEs in support of a variety of location services.

Location Services - Feature Description

The Location Services (LCS) feature enables the EPC MME and the GPRS/UMTS SGSN to use the SLg (MME) or Lg (SGSN) interface which provides the mechanisms to support specialized mobile location services for operators, subscribers, and third party service providers. Use of this feature and the SLg/Lg interface is license controlled.

The location information is reported in standard geographical co-ordinates (longitude and latitude) together with the time-of-day and the estimated errors (uncertainty) of the location of the UE. For external use, the location information may be requested by and reported to a client application associated with the UE, or a client within or attached to the core network. For internal use, the location information can be utilized by the SGSN for functions such as location assisted handover or to support other features.

Location information is intended to be used for

  • location-based charging (e.g., home-location billing, roaming-location billing),
  • location-based services (e.g., lawful interception, emergency calls),
  • positioning services offered to the subscribers (e.g., mobile yellow pages, navigation applications on mobiles), and
  • by the operator for service provider services such as network planning and enhanced call routing.

How Location Services Works

The MME LCS responsibilities are to manage LCS positioning requests. The LCS functions of the MME are related to LCS co-ordination, location requests, and operation of the LCS services.

The operation begins with a LCS Client requesting location information for a UE from the LCS server. The LCS server will pass the request to the MME in the core network. The MME in the core network then:

  1. verifies that the LCS Client is authorized to request the location of the UE or subscriber
  2. verifies that location services are supported by the UE
  3. establishes whether it (the MME) is allowed to locate the UE or subscriber, for privacy or other reasons
  4. requests the access network (via S1 interface) to provide location information for an identified UE, with indicated QoS
  5. receives information about the location of the UE from the Access Network and forward it to the Client

Architecture

The MME is accessible to the Gateway Mobile Location Center (GMLC) via the SLg interface.

The MME is accessible to the Evolved Serving Mobile Location Center (E-SMLC) via the SLs interface.

The SGSN is accessible to the GMLC via the Lg interface.

Figure 1. LCS Architecture


The MME informs the HLR/HSS about a UE's location services capabilities for an EPC network.

Supported Functionality

Development of MME support for LCS functions continues. The following lists the LCF functions that have been added, in the order they have been added:

  • Immediate Mobile-Terminating Location Requests (MT-LI) [TS 3GPP 23.271].
  • MT-LR procedures from the GMLC with client types of: Emergency Services, Value Added Services, PLMN Operator Services, and Lawful Intercept Services.
  • Network Induced (NI-LR) procedures for Emergency PDN Connect and Emergency Attach, and Inbound relocation with emergency PDN (through TAU or SRNS).
  • Circuit Switch Fallback (CSFB): When a UE is combined attached to the MME, and the CSFB registration is not for SMS-only services, the MME shall page UE on receipt of an SGs page with LCS Client identity.
  • From Release 16.1 onwards, MME supports SLs interface: This interface is used to convey LCS Application Protocol (LCS-AP) messages and parameters between the MME to the Evolved Serving Mobile Location Center (E-SMLC). It is also used for tunneling LTE Positioning Protocols (LPP between the E-SMLC and the target UE, LPPa between the E-SMLC and the eNodeB), which are transparent to the MME. Refer to 3GPP TS 29.171 for more information.
  • Supports UE signaling procedures for LCS. Refer to 3GPP TS 23.271 for more details.
  • Supports UE and eNodeB signaling for LTE Positioning Protocol (LPP) and LTE Positioning Protocol A (LPPa). Refer to 3GPP TS 36.355 and 36.455 for more details.
  • From Release 17.3.2 onwards, the MME supports sending the EMERGENCY_CALL_RELEASE event in a subscriber location report (SLR) request message, to the GMLC to notify the GMLC of the call release, when an emergency call is released or when an emergency PDN is disconnected at the MME. The call release event enables the GMLC to clear the cache for existing calls and to correctly log the duration of an emergency call. Without call release facilitating the clearing of the cache, the location platform could send the old (erroneous) location information in response to a new location request for an E-911 call. Refer to 3GPP TS 29.172 for more information.
  • From Release 17.4 onwards, the MME supports sending the EMERGENCY_CALL_HANDOVER event, in a Subscriber Location Report (SLR) request message, to the configured GMLC, to notify the GMLC of the handover when an emergency call does an outbound handover from the MME. The SLR, sent when the outbound handover procedure completes, includes the UE Identity (UE's MSISDN, IMSI, and IMEI), the target service node ID (either MSC ID for SRVCC HO or SGSN ID for GnGp HO) if available, and the event type as handover. This ensures that the GMLC is aware that the subscriber has moved from the source MME and ensures location continuity for IMS emergency calls during SRVCC (PS to CS) handovers. For location continuity during SRVCC handover, the MME supports including the MSC ID in the target service node ID. However, since the MME does not have the expected target service node ID (MSC ID), the MSC ID must be mapped to the serving MSC IP-address information (part of the MME Service configuration) to derive the needed ISDN number (see Map the MSC ID in the Configuration section). The MME also includes the MSC identity in the target service node IE (per TS 29.172) as part of the Provide Subscriber Location Response (PSL), if an MT-LR procedure was in progress during SRVCC handover of an emergency call.
  • In release 21.3, MME controls the initiation of Subscriber Location Report (SLR) towards GMLC for emergency calls over SLg interface. This helps in reducing the signaling storm towards GMLC for bogus emergency attaches when LCS is enabled at MME.

    MME initiates the SLR towards GMLC upon creation (Call-Origination) and deletion (Call-Release) of dedicated bearer only. In case of multiple dedicated bearers, SLR message with Call-Origination is sent upon the first dedicated bearer creation and Call-Release is sent upon the last dedicated bearer deletion irrespective of QCI. This will override the old behavior of MME which initiates SLR towards GMLC upon the Emergency Attach/PDN creation/PDN deletion and Detach with appropriate event type (Call-Origination/Call-Release/Call-Handover). In case of Emergency PDN created as part of Emergency Attach itself, MME will send the SLR with Call-Origination event once and Call-Release will be sent upon Emergency PDN deletion. Also, the SLR message with Call-Handover will be sent only when "Call-Origination" event gets notified to GMLC by MME (only if the dedicated bearer exists).

    Refer to the Enabling the Subscriber Location Report Message Trigger section in this chapter for configuration related details.

DSCP Marking for SLs Interface

SLs interface allows Differentiated Services Code Point (DSCP) marking functionality. DSCP marking helps in packet traffic management. DSCP marking can be performed on both IPv4 and IPv6 packets leaving the SLs interface.

Either the pre-defined DSCP values can be used for marking, or any arbitrary value ranging from 0x01 to 0x3F can be assigned. The default DSCP value is 0x00 or be (Best Effort). The default DSCP value is automatically set when the configuration is disabled.

config 
   context context_name  
      sls-service service_name  
         [no] ip qos-dscp dscp_value 
         end 
  • ip defines the Internet Protocol parameters for the packets leaving through the SLs interface.

  • qos-dscp designates the Quality of Service - Differentiated Services Code Point value to the packet leaving through the SLs interface.

  • dscp_value is a value assigned to the packet for DSCP marking. The value can be a pre-defined DSCP value or an arbitrary value ranging from 0x01 to 0x3F.

Limitations

Currently, MME support is limited to:

  • A single location request at a time for the target UE. Concurrent location requests are not supported.
  • Location reporting granularity is at the E-UTRAN Cell Global Identifier (EGCI) level only. Note: With SLs interface support, location estimate in universal co-ordinates is supported (Refer to 3GPP TS 29.172).
  • The MME does not bind all the call events for an emergency call to a specific GMLC peer. As a result, if multiple GMLC peers are configured, the call events for a single emergency call can be sent to any of the configured GMLC peers.

Flows

Mobile Terminated Location Requests

Figure 2. 4G LCS - MT-LR Call Flow - Connected Mode


  1. The MME receives a Provide Location Request from the GMLC. The UE is in Connected mode.
  2. The MME sends Location Report Control message with request-type as 'Direct'.
  3. The eNodeB (ENB) sends the current location of the UE (ECGI) in the Location report message.
  4. The MME sends Provide Location Answer to GMLC with ECGI received in the location Report Message
Figure 3. 4G LCS - MT-LR Call Flow - Idle Mode


  1. The MME receives a Provide Location Request from the GMLC. The UE is in idle mode.
  2. The MME pages the UE.
  3. If the UE does not respond to the page, the MME responds with the last known location and sets the age of location report accordingly if the Location Type requested by the GMLC was "current or last known location".
  4. If paging is successful, the UE responds with Service request/TAU request.
  5. The MME uses the ECGI in the S1 message and sends Provide Location Answer message to the GMLC.

Network Induced Location Requests

Figure 4. 4G LCS - NI-LR Call Flow


  1. The UE establishes Emergency bearers with MME. This could be a Emergency Attach or establishment of an Emergency PDN. Handover of an Emergency call from one MME to the other is also possible.
  2. If the MME is configured to support Location service for emergency calls, the latest ECGI is sent in the Subscriber Location Report message to the configured GMLC.
  3. The GMLC, on processing the Subscriber location report, sends the Subscriber location ACK. Note: A Negative ACK will not have any effect.

EPC Mobile Terminating Location Request (EPC-MT-LR)

Refer to 3GPP TS 23.271 v10.4.0, Section 9.1.15

EPC Network Induced Location Request (EPC-NI-LR)

Refer to 3GPP TS 23.271 v10.4.0, Section 9.1.17

EPC Post Positioning Notification and Verification Procedure

Refer to 3GPP TS 23.271 v10.4.0, Section 9.1.18

Mobile Originating Location Request, EPC (EPC-MO-LR)

Refer to 3GPP TS 23.271 v10.4.0, Section 9.2.6

UE Assisted and UE Based Positioning and Assistance Delivery

Refer to 3GPP TS 23.271 v10.4.0, Section 9.3a.1

Network Assisted and Network Based Positioning Procedure

Refer to 3GPP TS 23.271 v10.4.0, Section 9.3a.2

Obtaining Non-UE Associated Network Assistance Data

Refer to 3GPP TS 23.271 v10.4.0, Section 9.3a.3

Handover of an IMS Emergency Call

Refer to 3GPP TS 23.271 v10.4.0, Section 9.4.5.4 with the following provision: The MSC ID (expected target serving node ID) is not known to the MME so the MSC ID must be mapped (using CLI configuration, see Map the MSC ID in the Configuration section) to derive the ISDN number that is sent to the GMLC to support location continuity of SRVCC handover. This support added in 17.4.

Standards Compliance

The Location Services feature complies with the following standards:

  • TS 3GPP 23.271, v10.4.0
  • TS 3GPP 23.272, v10.9.0
  • TS 3GPP 24.080, v10.0.0
  • TS 3GPP 24.171, v9.0.0
  • TS 3GPP 29.172, v10.1.0

Configuring Location Services (LCS)

This section provides a high-level series of steps and the associated configuration examples to configure Location Services on the MME.

The commands could be issued in a different order, but we recommend that you follow the outlined order for an initial LCS configuration. All listed configuration steps are mandatory unless otherwise indicated.


Important

For all the required configuration commands to be available and to implement the configuration, the MME must have loaded the license for the Lg interface.


Procedure


Step 1

Create a location service configuration on the MME.

Step 2

Associate the location service with the appropriate Diameter endpoint (origin host - MME and destination host - GMLC) for SLg interface .

Step 3

Associate the MME service with this location service.

Step 4

Associate the LTE Emergency Policy with this location service.

Step 5

Map the MSC ID and the MSC's IP-address.

Step 6

Enable or disable the generation of Subscriber Location Report (SLR) message upon dedicated bearer creation or deletion.

Step 7

Save your configuration to flash memory, an external memory device, and/or a network location using the Exec mode command save configuration . For additional information on how to verify and save configuration files, refer to the System Administration Guide.

Step 8

Verify the configuration for each component by following the instructions provided in the Verifying the Feature Configuration section.


Creating and Configuring a Location Service

In this section, configure the endpoints for the origin (the MME) and the destination host (the GMLC). A location service must be created within a context. Up to 16 separate location services can be created.


Important

The origin host (the MME) configured in the endpoint for SLg interface must match the origin host configured in the endpoint for S6a interface.


config 
   context context_name -noconfirm 
      location-service location_svc_name  -noconfirm 
         associate diameter endpoint endpoint 
         end 

Notes:

  • This series of commands creates a Location Service and associates the service with a diameter endpoint for the SLg interface.
  • If multiple GMLC peers are configured, the call events for a single emergency call can be sent to any of the configured GMLC peers. If there are concerns about sending reports to different GMLCs, then configure only one peer GMLC as the SLg endpoint.

Associate the MME Service with the Location Service

Once the location service is created and configured, the MME service must be associated with it. The steps below assume the MME service has already been created.

config 
   context context_name -noconfirm 
      mme-service mme_svc_name 
         associate location-service location_svc_name 
         end 

Notes:

  • This series of commands associates an MME service with the new location service.

Associate the LTE Emergency Profile with the Location Service

Once the location service is created and configured, the LTE Emergency Profile must be associated with it. The steps below assume the LTE Emergency Profile has already been created.

This procedure enables the MME to provide location information of an emergency call to the GMLC.

config 
   lte-policy 
      lte-emergency-profile profile_name 
         associate location-service location_svc_name 
         end 

Notes:

  • This series of commands associates the LTE Emergency Profile with the new location service.

Map the MSC ID

This configuration creates a mapping between the MSC ISDN number and the MSC's IP-address (either IPv4 or IPv6) to ensure location continuity for SRVCC handover. This mapping is required to include the MSV ID in the target service node IE for the Emergency_Call_Handover event.

configure 
   context context_name 
      mme-service service_name 
         msc-mapping ip-address { IPv4_address | IPv6_address } isdn isdn_number 
         no msc-mapping ip-address { IPv4_address | IPv6_address }  
         end 

Notes:

  • The MSC IP address, key part of the mapping definition, is used to identify a specific mapping definition.
  • isdn_number : Enter a numeric string upto 15 digits long.
  • no msc-mapping ip-address : Identifies a specific MSC IP address mapping definition to remove from the MME Service configuration.
  • MME Service supports a maximum of 24 MSC mappings.
  • Use the show mme-service command to view configured mapping. the following is a sample of what the MSC mapping information would look like:
    MSC IP-Address and ISDN Mapping 
    192.168.61.2          :     123456789012345 
    192.168.61.3          :     123456789012346 

Enabling the Subscriber Location Report Message Trigger

This configuration allows the MME to enable or disable the Subscriber Location Report (SLR) message trigger for emergency calls based on the dedicated bearer states either creation or deletion.

configure 
   context context_name 
      location-service service_name 
         [ no ] slr emergency dedicated-bearer-only 
         end 

Notes:

  • In case of multiple dedicated bearers, the SLR message with Call-Origination is sent upon the creation of first dedicated bearer and Call-Release is sent upon the deletion of last dedicated bearer irrespective of QCI.

  • By default, MME triggers the SLR message towards GMLC upon successful Emergency Attach/PDN creation/PDN deletion and Detach with appropriate event type (Call-Origination/Call-Release/Call-Handover).

Verifying the Configuration

show location-service service name service_name

The SLR trigger configuration can be verified using the following show command.

The SLR trigger for Emergency calls field indicates the status of SLR trigger for emergency calls on executing the above command:

Displays the following information with configuration enabled:

SLR trigger for Emergency calls : Dedicated Bearer Only

Displays the following information with configuration disabled:

SLR trigger for Emergency calls : Attach or PDN

Verifying the LCS Configuration

The following command displays configuration information for all Location services configured on the MME.

show location-service service all 

The following command displays the location service to which each MME service is associated.

show mme-service all  

The following command displays the location service to which the specified LTE Emergency Profile is associated.

show lte-policy lte-emergency-profile profile_name  

The following command displays a list of all services configured on the system, including location services (listed as Type: lcs).

show services all  

Monitoring Location Services (LCS)

This section lists the bulk statistics and show commands that display operational statistics relating to Location services.

LCS Bulk Statistics

LCS service related bulk statistics are provided within the LCS schema.

Use the following command to display a list of all variables available within this schema:

show bulkstats variables lcs  

For more information about these statistics, refer to the LCS Schema chapter of the Statistics and Counters Reference.

LCS Show Commands

The following command displays the configuration information for all Location services (LCS) configured on the system.

show location-service service name location_svc_name 

The following command displays statistics for all Location services (LCS) configured on the MME.

show location-service statistics all 

Use the following command to clear the LCS statistics for a specific Location service.

clear location-service statistics service location_svc_name 

The following command displays LCS statistics for a specific MME service.

show mme-service statistics service mme-service mme_svc_name 

Use the following command to clear MME service statistics for a specific MME service.

clear mme-service statistics mme-service mme_svc_name 

Event Logging

Event logging for the LCS (SLg interface) can be enabled using the following command:

logging filter active facility location-service level severity_level 

Refer to the System Logs chapter of the System Administration Guide for more information about event logging.

Configuring the SLs Interface

Creating and Configuring the SLs Service

An SLs service must be created within a context. This service provides an interface from the MME to one or more E-SMLCs.

config 
   context context_name -noconfirm 
       sls-service sls_svc_name -noconfirm 
         bind ipv4/v6-address ipv4/v6_address_value1 ipv4-address ipv4/v6_address_value2 port sctp_port_num sctp-template sctp_param_template_name  
         esmlc esmlc-id esmlc_id_value ipv4-address ipv4_address_value1 port sctp_port_num weight weight 
         t-3x01 low-delay seconds delay-tolerant seconds 
         t-3x02 seconds 
         max-retransmissions reset retries  
         end 

Notes:

  • Up to 4 separate SLs services can be created on the system. The SLs service name must be unique across all contexts.
  • The SLs service must be bound to at least 1 IP address. Up to 2 IPv4 or 2 IPv6 addresses can be specified for multi homing purposes. A valid SCTP Parameter Template must be defined in order for the SLs service to start. The default SCTP port is 9082.
  • Up to 8 E-SMLC entries can be configured per SLs service. Up to 2 IPv4 or 2 IPv6 addresses can be specified for each E-SMLC for multi homing purposes. The MME performs a weighted round robin selection of E-SMLC based on the defined weight factor of 1 through 5, where 1 represents the least available relative capacity of the E-SMLC and 5 represents the greatest. The default SCTP port is 9082. A given E-SMLC can serve multiple SLs services on the same MME or even SLs services across separate MMEs.
  • The t-3x01 timer, t-3x02 timer and max-retransmission reset command are all optional configurations.

Associating the SLs Service with the Location Service

The SLs service provides an interface to the E-SMLC for the location service. The SLs service is not a critical parameter for location services. If this association is removed, there is no impact to existing transactions and future transactions will not use the Sls service.

config 
   context context_name -noconfirm 
      location-service loc_svc_name -noconfirm 
         associate sls-service sls_svc_name  
         end 

Configuring LCS QoS for Emergency Sessions

This new command defines the location service QoS settings to be used for this emergency profile.

config 
   lte-policy 
      lte-emergency-profile profile_name 
         lcs-qos horizontal-accuracy variable vertical-accuracy variable 
         end 

Notes:

  • Horizontal and vertical positioning accuracy values must be entered as an integer from 0 to 127, where 0 is the most accurate.
  • Configuration of these settings is optional. For Emergency Services, the MME will always set the Response Time to Low Delay. If QoS is configured, the horizontal accuracy is mandatory. If a vertical accuracy is specified in this command, the MME will set the Vertical Requested flag. The LCS-Priority IE on SLs interface is always set to Highest-Priority for NI-LR call flows.

Verifying the SLs Service Configuration

The following command displays configuration information for all SLs services on the MME:

show sls-service service all  

The following command displays configuration errors and warnings related to all SLs services on the MME:

show configuration errors section sls-service verbose 

The following command displays to which SLs service the location service is associated:

show location-service service all 

The following command displays the configured Location Service (LCS) Quality of Service (QoS) for the specified LTE emergency profile:

show lte-policy lte-emergency-profile name 

Monitoring SLs Services

This section lists the SNMP traps, bulk statistics and show commands that display operational statistics relating to SLs services.

SNMP Traps

The following traps are available to track status and conditions relating to the SLs service.

  • starSLSServiceStart: An SLS Service has started.
  • starSLSServiceStop: An SLS Service has stopped.

The following traps are available to track status and conditions of individual E-SMLC associations.

  • starESMLCAssocDown: An ESMLC Association is down.
  • starESMLCAssocUp: An ESMLC Association is up. This notification is only generated for an Association which has previously been declared down.

The following traps are available to track status and conditions of all E-SMLC associations.

  • starESMLCAllAssocDown: All the ESMLC Associations are down.
  • starESMLCAllAssocDownClear: At least one ESMLC associations is up. This notification is only generated for all the Association which have previously been declared down.

SLs Bulk Statistics

SLs service related bulk statistics are provided within the SLs schema.

Use the following command to display a list of all variables available within this schema:

show bulkstats variables sls  

For more information about these statistics, refer to the SLs Schema chapter of the Statistics and Counters Reference.

SLs Service Show Commands

The following command displays SLs service statistics and/or related SCTP statistics. These statistics can be filtered based on SLs service name or E-SMLC id.

show sls-service statistics [ name svc_name ] [ sls | sctp ] [ esmlc-id esmlc-id ]  

The following commands show the last known location of the UE that was derived using the E-SMLC.

show mme-service db record imsi 
show mme-service db record guti 

Event Logging

Event logging for the SLs interface can be enabled using the following command:

logging filter active facility sls level severity_level 

Refer to the System Logs chapter of the System Administration Guide for more information about event logging.