# Patent

## Title
Ancillary data support in session initiation protocol (SIP) messaging

## Abstract

A SIP ancillary data server provides host to auxiliary data for an emergency SIP session (call) uniquely referred to in a transported SIP header. In a manner similar to how location is represented in an emergency call, a SIP header is extended. The extended SIP Header contains one of two possible types of content elements: either (a) a content pointer element to a SIP Message body part (a “cid:”, or content identifier); or (b) an <information_URI> (a.k.a, “info_URI” in this document).

## Background
The present application claims priority from U.S. application Ser. No. 12/292,921, filed Dec. 1, 2008, entitled “Ancillary Data Support in Session Initiation Protocol (SIP) Messaging, now U.S. Pat. No. 7,929,530; which in turn claims priority from U.S. Provisional Appl. No. 60/996,700, filed Nov. 30, 2008, entitled “Ancillary Data Reference For Session Initiation Protocol (SIP)”, to Marshall et al., the entirety of both of which are expressly incorporated herein by reference.
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates generally to communications networks. More particularly, it relates to telecommunications networks including Voice Over Internet Protocol (VoIP) network communications, and most particularly to SIP (Session Initiation Protocol) emergency service messaging via IP telecommunications for voice, video, and text.
2. Background of the Related Art
Session Initiation Protocol (SIP) is a basic protocol for initiating interactive communication sessions (e.g., voice, video, chat, interactive games, virtual reality, etc.) between users. In given SIP-based applications, location of a particular wireless device is desired or required.
Currently, location and other caller-related data for the majority of calls (VoIP, cellular, or landline) is delivered or determined through multiple mechanisms. For instance, location and other data for the majority of calls is determined via the use of a unique query key (such as the telephone number or uniform resource identifier (URI)) to perform a database lookup. In these architectures, the unique query key (e.g., telephone number or URI) is used as a lookup element to query provisioned, staged or static information (e.g., from a suitable database) outside of the actual call signaling for location information. An exemplary technique and apparatus to inject a location object into a routing SIP message is disclosed in co-owned U.S. patent application Ser. No. 11/902,845, filed Sep. 26, 2007, the entirety of which is expressly incorporated herein by reference.
FIG. 3 shows a conventional exemplary Voice over Internet Protocol (VoIP) based routing architecture for a given Session Initiation Protocol (SIP) message.
In particular, as shown in FIG. 3, a Session Internet Protocol (SIP) message includes a unique query key, or location key (e.g., telephone number or URI) to be used to determine an action based on the initiator's location (i.e., position). As shown in FIG. 3, the SIP message including the unique query (e.g., location) key is passed to a positioning center 502.
Using the received location key, the positioning center 502 passes a query to an appropriate database 504, e.g., a database associating static location with various location key information. The static location database 504 determines the desired location information relating to the input location key, and returns the static location to the requesting positioning center 502.
Then, having obtained appropriate location information, the positioning center 502 passes a request to another database, e.g., a routing database 506, to obtain routing information associated with the received location information. The routing database 506 outputs appropriate routing information to the requesting positioning center 502. At that point, the positioning center 502 passes on the SIP message together with new routing information obtained from the routing database 506.
Standards development groups have created a mechanism for providing location associated to an endpoint or anchor point within a SIP session (“call”). Moreover, discussions have taken place promoting the idea of providing a limited set of URIs (Uniform Resource Identifiers) with the SIP messaging.
But a mechanism has not been heretofore provided to provide associated “ancillary” data with the call. The present inventors realize that such a mechanism is desired to support emergency calling as a primary application, and could be extended into commercial uses.
Disadvantages of the prior technology includes, e.g., providing a limited set of URIs, is not sufficient to cover all known or eventual types of data that are or will be required. Moreover, by providing URIs only, there is no provision for including (embedding) ancillary data within the SIP body part. Furthermore, body part(s) as a separate package can be easily encrypted while the headers remain in plain text. (Providing one or more URIs as the only option cannot ensure that the data associated with it will be delivered in an encrypted or digitally signed manner, whereas a mechanism for embedding the data within the SIP message itself allows for its encryption and/or digital signature as required.)
SUMMARY OF THE INVENTION
In accordance with the principles of the present invention, a Session Initiation Protocol (SIP) proxy server for facilitating inclusion of auxiliary data along with location in a SIP session comprises a first communication path to receive a SIP message from an initiator of the SIP message. A proxy module associates auxiliary information identified in a SIP header of the SIP message with the received SIP message. A second communication path provides access to a recipient of the SIP message. In this way, aside from the association to the auxiliary information, the SIP message further includes current location information relating to a current position of the initiator.



BRIEF DESCRIPTION OF THE DRAWINGS
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 which:
FIG. 1 shows inclusion of a SIP ancillary data server for temporarily hosting auxiliary data for an emergency SIP session (call) uniquely referred to in a transported SIP header, in accordance with the principles of the present invention.
FIG. 2 shows an exemplary SIP message format, in accordance with the principles of the present invention.
FIG. 3 shows a conventional exemplary Voice over Internet Protocol (VoIP) based routing architecture.



DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
The present invention diverges from current NENA standards by providing ancillary data via a finite set of highly constrained universal resource indicators (URIs) (e.g., carrier_name_address@somedomain.com).
The present invention leverages the model already created for associated location in SIP, (e.g., Presence Identity Document Format-Location Object (PIDF-LO)), we specify a new technique, based on an XML/tagged structure, and for the provision of ancillary data associated with a call, aside from location, within the SIP header.
The invention utilizes techniques standardized in the Internet Engineering Task Force (IETF) for transporting location, but that in accordance with the invention, ancillary information, aside from or in addition to location associated with an emergency SIP session (call), is transported in a SIP header.
FIG. 1 shows inclusion of a SIP ancillary data server for temporarily hosting auxiliary data for an emergency SIP session (call) uniquely referred to in a transported SIP header, in accordance with the principles of the present invention.
In particular, as shown in FIG. 1, a SIP ancillary data server 100 hosts ancillary data (e.g., a photo of an emergency scene, live streaming video from an emergency scene, a medical history of a patient in need of emergency care, etc.) The hosted data may be live (e.g., streaming video), may be pseudo-live (e.g., a video or photo taken at the emergency scene, uploaded to an appropriate hosting site (the SIP ancillary data server 100), or may be static (e.g., a medical history). Moreover, the hosted data may or may not be retained within a common platform, i.e., within a single SIP ancillary data server 100.
In the given example of an emergency SIP session (call), an emergency caller 106 establishes a SIP session with an emergency services center functioning as a first SIP proxy 102. Using techniques outside of the present invention, an appropriate public service access point (PSAP) 108 is determined based on a location of the emergency caller 106. The emergency caller 106 then establishes a SIP session (call) with the appropriate PSAP 108 via respective SIP proxies 102, 104.
FIG. 2 shows an exemplary SIP message format, in accordance with the principles of the present invention.
In particular, as shown in FIG. 2, in accordance with the principles of the present invention, in a manner similar to how location is represented in an emergency call, a SIP header is extended. The extended SIP Header contains one of two possible types of content elements: either (a) a content pointer element to a SIP Message body part (a “cid:”, or content identifier); or (b) an <information_URI> (a.k.a, “info_URI” in this document).
The content pointer (cid:) element makes reference to a structured XML form contained within the SIP message body.
The content <information_URI> (info_URI) makes reference to an external service (e.g., to the SIP ancillary data server 100 shown in FIG. 1) which contains ancillary information. Alternatively, the info_URI may provide a level of redirection to the information (e.g., a universal resource identifier (URI)).
The ancillary information, whether embedded locally in the SIP message, or provided (via request or response to a request) based on the info_URI, is preferably structured as XML/tagged data. The ancillary information is referred to herein collectively as an information object (IO).
The information object (IO) document structure preferably includes one or more sections representing any of many types of ancillary information.
The information object (IO) document is preferably arranged sequentially by Information Type, (e.g., Medical data, Measurement data, Statistics, Profile information, or Multimedia-related information). Preferably, the information object (IO) is infinitely extensible to contain any number of information data types.
The (IO) information object may contain actual data, or one or more reference URIs pointing to some data service, or any combination of both. For instance, as shown in FIG. 1, the IO information object may point to ancillary data temporarily hosted in a SIP ancillary data server 100.
The invention permits ancillary data of any kind to be linked to an emergency SIP call. Moreover, any of the varying types of ancillary data can be registered as standard data types (e.g., IANA Registry).
While shown and described with reference to an emergency SIP call, the principles of the present invention are extensible to any SIP session, including non-emergency cases.
The information within the SIP body can be encrypted and/or digitally signed as required.
Potential current markets for the invention include, for example, Voice over Internet Provider (VoIP) service providers, emergency service providers, or information service providers.
Those that may make particular use of the invention include any/all communications users, including VoIP, wireless and/or landline users, as well as VoIP service providers.
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 Session Initiation Protocol (SIP) proxy server for facilitating inclusion of auxiliary data in a SIP session, comprising:
a first communication path, from an initiator device, to receive an emergency SIP message including an extended header comprising current location information of said initiator device and a uniform resource identifier referencing an external source device providing auxiliary emergency information associated with said emergency SIP message;
an auxiliary information module to obtain said auxiliary emergency information from a server addressed by said uniform resource identifier; and
a second communication path to communicate said auxiliary emergency information associated with said emergency SIP message, to a recipient device.

2. The Session Initiation Protocol (SIP) proxy server for facilitating inclusion of auxiliary data in a SIP session according to claim 1, wherein:
said uniform resource identifier (URI) relates to an IP address of said auxiliary emergency information.

3. The Session Initiation Protocol (SIP) proxy server for facilitating inclusion of auxiliary data in a SIP session according to claim 1, wherein:
said emergency SIP message corresponds to an emergency Voice over Internet Protocol (VoIP) call.

4. The Session Initiation Protocol (SIP) proxy server for facilitating inclusion of auxiliary data in a SIP session according to claim 1, wherein:
said auxiliary emergency information comprises audio relating to said emergency SIP message.

5. The Session Initiation Protocol (SIP) proxy server for facilitating inclusion of auxiliary data in a SIP session according to claim 1, wherein:
said auxiliary emergency information comprises video relating to said emergency SIP message.

6. The Session Initiation Protocol (SIP) proxy server for facilitating inclusion of auxiliary data in a SIP session according to claim 1, wherein:
said auxiliary emergency information comprises textual data.

7. The Session Initiation Protocol (SIP) proxy server for facilitating inclusion of auxiliary data in a SIP session according to claim 1, wherein:
said universal resource identifier comprises a universal resource locator (URL) of a web site containing information relating to said emergency SIP message.

8. The Session Initiation Protocol (SIP) proxy server for facilitating inclusion of auxiliary data in a SIP session according to claim 1, wherein:
said initiator device of said emergency SIP message is a wireless device.

9. The Session Initiation Protocol (SIP) proxy server for facilitating inclusion of auxiliary data in a SIP session according to claim 1, wherein:
a form of said uniform resource identifier is <information_URI>.

10. A method of facilitating inclusion of auxiliary data in a Session Initiation Protocol (SIP) session, comprising:
receiving, from an initiator device, an emergency SIP message including an extended header comprising current location information of said initiator device and a uniform resource identifier referencing an external source device providing auxiliary emergency information associated with said emergency SIP message;
obtaining said auxiliary emergency information from a server addressed by said uniform resource identifier; and
establishing a second communication path to communicate said auxiliary emergency information associated with said emergency SIP message, to a recipient device.

11. The method of facilitating inclusion of auxiliary data in a Session Initiation Protocol (SIP) session according to claim 10, wherein:
said uniform resource identifier (URI) relates to an IP address of said auxiliary emergency information.

12. The method of facilitating inclusion of auxiliary data in a Session Initiation Protocol (SIP) session according to claim 10, wherein:
said emergency SIP message corresponds to an emergency Voice over Internet Protocol (IP) call.

13. The method of facilitating inclusion of auxiliary data in a Session Initiation Protocol (SIP) session according to claim 10, wherein:
said auxiliary emergency information comprises audio relating to said emergency SIP message.

14. The method of facilitating inclusion of auxiliary data in a Session Initiation Protocol (SIP) session according to claim 10, wherein:
said auxiliary emergency information comprises video relating to said emergency SIP message.

15. The method of facilitating inclusion of auxiliary data in a Session Initiation Protocol (SIP) session according to claim 10, wherein:
said auxiliary emergency information comprises textual data relating to said emergency SIP message.

16. The method of facilitating inclusion of auxiliary data in a Session Initiation Protocol (SIP) session according to claim 10, wherein:
said universal resource identifier comprises a universal resource locator (URL) of a web site containing information relating to said emergency SIP message.

17. The method of facilitating inclusion of auxiliary data in a Session Initiation Protocol (SIP) session according to claim 10, wherein:
said initiator device of said emergency SIP message is a wireless device.

18. The method of facilitating inclusion of auxiliary data in a Session Initiation Protocol (SIP) session according to claim 10, wherein:
a form of said uniform resource identifier is <information_URI>.