User plane location services over session initiation protocol (SIP)
A method and mechanism to allow a location server to initiate a user plane location service (e.g., SUPL defined by OMA) procedure to a user plane enabled device via Instant Messaging, or alternatively, via an existing SIP session if a multimedia session is already established. The location request is signaled to the user plane enabled device via a SIP INFO message. The location request uses SIP messaging to overcome firewall and other network security issues. Location using SUPL over SIP may be provided about a caller making an E911 emergency call. An Instant Message may be sent to the user plane enabled device, e.g., a VoIP wireless phone.
The present application claims priority from U.S. Provisional Application No. 60/861,267, entitled “User Plane Location Service over Session Initiation Protocol (SIP)”, filed Nov. 28, 2006, the entirety of which is expressly incorporated herein by reference.
BACKGROUND OF THE INVENTION1. Field of the Invention
This invention relates generally to wireless and long distance carriers, Internet Service Providers (ISPs), and information content delivery services/providers and long distance carriers. More particularly, it relates to location services for the wireless industry.
2. Background of Related Art
Location information regarding subscribers or subscribers' individual devices is becoming increasingly available in a wireless network. Location information relates to absolute coordinates of a wireless device.
In particular, as shown in
As shown in step 1 of
In step 2, the location server 106 sends a Provide Subscriber Info message to a Home Location Register 108, requesting subscriber information regarding a particular subscriber.
In step 3, the carrier's Home Location. Register (HLR) 108 provides the subscriber information for the requested subscriber back to the location server 106.
In step 4, location information regarding the requested subscriber is requested to either an MSC or Packet Data node 110. The Radio Access Network (RAN), via the MSC or Packet Data Node, preferably provides precise location information using, e.g., a satellite-based global positioning system (e.g., GPS), triangulation techniques, or other relevant locating technology, or optionally helps the device calculate X/Y (lat/lon) direction.
In step 5, the location request is forwarded to the Radio Access Network (RAN) 112 if needed.
In step 6, precise, updated location information regarding the requested subscriber is sent to the location server (LS) 106.
In step 7, an ultimate response to the original location request is sent to the LCS client 104 that initially requested the location information.
Secure User Plane for Location (SUPL) is a standards-based protocol that has been developed to allow a mobile handset client to communicate with a location server, e.g., as shown in step 1 of
In particular, as shown in
The SUPL server (or SUPL location platform (SLP)) 806 comprises a SUPL location center (SLC) and SUPL positioning center (SPC). A mobile device is generalized in
Network initiated location requests 820 arrive at the SUPL server 806 via an MLP interface. The SUPL server 806 processing this network initiated request is required to send a trigger message (SUPL INIT message) 822, via the PPG 808, to the SET 812 for validating and ultimately initiating a SUPL positioning session 828. The trigger message 822 is sent to the SET 812 as a push message 824 from the PPG 808 (or as an SMS message from an SMSC/MC). At that point, the SET 812 establishes a secure TCP/IP connection 828 to the SUPL server 806 to respond to the SUPL positioning request.
For network initiated end-to-end IP based location services, when a location server needs to find out contact information (e.g. an IP address) of a given target, the location server sends a trigger to the target to allow the target to establish a session with the location server. Conventional IP based user plane location services (e.g., OMA SUPL) are built upon WAP Push/SMS messaging and TCP as a transport protocol for initiating a mobile terminating positioning procedure.
It is the case that there are some scenarios where conventional use of User Plane Location Services does not work well or does not work at all.
For example, one scenario in which a target device (e.g., SET) has Internet access via, e.g. WLAN, LAN, or DSL, it may not be possible for the location server to initiate location by use of an SMS message, or WAP Push. This is particularly true if the location server cannot determine the IP address of the target device, and the network to which the target device attaches does not support correct inter-working with SMS or WAP Push messaging.
A second example relates to Voice over IP (VoIP) based emergency calling (there are some variances in the wireless industry, e.g., IMS emergency in the 3GPP standard and MMD emergency in the 3GPP2 standard, and referred to generally as a SIP call by the IETF.) This scenario depicts an emergency call which has already established a SIP session with the serving network. During the emergency call, the appropriate Public Safety Answering Point (PSAP) may require updated location information relating to the emergency caller.
The present inventors appreciate that the existing mechanism of using WAP Push/SMS messaging may not be efficient and reliable, as WAP Push/SMS messaging is built upon store-and-forward mechanisms. In other words, there is no guarantee that the trigger of a location service request will be delivered to a target before the emergency call ends.
SUMMARY OF THE INVENTIONThe present invention introduces a method and a mechanism that allows a location server to initiate a user plane location service (e.g., SUPL) procedure to a user plane enabled device via Instant Messaging, or alternatively, via an existing SIP session if a multimedia session is already established.
In accordance with one aspect of the invention, a method and apparatus for obtaining a location of a caller comprises initiating a user plane location service procedure. If a session initiation protocol (SIP) session already exists, a location request is signaled to a user plane enabled caller device via session initiation protocol (SIP).
A method and apparatus for obtaining a location of a caller in accordance with another aspect of the invention comprises determining if a multimedia session is already established with a caller. If a multimedia session is already established with the caller, updated location information of the caller is obtained via an existing session initiation protocol (SIP) session.
Features and advantages of the present invention will become apparent to those skilled in the art from the following description with reference to the drawings, in which:
The present invention introduces a method and a mechanism that allows a location server to initiate the user plane location service procedure to a user plane enabled device via Instant Messaging, or alternatively, via an existing SIP session if a multimedia session is already established.
Session Initiation Protocol (SIP) is an Internet Engineering Task Force (IETF) standard protocol for initiating an interactive user session that involves multimedia elements such as video, voice, chat, gaming, virtual reality, etc. SIP is specified in IETF Request for Comments (RFC) 3261 (replacing 2543). Like HTTP or SMTP, SIP works in the application layer of the open systems interconnection (OSI) communications model. SIP can also be used to invite participants to sessions that do not necessarily involve the initiator. Because SIP supports name mapping and redirection services, it makes it possible for users to initiate and receive communications and services from any location, and for networks to identify the users wherever they are. SIP is a request-response protocol dealing with requests from clients and responses from servers. Participants are identified by SIP universal resource identifiers (URIs). Requests can be sent through any transport protocol, such as UDP, SCTP, or TCP. SIP determines the end system to be used for the session, the communication media and media partners, and the called party's desire to engage in the communication. Once these are assured, SIP establishes call parameters at either end of the communication, and handles call transfer and termination.
In particular, as shown in
In step 1 of
The location service enabled device 200 then initiates the necessary registration of presence service per RFC2778, 2779, 3921, and 3856. Upon registration to the presence service, the device contact information including networking information (e.g. IP address) etc. is stored in a presence server 204.
In step 2, a request for location information of the location service enabled device 200 is generated by a location service provider 206. The location request may be generated by an application in the network that uses the location information, e.g., a weather report based on location; or by an application that resides in the end user terminal.
In step 3, the corresponding location service client 208 sends a location request to a location server 210 for the target device 200 specified by one of the following identifiers, together with other criteria: MSISDN; IMSI; MSN; MIN; IP address; SIP URI; TEL URI; or XMPP URI.
In step 4, upon receiving the location request, the location server 210 examines the identifier(s) of the target device 200 and determines that the target device 200 is not in a conventional mobile network (e.g., packet data enabled cellular network). The location Server may perform an address resolution procedure as specified in RFC 3861 to determine the appropriate address for instant messaging. The location server 210 then initiates an Instant Message (RFC 3428 or RFC 3921) containing the information needed to trigger the user plane location service procedure to the presence/Instant Message server 204. The location server 210 may retrieve the SIP URI, XMPP URI or TEL URI of the target device 200 based on the received identifier other than SIP URI, XMPP URI or TEL URI from other network entities, e.g., HLR/HSS in the cellular networks.
In step 5, based on the registration information, the presence/instant Message server 204 forwards the Instant Message to the target device 200 via SIP. In the disclosed embodiments, the Instant Message can be sent over the existing SIP session if there is an existing SIP session established between the target device 200 and the presence/ nstant Message server 204.
In step 6, upon receipt of the Instant Message containing information necessary for trigging the User Plane Location Service procedure, the target device 200 initiates a User Plane Location Service session with the location server 210. The User Plane Location Service signaling can either use standard TCP/IP or UDP/IP, or use standard SIP signaling as the transport. Using SIP signaling as the transport has some advantage when there are security entities (e.g. firewalls) involved in the networks, where direct IP connectivity with certain ports is not accessible. Upon completion of the User Plane Location Service procedure, the location server 210 retrieves a location fix of the target device 200.
In step 7, the location server 210 returns the retrieved location fix to the location service client 208.
In step 8, the location service client 208 sends the location information back to the location service application.
The procedure shown and described with respect to
The general service description shown in
In step 1, a request for location information of the location service enabled device 200 is generated by a location service provider 206. The location request may be generated by an application in the network that uses the location information, e.g., a weather report based on location; or by an application that resides in the end user terminal.
In step 2, the corresponding location service client 208 sends a location request to a location server 210 for the target device 200 specified by one of the following identifiers, together with other criteria: MSISDN; IMSI; MSN; MIN; IP address; SIP URI; TEL URI; or XMPP URI.
In step 3, upon receipt of the location request message, the location server 210 examines the identifier(s) of the target device 200 and determines that the target device 200 is not being served by a conventional mobile network (e.g., packet data enabled cellular network). The location Server may perform an address resolution procedure as specified in RFC 3861 to determine the appropriate address for instant messaging and presence service. The location server 210 then initiates a request (RFC 3856 or 3921) to the presence/instant Message server 204, to obtain presence related information of the target device 200. Alternatively the location server 210 may try a conventional mobile network path using the existing WAP Push/SMS mechanism and the inventive mechanisms disclosed herein either in parallel or in an order. This may occur, for example, when the target device supports multiple access technologies and networks.
In step 4, the target device 200 becomes available and sends a status update to the presence/Instant Message server 204.
In step 5, the presence/Instant Message server 204 sends a notification (RFC 3856 or 3921) containing the contact information for the target device 200. The contact information may include, e.g., an IP address of the target device 200.
In step 6, optionally, the location server 210 initiates an Instant Message (RFC 3428 or RFC 3921) containing the information needed to trigger the user plane location service procedure to the presence/Instant Message server 204.
In step 7, based on the registration information, the presence/Instant Message server 204 forwards the Instant Message to the target device 200 via SIP. In the disclosed embodiments, the Instant Message can be sent over the existing SIP session if there is an existing SIP session established between the target device 200 and the presence/Instant Message server 204.
In step 8, upon receipt of the Instant Message containing information necessary for trigging the User Plane Location Service procedure, the target device 200 initiates a User Plane Location Service session with the location server 210. The User Plane Location Service signaling can either use standard TCP/IP or UDP/IP, or use standard SIP signaling as the transport. Using SIP signaling as the transport has some advantage when there are security entities (e.g. firewalls) involved in the networks, where direct IP connectivity with certain ports is not accessible. Upon completion of the User Plane Location Service procedure, the location server 210 retrieves a location fix of the target device 200.
In step 9, the location server 210 returns the retrieved location fix to the location service client 208.
In step 10, the location service client 208 sends the location information back to the location service application.
The general service description shown in
In step 1 of
The VoIP emergency call is established with an appropriate Public Safety Answering Point (PSAP) 310 through the public switched telephone network (PSTN) 320, selective router network 330, or direct session Internet Protocol (SIP) based network from the emergency 911 call server 304.
In step 2, during the VoIP emergency call, the PSAP 310 requests an updated location of the VoIP emergency caller 300.
In step 3, if the location server 306 is in the SIP call signaling path, it initiates a trigger message using the User Plane Location Service embedded in a SIP INFO message to the E911 call server 304.
In step 4, the SIP INFO message is forwarded to the VoIP emergency caller 300.
In step 5, upon receipt of the trigger message using a User Plane Location Service, the VoIP terminal 300 from which the VoIP emergency call was initiated starts a User Plane Location Service procedure with the location server 306.
In step 6, the location server 306 returns retrieved location information to the PSAP 310.
While the invention has been described with reference to the exemplary embodiments thereof, those skilled in the art will be able to make various modifications to the described embodiments of the invention without departing from the true spirit and scope of the invention.
Claims
1. A method for obtaining a location of a subscriber, comprising:
- initiating a user plane location service procedure; and
- if a session initiation protocol (SIP) session already exists, signaling a location request to a user plane enabled subscriber device via session initiation protocol (SIP).
2. A method for obtaining a location of a subscriber, comprising:
- initiating a user plane location service procedure via XMPP protocol.
3. The method for obtaining a location of a subscriber according to claim 1, wherein:
- said location request is signaled to said user plane enabled subscriber device via a SIP INFO message.
4. The method for obtaining a location of a subscriber according to claim 1, wherein:
- said location request uses SIP messaging as a transport message of said user plane location service procedure to overcome an issue otherwise introduced by network security.
5. The method for obtaining a location of a subscriber according to claim 4, wherein:
- said issue otherwise introduced by network security is a firewall.
6. The method for obtaining a location of a caller according to claim 1, wherein:
- a call relating to said caller is an emergency call.
7. The method for obtaining a location of a subscriber according to claim 1, wherein said initiating comprises:
- sending an Instant Message to said user plane enabled subscriber device.
8. The method for obtaining a location of a subscriber according to claim 1, wherein:
- said user plane enabled caller device is a voice over Internet Protocol (VoIP) phone.
9. The method for obtaining a location of a subscriber according to claim 8, wherein:
- said VoIP phone is a wireless VoIP phone.
10. The method for obtaining a location of a subscriber according to claim 1, wherein:
- said user plane location service procedure complies with a secure user plane for location (SUPL) standard defined by Open Mobile Alliance (OMA).
11. Apparatus for obtaining a location of a subscriber, comprising:
- means for initiating a user plane location service procedure; and
- means for signaling a location request, if a session initiation protocol (SIP) session already exists, to a user plane enabled subscriber device via session initiation protocol (SIP).
12. The apparatus for obtaining a location of a subscriber according to claim 11, wherein:
- said means for signaling said location request signals to said user plane enabled subscriber device via a SIP INFO message.
13. The apparatus for obtaining a location of a subscriber according to claim 11, wherein:
- said means for signaling said location request uses SIP messaging as a transport message of said user plane location service procedure to overcome an issue otherwise introduced by network security.
14. The apparatus for obtaining a location of a subscriber according to claim 13, wherein:
- said issue otherwise introduced by network security is a firewall.
15. The apparatus for obtaining a location of a caller according to claim 11, wherein:
- a call relating to said caller is an emergency call.
16. The apparatus for obtaining a location of a subscriber according to claim 11, wherein said means for initiating comprises:
- means for sending an Instant Message to said user plane enabled subscriber device.
17. The apparatus for obtaining a location of a subscriber according to claim 11, wherein:
- said user plane enabled caller device is a voice over Internet Protocol (VoIP) phone.
18. The apparatus for obtaining a location of a subscriber according to claim 17, wherein:
- said VoIP phone is a wireless VoIP phone.
19. The apparatus for obtaining a location of a subscriber according to claim 11, wherein:
- said user plane location service procedure complies with a secure user plane for location (SUPL) standard defined by Open Mobile Alliance (OMA).
20. A method for obtaining a location of a subscriber, comprising:
- determining if a multimedia session is already established with a subscriber; and
- obtaining updated location information of said subscriber via an existing session initiation protocol (SIP) session if a multimedia session is already established with said subscriber.
21. Apparatus for obtaining a location of a subscriber, comprising:
- means for determining if a multimedia session is already established with a subscriber; and
- means for obtaining updated location information of said subscriber via an existing session initiation protocol (SIP) session if a multimedia session is already established with said subscriber.
22. A method for determining whether a target device is in a conventional mobile network, comprising:
- examining an identifier of a target device.
23. A method for seamlessly interworking with a mobile network and a wireless IP network, comprising:
- initiating a WAP Push/SMS message; and
- initiating a presence service/Instant Message.
24. The method for seamlessly interworking with a mobile network and said wireless IP network according to claim 23, wherein:
- said WAP Push/SMS message and said presence service/Instant Message are performed in parallel.
25. The method for seamlessly interworking with a mobile network and said wireless IP network according to claim 23, wherein:
- said WAP Push/SMS message and said presence service/Instant Message are performed one after the other.
Type: Application
Filed: Dec 14, 2006
Publication Date: May 29, 2008
Inventors: Yinjun Zhu (Sammamish, WA), John Gordon Hines (Kirkland, WA), Roger Marshall (Auburn, WA), Fei Yang (Odenton, MD), Victor Burton (Bellevue, WA)
Application Number: 11/638,548
International Classification: G06F 15/16 (20060101);