Methods, systems, and computer readable media for dynamically provisioning and using public land mobile network (PLMN) location mappings in service capability exposure function (SCEF) or network exposure function (NEF)

A method for dynamically provisioning and using PLMN location mappings includes, in an SCEF or NEF, receiving, from a PLMN network node, a message containing a PLMN location identifier and a non-PLMN location identifier, extracting the PLMN location identifier and the non-PLMN location identifier from the message and storing, in a PLMN location mapping database in the SCEF or NEF, a mapping between the PLMN location identifier and the non-PLMN location identifier. The method further includes receiving, via a monitoring interface of the SCEF or NEF, a monitoring request message requesting IoT device information and including a non-PLMN location identifier. The method further includes locating an entry in the PLMN location mapping database corresponding to the non-PLMN location identifier, extracting a PLMN location identifier from the database, using the PLMN location identifier extracted from the database to obtain IoT device information, and responding to the monitoring request message with the IoT device information.

TECHNICAL FIELD

The subject matter described herein relates to provisioning and using PLMN location mappings in a database. More particularly, the subject matter described herein relates to dynamically provisioning a PLMN location mapping database and using the mappings to respond to monitoring request messages from Internet of things (IoT) application servers (ASs) and service capability servers (SCSs).

BACKGROUND

The Third Generation Partnership Project (3GPP) defines machine type communication (MTC) monitoring procedures that allow IoT ASs and SCSs to monitor IoT devices. The interface used by ASs and SCSs to monitor IoT devices is referred to as the T8 interface or reference point and is provided in 4G networks by the SCEF. In 5G networks, the NEF provides the interface for IoT ASs and SCSs to obtain information regarding IoT devices.

One type of monitoring that is performed via the T8 interface is monitoring to determine the number of IoT devices located in a geographic area. Such monitoring might be useful, for example, to determine the number of IoT devices or UEs present in fleet motor vehicles in a geographic area. In another example, IoT devices may be attached to or worn by cattle and may be used to track movements of cattle within a geographic area. In a security application, IoT devices may be worn or carried by security personnel, and it may be desirable to know the number of security personal present in a given geographic area.

To perform this type of monitoring, a user may send a request to an SCS or AS. The request from the user may identify the geographic area for which monitoring is requested using a common name, address, or geographic coordinates. The SCS or AS sends a monitoring request message to the SCEF or NEF. Because SCSs and ASs are external to the PLMN in which the IoT devices are operating, the SCSs and ASs might not know PLMN location information (e.g., cell ID, evolved nodeB (eNB) ID, etc.) where the IoT devices are located. As a result, the monitoring request message may simply include a geographic identifier (e.g., the name of a place or region).

The SCEF or NEF receives the monitoring request message and must determine which PLMN nodes to contact to obtain the counts of UEs within the geographic area identified in the monitoring request message. To identify the PLMN nodes to contact, the SCEF or NEF must store or have access to mappings between geographic identifiers and PLMN location information for PLMN nodes that serve UEs within the geographic area.

Currently, there is no mechanism specified for automatically provisioning a database of PLMN location mappings in the SCEF or NEF for responding to these types and other types of monitoring request messages. Accordingly, there exists a long felt need for methods, systems, and computer readable media for dynamically provisioning and using PLMN location mappings in an SCEF or NEF.

SUMMARY

A method for dynamically provisioning and using public land mobile network (PLMN) location mappings includes, in a service capability exposure function (SCEF) or a network exposure function (NEF) implemented using at least one processor, receiving, from a PLMN network node, a message containing a PLMN location identifier and a non-PLMN location identifier, extracting the PLMN location identifier and the non-PLMN location identifier from the message, and storing, in a PLMN location mapping database in the SCEF or NEF, a mapping between the PLMN location identifier and the non-PLMN location identifier. The method further includes receiving, via a monitoring interface of the SCEF or NEF, a monitoring request message requesting Internet of things (IoT) device information and including a non-PLMN location identifier, locating an entry in the PLMN location mapping database corresponding to the non-PLMN location identifier and extracting a PLMN location identifier from the database, using the PLMN location identifier extracted from the database to obtain IoT device information, and responding to the monitoring request message with the IoT device information.

According to another aspect of the subject matter described herein, receiving, from a PLMN network node, a message containing a non-PLMN location identifier and a PLMN location identifier includes receiving a Diameter connection management request (CMR) or a connection update request.

According to yet another aspect of the subject matter described herein, receiving the CMR from a PLMN network node includes receiving the CMR from a mobility management entity (MME) in response to a setup request or a configuration update message, respectively, from an evolved node B (eNB).

According to yet another aspect of the subject matter described herein, the non-PLMN location identifier contained in the CMR or the connection update request includes geographic coordinates of an area corresponding to the eNB and the PLMN location identifier in the CMR comprises an eNB identifier.

According to yet another aspect of the subject matter described herein, the PLMN location identifier contained in the CMR or the connection update request comprises at least one of a cell ID, a tracking area (TA), and a routing area (RA) corresponding to the geographic coordinates.

According to yet another aspect of the subject matter described herein, receiving, from a PLMN network node, a message containing a PLMN location identifier and a non-PLMN location identifier includes receiving the message from a self-organizing network (SON) system used to configure evolved node Bs.

According to yet another aspect of the subject matter described herein, the SCEF or NEF adds or updates PLMN location to non-PLMN location mappings to the PLMN location mapping database when an evolved node B (eNB) connects or reconnects to the PLMN and sends a setup request message to a mobility management node.

According to yet another aspect of the subject matter described herein, the monitoring request message is a request for a count of the number of user equipment (UEs) in a geographic area specified by the non-PLMN location identifier, and the SCEF uses the mapping between the non-PLMN location identifier and the PLMN location identifier to contact mobility management entities (MMEs) and obtain a count of UEs in the geographic area.

According to yet another aspect of the subject matter described herein, the extracting and storing are preformed automatically by the SCEF or NEF in response to receiving the message from the PLMN network node.

A system for dynamically provisioning and using public land mobile network (PLMN) location mappings includes a service capability exposure function (SCEF) or a network exposure function (NEF) implemented using at least one processor. The SCEF or NEF further includes a public land mobile network (PLMN) location mapping database for storing mappings between PLMN location identifiers and non-PLMN location identifiers. The SCEF or NEF further includes a PLMN-facing interface for receiving, from a PLMN network node, a message containing a PLMN location identifier and non-PLMN location information. The SCEF or NEF further includes a dynamic PLMN location mapping database provisioning module for extracting the PLMN location identifier and the non-PLMN location identifier from the message and storing, in the PLMN location mapping database, a mapping between the PLMN location identifier and the non-PLMN location identifier. The SCEF or NEF further includes a monitoring interface for receiving, from an application server (AS) or a service capability server (SCS), a monitoring request message requesting Internet of things (IoT) device information and including a non-PLMN location identifier, locating an entry in the PLMN location mapping database corresponding to the non-PLMN location identifier, extracting a PLMN location identifier from the database, using the PLMN location identifier extracted from the database to obtain the IoT device information, and responding to the monitoring request message with the IoT device information.

According to another aspect of the subject matter described herein, the dynamic PLMN location mapping database provisioning module is configured to associate a serving mobility management entity (MME) or access and mobility management function (AMF) identity with the mapping.

According to another aspect of the subject matter described herein a non-transitory computer readable medium having stored thereon executable instructions that when executed by a processor of a computer controls the computer to perform steps. The steps are performed in a service capability exposure function (SCEF) or a network exposure function (NEF) implemented using at least one processor. The steps include receiving, from a PLMN network node, a message containing a PLMN location identifier and a non-PLMN location identifier. The steps further include extracting the PLMN location identifier and the non-PLMN location identifier from the message and storing, in a PLMN location mapping database in the SCEF or NEF, a mapping between the PLMN location identifier and the non-PLMN location identifier. The steps further include receiving, via a monitoring interface of the SCEF or NEF, a monitoring request message requesting Internet of things (IoT) device information and including a non-PLMN location identifier. The steps further include locating an entry in the PLMN location mapping database corresponding to the non-PLMN location identifier and extracting a PLMN location identifier from the database. The steps further include using the PLMN location identifier extracted from the database to obtain IoT device information. The steps further include responding to the monitoring request message with the IoT device information.

DETAILED DESCRIPTION

The subject matter described herein includes an SCEF or NEF that includes a dynamically provisioned PLMN location mapping database. Such a database can be used to respond to monitoring requests from SCSs and ASs where the monitoring requests include non-PLMN location identifiers, such as geographic coordinates, geographic place names, etc.FIG. 1is a block diagram illustrating an exemplary use case for the SCEF or NEF with a dynamically provisioned PLMN location mapping database. InFIG. 1, an IoT application server100sends a monitoring request message to a network exposure function (NEF)102. The monitoring request message may include non-PLMN location identifiers, such as city or state identifiers, geographic coordinates (including GPS coordinates and longitude and latitude), region identifiers, street addresses, etc. NEF102includes a common application programming interface (API) framework (CAPIF) gateway104, an SCEF106, and an NEF service procedures module110. CAPIF gateway104provides a common API for devices to access network functions. CAPIF gateway104is not essential in explaining the subject matter described herein, but is included inFIG. 1for completeness. IoT AS100may communicate with CAP IF gateway104via the 3GPP messaging specified for the N33 interface or using an open API.

On the side of CAPIF gateway104, SCEF106includes the above-referenced T8 interface for receiving monitoring requests regarding 4G IoT devices. SCEF106, on the PLMN-facing side, communicates with PLMN network nodes, such as mobility management entity (MME)108, to obtain information about IoT devices. The interface between SCEF106and MME108is referred to as the T6a interface.

For 5G (and possibly subsequent generation) IoT devices, an NEF services procedures module110receives monitoring requests from application servers and service capability servers. On the PLMN-facing side, NEF service procedures module110may communicate with an access and mobility management function (AMF)112via an interface referred to as the Namf interface. MME108performs mobility and registration management procedures for 4G UEs, such as 4G IoT devices. AMF112performs mobility and registration management procedures for 5G UEs, such as 5G IoT devices.

Continuing with the location monitoring request example, IoT application server100sends send the monitoring request to NEF102. CAPIF gateway104may forward monitoring request to SCEF106or NEF service procedures module110, depending on whether the request if for 4G or 5G IoT device information. SCEF106or NEF service procedures module110accesses internal mappings between the geographic identifiers in the request message to PLMN identifiers to determine the identities of the MMEs and/or AMFs to contact to obtain the requested location information.

As described above, there is no defined procedure for automatically provisioning PLMN location mappings in the SCEF or NEF. As a result, such location mappings may be manually provisioned. Manually provisioning location mappings in the SCEF or NEF is undesirable in light of the large numbers of eNBs that may be present in a PLMN.

One the PLMN location mapping is obtained, SCEF106and/or NEF services procedures module110contacts MME108and/or AMF112. MME108and AMF112provide the requested location information to SCEF106and NEF service procedures module110. SCEF106and NEF service procedures module110provide the requested location information to IoT application server100. In this example, the location information is the count of UEs occupying a particular geographic area. The count can be the number of UEs that the system knows in its normal operation to be within the geographical area. In 3GPP specifications, this is referred to as the last known location of the UE. The count can also be the number of UEs currently in the geographic area. In 3GPP specifications, this is referred to as the current location.

As stated above, manually provisioning the location mappings at the SCEF or the NEF is labor intensive and prone to error. Accordingly, the subject matter described herein and includes a method for dynamically configuring a PLMN location database at the SCEF or NEF.FIG. 2is a message flow diagram illustrating exemplary messaging for dynamically configuring PLMN location mapping database in the SCEF or NEF. The message flow inFIG. 2is for automatically provisioning the PLMN location mapping database in the SCEF and uses 4G message examples. It is understood that similar messaging could be used to automatically provision a PLMN location mapping database at an NEF for 5G network elements.

Referring toFIG. 2, rather than manually provisioning the PLMN location mapping database, the SCEF automatically provisions the database using location mappings obtained from messaging that is transmitted from the MME when an evolved node B (eNB) attaches to the network or reconnects to the network. In the illustrated example, SCEF106is connected to MME108via the T6a interface. It is this interface over which SCEF106receives PLMN location mapping information. MME108is connected to eNB150via the S1-C interface. When eNB150attaches to the network, eNB150provides location mapping information to MME108, and MME108provides the location mapping information to SCEF106. The specific messaging and parameters used will now be described.

In the message flow diagram illustrated inFIG. 2, in the first line, eNB150sends an S1 setup request to MME108over the S1-C interface. The S1 setup request is sent when eNB150attaches to or reconnects with the network. The S1 setup request message includes new information elements (IEs) not specified by current 3GPP specifications for the S1 setup request message. These information elements will include non-PLMN location information, such as geographic coordinates of eNB150. The geographic coordinates may include latitude and longitude or GPS coordinates. The S1 setup request message may also include PLMN location information, such as the cell ID of the cell in which eNB150operates.

Once MME108receives the S1 setup message with the PLMN and non-PLMN location information, MME108will send a Diameter connection management request (CMR) message to SCEF106. The CMR message will include the eNB ID as well as supported transaction areas (TAs) as defined in 3GPP TS 36.413, version 15.4.0 (2018-12), the disclosure of which is incorporated herein by reference in its entirety. The format for the CMR message, according to 3GPP TS 29.128 version 15.4.0 (2018-12), the disclosure of which is incorporated herein by reference in its entirety, is as follows:

In addition to the above-listed attribute value pairs (AVPs), the CMR message will include new AVPs to carry the PLMN location information, such as the geographic coordinates (latitude and longitude). Another new AVP that may be be carried in the CMR message is the cell ID as described in 3GPP TS 36.413. Additional AVPs that may be carried included the eNB ID, TA, RA, etc. The serving MME or SGSN information may be obtained from the origin host AVP of the CMR message or it may be carried in a separate AVP.

Once SCEF106receives the CMR message, SCEF106adds the mapping between the PLMN location information and the non-PLMN location information to the PLMN location mapping database. The mapping information that is added to the database may include the geographic coordinates, the cell ID, eNB ID, routing areas (RAs), and tracking areas (TAs). SCEF106may also associate these parameters with the MME or SGSN address of the MME or SGSN that sent the CMR message. Accordingly, a PLMN location mapping database record or entry created after receiving the CMR message may include the following:

TABLE 1Example PLMN Location Mapping Database RecordRoutingTrackingServingGeographicCelleNBAreaAreaMME or SGSNCoordinatesIDID(RA)(TA)Address35.779591,268435455FFFF12345678192.168.0.1−78.638176
In the example PLMN location mapping database record illustrated in Table 1, the record is indexed by geographic coordinates, which in the illustrated example are longitude and latitude. The next parameter is the cell ID as specified in 3GPP TS 36.413. The next parameter is the eNB identifier, which is the leftmost 20 bits of the cell ID. The next two parameters are routing area and tracking area, which are used to identify the location of the UE for different types of services. The next parameter is the MME or SGSN address, which in the illustrated example is an IP address.

SCEF106also responds to the CMR message with a Diameter connection management answer (CMA) message and transmits the CMA message to MME108over the T6a interface.

Once SCEF106is provisioned with the location mapping information, SCEF106can respond to monitoring request messages from AS100. In the example illustrated inFIG. 2, AS100sends a monitoring request message to SCEF106. The monitoring request message is a request for the number of UEs present in a geographic area. The monitoring request message may include a non-PLMN location parameter identifying the area for which AS100wishes to inquire about the number of UEs. The monitoring request may include a monitoring event type parameter that indicates that the request is a request for the number of UEs present in the geographic area. In response to receiving the monitoring request message, SCEF106accesses the PLMN location mapping database using either the non-PLMN location identifier in the monitoring request message or a non-PLMN location identifier derived from the non-PLMN location identifier in the request message. For example, if the monitoring request message includes geographic coordinates, then the geographic coordinates may be used to access the PLMN location mapping database. If the monitoring request message includes a place name, the place name may be mapped to geographic coordinates, and the geographic coordinates may be used to access the database.

SCEF106contacts the MMEs and SGSNs corresponding to the geographic location information received in the monitoring event request message. The MMEs and SGSNs each report the number of UEs served by the eNBs or other access devices in their respective areas to SCEF106. SCEF106totals the number of UEs and reports the number of UEs to AS100in a monitoring event response message.

FIG. 3is a message flow diagram illustrating exemplary messaging exchanged for dynamically updating a PLMN location mapping database in an SCEF or NEF when an eNB has a configuration update to send to an MME. Referring to the message flow inFIG. 3, eNB150utilizes an existing configuration update message to MME108to communicate PLMN location updates to MME108. When eNB150has a configuration update to send to eNB150, eNB150sends a configuration update message to MME108. The configuration update message may include updated PLMN location information, such as updated tracking area identity (TAI) list updates. MME108responds to the configuration update with a corresponding answer message

MME108sends the TAI list updates to SCEF106. SCEF106may use the TAI list updates to update PLMN location mapping data. SCEF106responds to the update request message with a corresponding answer message. In addition, MME108sends the TAI list updates to SCEF106when a new eNB is provisioned in the network and connects to MME108.

In an alternate implementation, rather than using messaging from the MME to carry information used to dynamically provision the PLMN location mapping database at the SCEF or NEF, the SCEF or NEF may be provided with a SON interface through which the SCEF or NEF communicates with a SON system to receive location information for dynamically provisioning the PLMN location mapping database. A SON system is used by network operators to manage eNB nodes. Accordingly, the SON system will be or may be provisioned to be aware of PLMN and non-PLMN location information associated with the eNB nodes.

FIG. 4is a block diagram illustrating dynamically updating a PLMN location mapping database in an SCEF or NEF using a SON system. InFIG. 4, a SON system160may receive and store configuration information, including eNB ID, cell ID, TA, RA, and geographic coordinates for the eNBs that SON system160manages. SON system160may communicate this information to SCEF106, using new operations, administration, and maintenance (OAM) procedures implemented between SON system160and SCEF106. These procedures may include sending a configuration update message including the PLMN and non-PLMN location information from SON system160to SCEF106when an eNB connects to the network for the first time or reconnects to the network after being disconnected. SCEF106may use the information to update the mappings in the PLMN location mapping database. SCEF106may acknowledge receipt of the configuration update message from SON system160sending an answer or acknowledgement message to SON system160.

As stated above, one use case for the dynamically provisioned PLMN location information at the SCEF or NEF is in responding to queries for the number of UEs present in a geographic location.FIG. 5is a message flow diagram illustrating exemplary messaging exchanged for responding to a monitoring request using dynamically provisioned PLMN location mappings at an SCEF or NEF. Beginning with the upper right hand corner of the Figure, SCS/IoT AS100sends a monitoring request to SCEF106to report the number of UEs present in a geographical area. The request may identify the geographic area by common name, such as region, street address, etc. SCEF106may perform the following actions:Translate the geographical area to geo-location (latitude/longitude) using Internet-accessible APIs. For example, there are Internet web servers that will translate a city name, such as Raleigh, N.C., into longitude and latitude or GPS coordinates. Translating a common name into geographic coordinates is referred to as geocoding. An example of an Internet API that may be used to perform geocoding is the geocoding API, which is a component of the Google Maps API.Use geo-location to identify PLMN functions (e.g. cell-Id/eNB-Id/TAI/multimedia broadcast/multicast service (MBMS) service area identifier (SAI), etc.). This translation may be performed using the dynamically provisioned PLMN mapping database maintained by SCEF106.Use the PLMN function information to identify serving MME/AMF function. This translation may also be performed using the dynamically provisioned PLMN mapping database maintained by SCEF106.
Once SCEF106identifies the serving MME or AMF, SCEF106triggers the serving MME or AMF to report number of UEs present in the PLMN function (e.g., list of cells/RAI/LAI). The AMF or MME uses the cell ID, eNB ID, and/or RA/TA received from SCEF106determine the total number of UEs present in the geographic area for which the MME or AMF is responsible. Each MME or AMF contacted by SCEF106reports the number of UEs. SCEF106totals the number of UEs received from each MME or AMF and reports the total to AS100.

FIG. 6is a flow chart illustrating an exemplary process for dynamically provisioning and using PLMN location mapping information at an SCEF or NEF. The steps illustrated inFIG. 6may be implemented using an SCEF or NEF including at least one processor. In step500, the process includes receiving, from a PLMN network node, a message containing a PLMN location identifier and a non-PLMN location identifier. For example, SCEF106or NEF102may receive a CMR message from an MME when an eNB connects or reconnects with the network. The CMR message may include a geographic identifier for the eNB as well as PLMN identifiers, such as a cell ID, an eNB ID, an RA, a TA, etc. In another example, SCEF106or NEF102may receive the geographic coordinates and the PLMN location identifiers from a SON system, as illustrated inFIG. 4.

In step502, the process includes extracting he PLMN location identifier and the non-PLMN location identifier from the message and storing, in a PLMN location mapping database in the SCEF or NEF, a mapping between the PLMN location identifier and the non-PLMN location identifier. For example, SCEF106or NEF102may extract the geographic coordinates as well as the cell ID, eNB ID, RA, TA, and serving MME information from the message received from the MME or SON system.

In step504, the process includes, receiving, via a monitoring interface of the SCEF or NEF, a monitoring request message including a non-PLMN location identifier from an AS or SCS. The monitoring event request message may be a request for determining the number of UEs currently located in a geographic area. The monitoring request message may be for one-time monitoring or continuous monitoring. The monitoring request message may identify the geographic area for which monitoring is requested by a non-PLMN name, such as a city, area within a city, geographic coordinates, or other suitable identifier.

In step504, the process further includes locating an entry in the PLMN location mapping database corresponding to the non-PLMN location identifier and extracting a PLMN location identifier from the database. For example, if the non-PLMN location identifier is a city or other address-like identifier, SCEF106or NEF102may obtain the corresponding geographic coordinates (either latitude and longitude or GPS) via an Internet accessible API. SCEF106or NEF102may then use the geographic coordinates to perform a lookup in the PLMN location mapping database. If a matching entry is located, SCEF106or NEF102may extract the PLMN location identifiers from the entry or from entries that are linked to the entry. As illustrated in Table 1 above, these identifiers may include the cell ID, eNB ID, TA, RA, and serving MME.

In step506, the process includes using the PLMN location information to obtain IoT device information from a node in the PLMN. For example, SCEF106or NEF102may use the PLMN location information to query the serving MMEs for each eNB identified in the location mapping information extracted from the database. The MMEs will in turn, contact the eNBs to obtain the number of UEs served by each eNB. The eNBs report their totals to the MMEs, and each MME reports its total number of UEs to SCEF106or NEF102.

In step506, the process further includes responding to the monitoring request message with the IoT device information. For example, SCEF106or NEF102may respond to the SCS or AS over the T8 interface with the number of UEs present in the geographic area.

In one example, SCEF/NEF is a standalone node. that provides SCEF or NEF services.FIG. 7is an example of a standalone SCEF106or NEF102according to one exemplary implementation of the subject matter described herein. Referring toFIG. 7, SCEF106or NEF102includes a PLMN-facing interface600for receiving, from a PLMN network node, a message containing a PLMN location identifier and non-PLMN location information. In one example, PLMN-facing interface600is a Diameter T6a interface for receiving PLMN and non-PLMN location mapping information from an MME or a Namf event exposure service API for receiving the PLMN and non-PLMN location mapping information from an AMF. In another example, PLMN-facing interface600may further include an SON interface for obtaining PLMN location mapping information from a SON system, as illustrated inFIG. 4.

SCEF106or NEF102further includes a PLMN location mapping database dynamic provisioning module602for extracting the PLMN location information and the non-PLMN location information from PLMN messages and storing, in a PLMN location mapping database604, a mapping between the PLMN location information and the non-PLMN location information.

SCEF106or NEF102further includes a monitoring interface606for receiving, from an AS, an SCS, or a 5G application function (AF), a monitoring request message including the non-PLMN location identifier. In one example, monitoring interface606is a T8 interface. In general, monitoring interface606is an API-based interface through which ASs, SCSs, and/or AFs request and receive IoT device information. Monitoring interface606may include functionality for responding to monitoring request messages received from SCSs and ASs. For example, monitoring interface606may include functionality for performing a lookup in PLMN location mapping database604for an entry corresponding the non-PLMN location identifier, locating an entry in PLMN location mapping database604corresponding to the non-PLMN location identifier, extracting a PLMN location identifier from database604, using the PLMN location identifier to obtain IoT device information from a node in the PLMN, and responding to the monitoring request message with the IoT device information. Monitoring interface606, after obtaining the location mapping information from database604, may formulate the necessary queries for obtaining the requested UE information and may send the queries to MME nodes via PLMN facing interface600. PLMN facing interface600may receive responses to the queries and provide the responses to monitoring interface606. Monitoring interface606may aggregate the requested UE location information and provide the requested information to the SCS or AS.

In the example Illustrated inFIG. 7, SCEF106or NEF102is a standalone component. In an alternate implementation, SCEF106or NEF102may be implemented as a component of a Diameter signaling router (DSR).FIG. 8illustrates such an implementation. InFIG. 8, DSR700includes a plurality of message processors702,704,706, and708. Each message processor702,704,706, and708includes a printed circuit board and at least one processor710and memory712mounted on the printed circuit board. Message processors702,704,706, and708may exchange messages via a communications medium714, such as an Ethernet backplane.

In the illustrated example, message processors702and704each implement a Diameter connection layer716and a Diameter routing layer718. Diameter connection layer716establishes and maintains Diameter connections with peer Diameter nodes. Diameter routing layer718routes Diameter messages based on Diameter layer information, such as destination host and destination realm parameters, in the messages. Message processors702and704may be connected to PLMN nodes, such as MME108, an AMF, and SON system160for receiving PLMN location mapping information for provisioning PLMN location mapping database. Message processor706may be connected to one or more SCSs or ASs via an API-based interface, such as a T8 interface, to receive and respond to monitoring request messages for monitoring UE location or state. The API-based interface may be a non-Diameter interface.

Message processor706implements SCEF106and/or NEF102and may include the components illustrated inFIG. 7. As such, message processor706may include PLMN location mapping database604illustrated inFIG. 7and may receive PLMN and non-PLMN location mapping information for database604via Diameter connections with PLMN network nodes managed by a Diameter connection layer (DCL)716on message processors702and704. In addition, message processor706may receive requests for UE location and state via the API-based interface and may respond to the requests using the dynamically provisioned location information stored in PLMN location mapping database604.

Message processor708implements a Diameter application724. Diameter application724may be any suitable Diameter application, such as a Diameter firewall application, performance monitoring application, or other suitable Diameter application.

In the example illustrated inFIG. 8, SCEF106or NEF102is component of DSR700. In yet another alternate implementation, SCEF106or NEF102may be a component of a policy manager.FIG. 9illustrates such an implementation. InFIG. 9, policy manager800includes message processors702,704,706, and708as illustrated inFIG. 8. Each message processor702,704,706, and708includes a processor710and memory712. Message processors702,704,706, and708may communicate via communications medium714. However, rather than implementing Diameter routing or only Diameter routing, message processor702illustrated inFIG. 9includes a policy and charging rules function (PCRF)802that implements PCRF functionality. PCRF functionality includes responding to policy and charging requests from Diameter nodes. Message processor702also implements a Diameter connection layer716for establishing and maintaining connections with external Diameter nodes.

Message processor704implements the SCEF or NEF functionality Illustrated inFIG. 6. Briefly, such functionality includes receiving subscription requests for IoT device state and location information via a monitoring interface, such as a T8 interface or other API-based interface, mapping non-PLMN location information to PLMN location information, and sending corresponding subscription requests to MMEs, AMFs, and SGSNs. The functionality implemented by SCEF106or NEF102may also include dynamically provisioning PLMN location mapping database604using information received from PLMN nodes, such as MMEs, SGSNs, AMFs, and SON systems via a Diameter T6a interface, a Namf event exposure service API, or a SON system interface. Message processors706and708may implement other Diameter applications such as policy related applications or non-policy related Diameter applications.

Thus, the subject matter described herein includes an SCEF or NEF with a dynamically provisionable PLMN location mapping database. Such an SCEF or NEF is a particular machine in 3GPP networks that improves the functionality of computer networks by providing a convenient and secure location for non-PLMN location information to be mapped or translated into PLMN location information. The dynamically provisionable PLMN location mapping database also improves the technological field of database management by automating the database update process using existing 3GPP messaging. Performing automated database updates using existing 3GPP messaging reduces the need for manual database configuration by humans and reduces the need to implement new interfaces for database provisioning on existing PLMN network nodes.