Event Exposure for UE Location Reporting

Table 1. Feature History

Feature Name

Release Information

Description

UE Location Reporting

2024.04.0

The event exposure functionality enables the AMF to provide specific event notifications to peer Network Functions (NFs) or external clients, such as the Gateway Mobile Location Center (GMLC). This functionality allows the AMF to expose certain events related to UE to subscribed clients, enabling them to receive updates about these events. This feature provides location information of the UE to GMLC using AMF event exposure mechanism. GMLC subscribes for one time location event report from AMF through UDM.

Command introduced:

enable ngran-location reporting — Used in AMF global configuration mode to enable UE location reporting.

Default Setting: Disabled – Configuration Required

UE Location Reporting - Feature Description

AMF provides the subscriber's location information to the GMLC using the event exposure mechanism. The GMLC subscribes to a one-time location event report from the AMF through the UDM by invoking the event exposure service of the UDM. Subsequently, the UDM initiates the event exposure subscription API towards the AMF.

After sending a response to the UDM, if the subscription request is for an immediate location, the AMF provides the last known user location to the GMLC and deletes the subscription locally, as it is a one-time report. If the subscription request is for the current location, the AMF, based on the UE state, either invokes NG-RAN location reporting procedures towards the gNB or performs paging to fetch the current location of the UE and sends the location report to the GMLC accordingly. If the system fails to fetch the current location, the AMF sends the last known user location to the GMLC.

This feature supports the reporting of UE location for non-emergency subscribers. Following are the key points for this feature to work:

  • If the feature is not enabled through configuration or unsupported combinations are used, AMF rejects the request with a 403, UNSPECIFIED error.

  • AMF supports SUPI, GPSI, and PEI as UE identifiers, with SUPI being preferred option. AMF supports only one GPSI per UE.

  • Although SUPI, PEI, and GPSI are considered conditional IEs according to the specifications, the AMF treats at least one of them as mandatory for its functionality. Therefore, the AMF requires at least one of these IEs to be present.

  • AMF starts a timer for 50 seconds when location reporting control is sent to gNB. In case of no response from gNB and if session exists, AMF sends the last known location to GMLC.

  • If AMF receives a new subscription request from the same peer NF (same NF ID) while an older subscription is still active, AMF deletes the older subscription and proceed with processing of new request.

UE Location Reporting - Limitations

Following are the limitations of this feature:

  • The event exposure functionality is available exclusively for location report triggers under the following conditions:

    • UE Type: Single UE

    • Report Type: One-time report

    • Location Filter: Cell-ID only

  • AMF does not support UE location reporting in roaming scenarios.

  • AMF does not support modify and delete operations for subscribed events.

Enable NG-RAN Location Reporting

Follow the steps to enable NG-RAN location reporting under the AMF global configuration mode.

Procedure


Step 1

Enter the AMF configuration mode.

config

Example:

[amf] amf# config 

Step 2

Access AMF Global Location Configuration.

amf-global location

This command displays the possible completion as:
{ ngran-reporting | positioning } 

Step 3

Enable NG-RAN location reporting.

ngran-reporting enabled

Step 4

Save and commit the configuration.


GMLC Profile Configuration

GMLC profile configuration includes:

  • Operator Policy Network Element Profile Configuration

  • NF Client Profile Configuration for Mutual Transport Layer Security (mTLS)

  • GMLC Profile Configuration

  • Failure Handling Profile Configuration


Note


  • AMF sends out the event notifications without a GMLC profile also, but it does not support FHT/MTLS functionality in the absence of GMLC profile configuration.


Configure GMLC in Network Element Profile List

Follow the steps to configure GMLC network element profile under the operator policy configuration mode.

Procedure


Step 1

Enter the AMF configuration mode.

config

Example:

[amf] amf# config 

Step 2

Access AMF Global Configuration.

amf-global

Step 3

Specify the operator policy under the AMF global configuration.

operator-policy policy_name

The operator policy defines specific rules and configurations that apply to the network elements under this policy. Replace policy_name with the actual name of the policy you want to configure.

Step 4

Configure the Network Element Profile List under the Operator Policy.

network-element-profile-list gmlc gmlc_name

The GMLC profile is used for location-based services.

Step 5

Save and commit the configuration.


Configure GMLC Profile

Follow the steps to configure the GMLC profile with an NF client profile and a failure handling profile, which are required for mTLS and failure handling. This setup ensures that the GMLC can securely and reliably provide location services within the network.

Procedure


Step 1

Enter the AMF configuration mode.

config

Example:

[amf] amf# config 

Step 2

Enter Network Element Profile Configuration Mode for GMLC.

profile network-element gmlc gmlc_profile_name

This command creates or modifies a network element profile for the GMLC. This profile contains specific configurations for the GMLC.

Step 3

Set the NF Client Profile

nf-client-profile nf_client_profile_name

This command sets the NF client profile to specified name. This is required only if Mutual Transport Layer Security (mTLS) is being used. The NF client profile contains the necessary configurations for mutual authentication and secure communication between network functions.

Step 4

Set the Failure Handling Profile

failure-handling-profile failure_handling_profile_name

This command sets the failure handling profile to specified name. This is required only if specific failure handling mechanisms are needed. The failure handling profile defines how the system should respond to various types of failures, ensuring robustness and reliability.

Step 5

Save and commit the configuration.


Configure NF Client Profile for GMLC

Follow the steps to configure the NF client profile for GMLC. You need to create and associate this profile to GMLC for Mutual Transport Layer Security (mTLS). This ensures a higher level of security by verifying the identities of both the client and the server.

Procedure

Step 1

Enter the AMF configuration mode.

config

Example:
[amf] amf# config 

Step 2

Create a NF Client Profile.

profile nf-client nf-type gmlc

Step 3

Specify GMLC Profile.

gmlc-profile gmlc_profile_name

This GMLC profile is associated with the NF Client Profile.

Step 4

Define a locality within the GMLC profile.

locality locality_name

Step 5

Set the priority for the specified locality.

priority priority_value

Step 6

Define the type of service name for the locality.

service name type ngmlc-loc

Step 7

Specify the endpoint profile.

endpoint-profile profile_name

Step 8

Set the capacity for the specified endpoint profile.

capacity capacity_value

Step 9

Set the priority for the specified endpoint profile.

priority priority_value

Step 10

Define the URI scheme to be used for the endpoint profile.

uri-scheme uri_scheme_name

Step 11

Specify the server name for the endpoint profile

server-name server_name

Step 12

Specify the endpoint name within the endpoint profile.

endpoint-name endpoint_name

Step 13

Set the priority for the specified endpoint.

priority priority_value

Step 14

Configure the primary IPv4/IPv6 address for the endpoint.

primary ip-address { ipv4 address ipv4_address | ipv6 address ipv6_address }

Step 15

Configure the port number for the primary IP address.

primary ip-address port ipv4_port_number

Step 16

Save and commit the configuration.


Configure Failure Handling Profile for GMLC

Follow the steps to configure the Failure Handling profile for GMLC.

Procedure

Step 1

Enter the AMF configuration mode.

config

Example:
[amf] amf# config 

Step 2

Create a NF Client Failure Handling Profile.

profile nf-client-failure nf-type gmlc

Step 3

Specify the failure handling profile to be used.

profile failure-handling failur_hanling_profile_name

This GMLC profile is associated with the NF Client Profile.

Step 4

Define the type of service name for the failure handling profile.

service name type ngmlc-loc

Step 5

Set the response timeout value for the service.

responsetimeout responsetimeout_value

Step 6

Specify the message type for the failure handling profile.

message type AmfEventNotification

Step 7

Set the status code for the specified message type.

status-code status_codtype

Step 8

Set the number of retransmission attempts for the specified status code.

retransmit retransmit_count

Step 9

Set the interval between retransmission attempts.

retransmit-interval retransmit_interval

Step 10

Specify the action to be taken when the specified status code is encountered.

action retry-and-ignore

retry-and-ignore indicates that the system retries the operation and then ignore the failure if it persists.

Step 11

Save and commit the configuration.


View Active Event Subscription

Following is an example of show command to view the active event subscritption.

[amf] amf# show subscriber supi 123456789012345

      "EventSubscriptionData": [
        {
          "EventList": [
            {
              "Type": "LOCATION_REPORT",
              "LocationFilterList": [
                "CELL_ID"
              ],
              "RefId": 100
            }
          ],
          "EventNotifyUri": "http://10.1.14.150:9110/namf-evts/v1/eventNotificationUrl",
          "NotifyCorrelationId": "ngmlc-evt-supi-XXXX-XXXXX",
          "Options": {
            "Trigger": "ONE_TIME"
          },
          "SubscriptionId": "amfevt-1717581907694157698-imsi-123456789012345",
          "NfType": "UDM"
        }
      ]

OAM Support for Event Exposure - Cell-ID

This section describes operations, administration, and maintenance support for this feature.

Bulk Statistics Support for Event Exposure - UE Location Reporting

AMF supports the following statistics for the event exposure for UE location reporting.

UDM STATS Under n8_service_stats

Following are the UDM STATS records under n8_service_stats.

Messages

Metrics Message Type

Create Event Subscription Req & Rsp

NudmAMFCreateSubscriptionReq

NudmAMFCreateSubscriptionRsp

Following is the example of stats output:

  • n8_service_stats{app_name="AMF",cluster="clu1",data_center="dc1",instance_id="3",message_type="NudmAMFCreateSubscriptionReq",
    reason="",roaming_status="HOMER",service_name="amf-service",slice_data="_2-333333",status="success"} 1
    
  • n8_service_stats{app_name="AMF",cluster="clu1",data_center="dc1",instance_id="3",message_type="NudmAMFCreateSubscriptionRsp",
    reason="",roaming_status="HOMER",service_name="amf-service",slice_data="_2-333333",status="success"} 1
    

GMLC STATS Under nl2_service_stats

Following are the GMLC STATS records under nl2_service_stats.

Messages

Metrics Message Type

Event Notification Req & Rsp

NgmlcEventNotificationReq

NgmlcEventNotificationRsp

Following is the example of stats output:

  • nl2_service_stats{app_name="AMF",cluster="clu1",data_center="dc1",instance_id="3",message_type="NgmlcEventNotificationReq",
    reason="",roaming_status="HOMER",service_name="amf-service",slice_data="_2-333333",status="success"} 1
    
  • nl2_service_stats{app_name="AMF",cluster="clu1",data_center="dc1",instance_id="3",message_type="NgmlcEventNotificationRsp",
    reason="",roaming_status="HOMER",service_name="amf-service",slice_data="_2-333333",status="success"} 1
    

NGAP STATS Under n2_service_stats

Following are the NGAP STATS records under n2_service_stats.

Messages

Metrics Message Type

Location Procedure Messages

N2LocationReport

N2LocationReportingControl

N2LocationReportingFailureIndication

Following is the example of stats output:

  • n2_service_stats{app_name="AMF",cluster="clu1",data_center="dc1",instance_id="3",message_type="N2LocationReport",
    reason="",roaming_status="HOMER",service_name="amf-service",slice_data="_2-333333",status="success"} 2
    
  • n2_service_stats{app_name="AMF",cluster="clu1",data_center="dc1",instance_id="3",message_type="N2LocationReportingControl",
    reason="",roaming_status="HOMER",service_name="amf-service",slice_data="_2-051615",status="success"} 1
    
  • n2_service_stats{app_name="AMF",cluster="clu1",data_center="dc1",instance_id="0",message_type="N2LocationReportingFailureIndication",
    reason="",roaming_status="HOMER",service_name="amf-service",slice_data="_2-333333",status="success"} 1
    

NGAP STATS Under AMF Protocol

Following are the NGAP STATS records under amf_ngap_message_total.

Messages

Metrics Message Type

Location Procedure Messages

N2LocationReport

N2LocationReportingControl

N2LocationReportingFailureIndication

Following is the example of stats output:

  • amf_ngap_message_total{app_name="AMF",cluster="clu1",data_center="dc1",instance_id="3",message_direction="inbound",message_type="N2LocationReport",
    service_name="amf-protocol-ep"} 1
    
  • amf_ngap_message_total{app_name="AMF",cluster="clu1",data_center="dc1",instance_id="3",message_direction="outbound",message_type="N2LocationReportingControl",
    service_name="amf-protocol-ep"} 1
    
  • amf_ngap_message_total{app_name="AMF",cluster="clu1",data_center="dc1",instance_id="3",message_direction="inbound",message_type="N2LocationReportingFailureIndication",
    service_name="amf-protocol-ep"} 1