SIP options based location determination

Systems and methods provided herein are directed to a mechanism for determining current or currently known location of a user equipment (UE). Upon receiving a request regarding location information of the UE, a gateway mobile location center (GMLC) may send a SIP OPTIONS to an interrogating call session control function (I-CSCF). In response to receiving the SIP OPTIONS, the I-CSCF may perform a location information request (LIR) and a location information answer (LIA) with the HSS to locate a serving call session control function (S-CSCF) where the UE is registered. The S-CSCF may route the SIP OPTIONS to an application server (AS) to request the registered location information of the UE, and in response, the AS may send a 200 OK, as an acknowledgment, to the S-CSCF, that includes location information of the UE provided during registration of the UE.

BACKGROUND

Modern telecommunication systems include heterogeneous mixtures of second, third, and fourth generation (2G, 3G, and 4G) cellular-wireless access technologies, which can be cross-compatible and can operate collectively to provide data communication services. Global Systems for Mobile (GSM) is an example of 2G telecommunications technologies; Universal Mobile Telecommunications System (UMTS) is an example of 3G telecommunications technologies; and Long Term Evolution (LTE), including LTE Advanced, and Evolved High-Speed Packet Access (HSPA+) are examples of 4G telecommunications technologies. The 5G telecommunication technologies are the next generation mobile networks that are designed to combine both an evolution and revolution of the existing LTE/LTE-A mobile networks to provide a much higher connectivity, greater throughput, much lower latency, and ultra-high reliability to support new use cases and applications. Some of mobile devices operating in such telecommunication systems are also capable of operating over Wi-Fi networks for voice, also known as Voice-over-IP (VoIP) and data.

A mobile device does not necessarily stay in one location for any length of time, and may move within a coverage area or from one coverage area to the next. For certain services, such as location based services and emergency services, ascertaining the current location of the mobile device, and its user, is important and may be time critical. However, due to the mobile nature of the mobile device, the user's location associated with mobile device may not be current in a mobile network.

DETAILED DESCRIPTION

Systems and methods discussed herein are directed to a mechanism for determining current or currently known location of a user equipment (UE). The UE may be a mobile device, such as a cellular phone, a smart phone, a laptop computer, or a tablet computer, an internet-of-things (IoT) device, a machine-to-machine communication capable device, and the like.

Upon receiving a request at a gateway mobile location center (GMLC) regarding location information of the UE, the GMLC may send a SIP OPTIONS including subscriber information in a request uniform resource identifier (RURI) or TO header to an interrogating call session control function (I-CSCF). The request may be a location service request from a client for the UE, and the SIP OPTIONS may be sent to the I-CSCF in addition to, or instead of, sending a Routing-Info-Request (RIR) to a home subscriber server (HSS). In response to receiving the SIP OPTIONS, the I-CSCF may perform a location information request (LIR) and a location information answer (LIA) with the HSS to locate a serving call session control function (S-CSCF) where the UE is registered. The S-CSCF may route the SIP OPTIONS to an application server (AS) to request the registered location information of the UE, and in response, the AS may send a 200 OK, as an acknowledgment, to the S-CSCF, that includes location information of the UE provided during registration of the UE. The S-CSCF may then forward the 200 OK having the registered location information of the UE to the GMLC.

Alternatively, the SIP OPTIONS may be forwarded from the S-CSCF may be forwarded to a proxy call session control function (P-CSCF), and then forwarded to the UE where the UE obtains its current location, for example by utilizing its global positioning system (GPS) function, in response to receiving the SIP OPTIONS from the P-CSCF. The UE responds back to the P-CSCF by sending a 200 OK including its current location information. The P-CSCF forwards the 200 OK to the S-CSCF, which then forwards the 200 OK to the GMLC.

FIG. 1illustrates an example flow diagram100of determining location information of a user equipment (UE)102based on the location information provided during the registration or SIP INVITE.

The UE102begins its registration process at104by registering with a proxy call session control function (P-CSCF)106and receiving a 200 OK from the P-CSCF106. The UE102may send access network information or a presence information data format location Object (PIDFL-LO) to the P-CSCF106. At108, the P-CSCF106forwards the registration to a serving call session control function (S-CSCF)110, and the S-CSCF110responds back with a 200 OK. At112, the S-CSCF110forwards the registration to an application server (AS)114, and the AS114responds back with a 200 OK. The AS114may update the user profile with user provided location information during the registration.

The UE102may send a SIP INVITE to the P-CSCF106at116and receive a 200 OK from the P-CSCF106. The UE102may send updated location information to the P-CSCF106in the SIP INVITE. At118, the P-CSCF106forwards the SIP INVTE to the S-CSCF110, and the S-CSCF110responds back with a 200 OK. At120, the S-CSCF110forwards the SIP INVITE to the AS114, and the AS114responds back with a 200 OK. The AS114may update the user profile with user provided location information during the registration.

At122, a client may request location service request for the UE102, which is received by a gateway mobile location center (GMLC)124. The GMLC124, at126, sends a Routing-Info-Request (RIR) including inquiries regarding the name of the S-CSCF110, user name of the UE102, mobile station international subscriber directory number (MSISDN) to a home subscriber server (HSS)128. In response, the HSS128sends back a Routing-Info-Answer (RIA) at130, which may include the address of the S-CSCF, if the UE102is Internet Protocol (IP) Multimedia Subsystem (IMS) registered, the UE location information of the registration, or the SIP INVITE, may be kept.

FIG. 2illustrates an example flow diagram200of determining location information of the UE102utilizing SIP OPTIONS.

Continuing fromFIG. 1, after receiving the location service request for the UE102from the client at122, the GMLC124may, at202, send SIP OPTIONS to an interrogating call session control function (I-CSCF)204with the UE information in a request uniform resource identifier (RURI) header or in a TO header of the SIP OPTIONS. The GMLC124may send the SIP OPTIONS at202in addition to, or instead of, sending the RIR to the HSS128at126.

In response to receiving the SIP OPTIONS, the I-CSCF204may perform a location information request (LIR) and a location information answer (LIA) with the HSS128to locate the S-CSCF110where the UE102is registered, and may route the SIP OPTIONS to S-CSCF110at206. In response, at208, the S-CSCF110may forward the SIP OPTIONS to the AS114to request for the registered location of the UE102, and the AS114may correspond back to the S-CSCF110at210, with a 200 OK including the location information of the UE102provided during the registration of the UE102. The S-CSCF110, at212, may then route the 200 OK with the location information of the UE102provided during the registration of the UE102to the GMLC124.

FIG. 3illustrates another example flow diagram300of determining location information of the UE102utilizing SIP OPTIONS.

Continuing fromFIG. 2, after the I-CSCF204performs the LIR and LIA, and routes the SIP OPTIONS to S-CSCF110at206, the S-CSCF110may forward the SIP OPTIONS, at302, to the P-CSCF106. The P-CSCF106may forward the SIP OPTIONS at304to the UE102, and in response, the UE102may obtain its current location information, for example, via a global positioning system (GPS). The UE102may then transmit a 200 OK that includes the current location information of the UE102to the P-CSCF106at308. The P-CSCF106may then forward the 200 OK to the S-CSCF110at308, and the S-CSCF110may forward the 200 OK to the GMLC124at310.

FIG. 4illustrates an example block diagram of a system400for determining location information of the UE102utilizing SIP OPTIONS.

The system400may comprise one or more processors402and memory404communicatively coupled to the one or more processors402. The memory404may comprise a plurality of modules that are communicatively coupled to each other. The plurality of modules may comprise a gateway module406, a locator module408, a forwarding module410, and an updating module412. The gateway module406may be configured to receive a location inquiry associated with the UE102at the GMLC124as described above with reference toFIG. 1, and in response to receiving the location inquiry, may send a SIP OPTIONS to the I-CSCF204. The SIP OPTIONS may include UE information in the RURI header or in a TO header, and may be sent in addition to, or instead of, sending the RIR to the HSS128.

The locator module408may be configured to locate the S-CSCF110, where the UE102is registered, by performing the LIR and the LIA with the HSS128at the I-CSCF204. The forwarding module410may be configured to forward the SIP OPTIONS from the I-CSCF204to the S-CSCF110found as a result of performing the LIR and LIR. The updating module412may be configured to update the S-CSCF110with current location information of the UE102and to transmit the current location information of the UE102from the S-CSCF110to the GMLC124.

As discussed with reference toFIG. 2, the updating module412may be further configured to send the SIP OPTIONS from the S-CSCF110to the AS114to request for registered location information of the UE102, send a 200 OK including location information of the UE provided during registration of the UE102from the AS114to the S-CSCF110, and forward the 200 OK including the registered location information of the UE102from the S-CSCF110to the GMLC124. Alternatively, as discussed with referenced toFIG. 3, the updating module412may be further configured to forward the SIP OPTIONS from the S-CSCF110to the P-CSCF106, forward the SIP OPTIONS from the P-CSCF106to the UE102. The UE102, in response to receiving the SIP OPTIONS, may obtain its current location information based on, for example, its internal GPS. The updating module412may be configured to transmit a 200 OK including the obtained current location of the UE102from the UE102to the P-CSCF106, forward the 200 OK from the P-CSCF106to the S-CSCF110, and forward the 200 OK having the current location of the UE102from the S-CSCF110to the GMLC124.

Some or all operations of the methods described above can be performed by execution of computer-readable instructions stored on a computer storage medium, as defined below. The term “computer-readable instructions” as used in the description and claims, include routines, applications, application modules, program modules, programs, components, data structures, algorithms, and the like. Computer-readable instructions can be implemented on various system configurations, including single-processor or multiprocessor systems, minicomputers, mainframe computers, personal computers, hand-held computing devices, microprocessor-based, programmable consumer electronics, combinations thereof, and the like.

The computer storage media may include volatile memory (such as random access memory (RAM)) and/or non-volatile memory (such as read-only memory (ROM), flash memory, etc.). The computer storage media may also include additional removable storage and/or non-removable storage including, but not limited to, flash memory, magnetic storage, optical storage, and/or tape storage that may provide non-volatile storage of computer-readable instructions, data structures, program modules, and the like.

A non-transient computer storage medium is an example of computer-readable media. Computer-readable media includes at least two types of computer-readable media, namely computer storage media and communications media. Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any process or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, phase change memory (PRAM), static random-access memory (SRAM), dynamic random-access memory (DRAM), other types of random-access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information for access by a computing device. In contrast, communication media may embody computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave, or other transmission mechanism. As defined herein, computer storage media do not include communication media.

The computer-readable instructions stored on one or more non-transitory computer storage media that, when executed by one or more processors, may perform operations described above with reference toFIGS. 1-4. Generally, computer-readable instructions include routines, programs, objects, components, data structures, and the like that perform particular functions or implement particular abstract data types. The order in which the operations are described is not intended to be construed as a limitation, and any number of the described operations can be combined in any order and/or in parallel to implement the processes.

CONCLUSION