The present invention relates to a method that enables a Watcher to access presence information from a Presence Server via an XDM Client. The present invention also relates to a Presence Server and a Watcher Client configured to execute the suggested method.
Today presence service is a well known network service, which may be applied in computer and telecommunication networks that conveys ability and/or willingness of a potential communication partner to communicate, and/or the reachability of the user. A user's client, typically referred to as a Presentity, provides presence information via a network connection to a presence service, which is stored in what constitutes his personal availability record and can be made available for distribution to other users, which in this context normally are referred to as Watchers, to convey the Presentity's availability for communication. Presence information has wide application in many communication services and is one of the innovations driving the popularity of services, such as instant messaging and recent implementations of voice over IP clients.
The IP Multimedia Subsystem (IMS) is a network system that is based on the Session Initiation Protocol (SIP), which is suitable to be used as a platform for a broad range of advanced Internet-based multimedia services and applications, such as e.g. the presence information service, on top of a packet switched network,
When applying a presence service, a Watcher may either request for the current presence information by executing a so called one time fetch, or subscribe for presence information associated with a specific Presentity, wherein the Watcher will be continuously notified of future updated presence information associated with the Presentity for the duration of the subscription, or until the Watcher terminates the subscribed presence service.
Throughout this document, both the Watcher and the Presentity will be defined as comprising, either a user, or an automated function operating on behalf of the user, and a UE, or, if used in an IMS network, an IMS terminal, comprising a client that is configured to manage the presence service, such that requested and authorized presence information can be provided to the respective user. The UE/IMS terminal may be any of e.g. a stationary PC, a laptop, a PDA, or a cellular telephone.
Presence service will now be described in more detail, when applied in an IMS system architecture. As already mentioned above, presence service is applicable in various types of communication networks, and the implementation of such a service in an IMS network should be seen only as one possible example among others.
It is to be understood that although the given example refers to a scenario where the Watcher and the Presentity accesses different IMS networks when using the IMS presence service, where different functionalities are described in association with the respective IMS network, a typical IMS network will comprise functionality for providing both Presentity, as well as Watcher functionality to users accessing the respective network. Obviously, the two IMS networks could be replaced by one single network, comprising both the functionality described in IMS network 101, as well as in IMS network 201, if both the Watcher 100 and the Presentity 200 are able to access the same network.
Presence information may be provided via one or more entities, typically referred to as presence sources 202a,b,c, in
Presence information associated with Presentity 200 and collected by a presence source is forwarded to a presence server 203 of IMS network 201, where it is stored, and from where it can later be retrieved by a Watcher, such as e.g. Watcher 100.
Although a typical IMS network comprises a plurality of different network entities, or nodes,—for simplicity reasons each of IMS core networks 101,201, of
A Presentity, such as Presentity 200 may choose to specify certain Watchers that are to have access to the at least some presence information associated with Presentity 200, as well as what specific information a respective Watcher should have access to, by specifying presence rules, typically referred to as Presence Authorization Policies. The presence rules are stored in a Presence Markup Language (XML) Document Management Server (XDMS) 205, which is typically an eXtensible Markup Language (XML) Configuration Access Protocol (XCAP) server that is configured to support management of XML documents.
A Presentity 200 may access the presence server 203 and the presence XDMS 205 in order to manipulate presence related data, such as e.g. presence authorization rules via an XDM client (XDMC) 206 and an aggregation proxy 207, located in IMS network 201. It is also possible to use the XDMC 206 for the purpose of publishing persistent presence data, using XCAP.
A Watcher, requiring presence information associated with a specific Presentity may request for such information by activating a Watcher client, 102, which, if configured to access one or more presence servers 203 via IMS core 103 of IMS network 101 and IMS core 204 of IMS network 201, comprises a SIP client 106. The SIP client 106 comprises communication functionality that is configured to interpret the SIP protocol, such that SIP based presence information can be accessed by the Watcher client.
Once a request for presence information generated and transmitted by Watcher client 102 has been received by presence server 203, presence XDMS 205 is interrogated, and if relevant rules approves with the request, relevant parts of stored presence information will be distributed to Watcher 100 by presence server 203.
It is to be understood that the described network architecture is a simplified overview, and that interconnected networks typically comprise corresponding nodes and functionality, such that SIP clients in both networks may act both as Watchers, as well as presentities, thereby acting as a complete SIP based presence service client.
As indicated above, a Watcher wanting to do a one time fetch of presence information has to have a SIP client functionality that is configured to register with the network, and that is configured to use the SIP Subscribe/Notify method for retrieving presence information from a presence enabled communication system.
It is an object of the present invention to address the deficiencies mentioned above. More specifically, it is an object of the present invention to make it possible to use a UE that do not comprise a SIP client, but which is provided with an XDM client, not only as a Presentity, but also as a Watcher, i.e. to enable an XDM client to act as a complete presence service client.
This object, as well as other related ones, can be obtained by providing a method and arrangements, according to the independent claims attached below. According to one aspect, a method in a Watcher Client of obtaining presence information from a Presence Server is provided.
According to this method, a request for presence information, comprising an XCAP user identity, is first generated by the Watcher client, and transmitted to the presence server, via an XDM Client of the Watcher Client.
Once the request has been successfully processed by the presence server, the Watcher Client receives a document in the form of a defined XCAP application usage from the presence server.
Thanks to the processing of the requested presence information at the presence server, the XDM Client will be able to recognise the returned presence information, as would it be received via a SIP client.
According to another aspect, a method of providing presence information associated with a Presentity to a Watcher Client is also provided in a presence server.
According to this embodiment, the presence server identifies a Watcher on the basis of an XCAP user identity, of a request, received from an XDM Client of the Watcher Client. Once the Watcher has been identified, the presence server generates a document on the basis of presence information stored at the presence server. The document is generated in the form of a defined XCAP application usage and, is provided with content, according to the Watcher identity. The generated document is then forwarded to the Watcher, where the document can be treated as conventional presence information.
The claimed invention also refers to a presence server and to an arrangement comprising a Watcher Client, both of which have been configured to execute the method suggested above.
By making presence information available also to Watcher Clients that do not have a SIP Client, but an XDM Client, the use of presence services will be spread to a wider range of user equipments, and, thus, the simplification of being able to access presence information will offer increased business opportunities and improved opportunities for implementing presence as a value added service in a wider range of business areas and products.
Further features of the present invention and its benefits will be explained in more detail in the detailed description below.
The present invention will now be described in more detail by means of exemplary embodiments and with reference to the accompanying drawings, in which:
XCAP is a protocol that enables a client to read, write, and modify application configuration data that is stored in the XML format on a server. Limited parts of such application configuration data can be referred to as an “application usage”, which can be associated with a unique name, typically referred to as an Application Unique Identifier (AUID).
As already mentioned above, a typical IMS based presence service involves XDMC's and XDMS's that are entitled to use the XCAP protocol to manipulate Presentity related data, such as e.g. Presence Authorization Rules. In addition, it is also possible to use an XDMC to publish persistent presence data, using XCAP. The present invention addresses the situation where a Watcher client does not have any SIP client functionality. In such a situation it would be beneficial if the presence information of a Presentity could be modelled as an XCAP application usage, thereby enabling the Watcher to be able to access the information by using XCAP instead of SIP.
In order to be able to provide such a solution, a method has been suggested where the Watcher client recognises the presence server also as an XDMS. By providing such a mechanism at the Watcher client, the Watcher will be able to retrieve presence information from a presence server by using an XCAP/XDM protocol, and to provide a document to the Watcher that is in the form of a defined XCAP application usage.
The aim of such a modelling mechanism is therefore to define presence data that is stored in a presence server also as an XCAP application usage, and to enable a Watcher client to fetch portions of such presence data, that the respective Presentity has allowed the Watcher to access, by using the XCAP protocol instead of the SIP protocol.
As indicated above, with reference to
Looking again at an IMS network,
According to
In accordance with the network architecture described above with reference to
Presence information requested by Watcher 111 using XCAP application usage will typically be delivered to Watcher 111 as a conventional Presence Information Data
Format (PIDF) document. In order to be able to use the XCAP protocol for retrieving presence information associated with a specific Presentity 212, Watcher client 112 is provided with an XDMC 500. When an XCAP based request has been processed by presence server 211 the response from presence server 211 will contain presence data associated with Presentity 212 that the Watcher is allowed to see.
In order for presence server 211 to be able to process an XCAP based request for presence server, it has to be able to identify the Watcher, as well as the Presentity. The identity of the Presentity is typically given by the value of the XCAP User Identifier (XUI) part of the XCAP document selector that the Watcher 111 uses to fetch the XML document defined by the relevant application usage.
Either a SIP address of a record associated with respective Presentity, or a corresponding tel. URI may be used as an XCAP User Identifier (XUI). The same content type and XML format as is presently used in the known SIP NOTIFY case may preferably be used also for the new XCAP application usage, and, thus, the document that is returned to the Watcher client in response to an XCAP GET will be generated from the presence information stored in the presence server, by using the same presence processing rule/s, that would have been used if the Watcher 111 had instead requested presence information using the conventional SIP NOTIFY method. A difference between the two different scenarios is, however, that the identity of the Watcher will be taken from different headers.
In the suggested XCAP based modelling mechanism the identity of the Watcher may be taken e.g. from an authenticated X-3GPP-Intended-Identity header, or any other equivalent XCAP header from which the Watcher can be identified, such as e.g. the X-3GPP-Asserted-Identity header, or the X-XCAP-Asserted-Identity header.
The general mechanism used in the exemplification described above for enabling a Watcher client that lacks a SIP Client to act as a Watcher towards a presence enabled network will now be described in further detail with reference to the flow chart of
More specifically
In a first step 3:1 of
As suggested above, the Watcher's identity may typically be inserted into the authenticated X-3GPP-Intended-Identity header, or into any other equivalent header, such as e.g. the X-CAP-Asserted-Identity header, X-3GPP-Asserted Identity header, or X-XCAP-Asserted identity header, instead of in the P-Asserted-Identity header, as would have typically been the case in a corresponding SIP related situation.
In a next step 3:3, presence server 211 executes a so called composition on the basis of the identity of the Watcher client 112. The Composition policy applied results in a merging of published presence information that have been previously obtained from one or more different presence sources (not shown) into one single document, according to conventional procedures. As commonly know, such presence information may comprise e.g. dynamic presence information, received from one or more presence sources (not shown) via different SIP PUBLISH, or persistent presence information, fetched from a Presence XDMS (not shown).
In addition, as indicated with another step 3:4, relevant Presence Subscription Rules, or other alternative rules, are applied with the requesting Watcher identity as input. This step may allow different types of rules to be applied as long as they allow relevant presence information to be merged by selectively choosing what presence information to provide access to for requesting Watcher client 112. It is to be understood that the same set of logic is used for the raw presence information processing in step 3:3 as would have been used if an initial SIP NOTIFY was instead to be processed in a corresponding SIP session.
This means that, out of the raw presence information stored at presence server 211, and as a result of step 3:3 and step 3:4, an XML document is created in the form of a defined application usage, according to the XCAP based request received in step 3:1.
Alternatively, presence server 211 may also generate an Etag value, which corresponds to the generated presence information, as indicated with an optional step 3:5. If Etags are applied, this is attached to the generated document.
Once a document has been generated, the document, with or without an Etag, is forwarded to Watcher client 112 in a response message, typically in the form of a PIDF document, forwarded as a 200 OK message, as indicated with the final step 3:6.
If Etags are applied, the generated Etag is also provided into the response message. Once received by Watcher client 112, the Etag value may be used for executing a subsequent conditional XCAP GET, such that in a later request the Watcher client 122 will receive a new document only if any information in the respective document has been changed since the latest XCAP GET generated and transmitted by Watcher client 112.
Since the XCAP PUT and XCAP DELETE methods will not be applicable for the described application usage, application server 211 may be configured to reply to such methods with an error response, such as e.g. with a “403 forbidden” message.
The Open Mobile Alliance (OMA) XDM specification also defines a search protocol to be used towards documents stored in a presence XDMS. As the presence server 211 may be configured to act also as an OMA XDMS, the presence XDMS may also be adapted to support search in a document. Such a function may be applicable for requesting only parts of presence information, instead of a whole document, or when only one or more specific value of a document is required by the Watcher.
A search may be executed for a specific element of a document, such as e.g. element <mood>, where the respective element, expressing the registered mood of the respective Presentity, is to be returned to a requesting Watcher client only if it exists in the relevant document or if it comprises a specific value, such as e.g. “happy”.
In OMA XDM, search is based on XQUERY expressions that define which XML nodes in an XML document that shall be searched for and returned in a search response. The described search function can be comparable to the use of filtering in a corresponding SIP Subscribe case.
A presence server which applies the suggested method will have to be configured accordingly. A presence server that is configured to execute the method described above according to one exemplified embodiment will now be described in further detail with reference to
In
It is to be understood that
As indicated above, the Presentity, as well as the Watcher associated with Watcher client 112 has to be identifiable. According to the present example, this may be achieved by a functional unit referred to as an identifying unit 402 that is configured to interrogate a certain, specified XCAP header of a XCAP based request for presence information that is received from a Watcher client.
Once the Watcher associated with Watcher client 112 has been identified, a document will be assembled that comprise the presence information that the Watcher is entitled to see. This may be achieved at another functional unit, here referred to as a generating unit 403 that has been configured to recognise the XCAP GET request and the identity of the respective Watcher from which the XCAP GET originated, when generating a relevant document from the raw presence information associated with a respective
Presentity, and retrieved from a memory, typically a presence database 404.
The generating unit 403 is configured to compose all existing presence information for the identified Presentity into one document and to apply relevant Presence
Subscription Rules and/or any other Policies that may have been specified to be applicable for controlling what presence information a specific Watcher is allowed to access.
Also a Watcher client that is enabled to implement and use the suggested method has to be configured accordingly. Such a Watcher client, configured according to one exemplary embodiment, will be described in further detail below with reference to
Watcher client 112 of
Watcher client 112 also comprises a functional unit, here referred to as a generating unit 501, that is connected to communication unit/XDMC 500 and configured to generate an XDM request, in response to receiving an input from a user/Watcher, via a conventional user interface (not shown) or via some automated process (not shown), in a conventional manner.
Watcher client 112 of
Once processed the presence information may be used by the Watcher in a conventional manner, as if the presence information would have been retrieved via the SIP protocol.
By applying the suggested XDM based modelling mechanism, by introducing the XDM enabled Watcher client 112, presence information of a presence server will be made available, not only to Watchers being provided with a Watcher client having SIP client functionality, but also for Watchers having an XDMC, but no SIP client, and, thus, the presence service will be available to a larger range of UE's, and, consequently also to a larger number of users.
Since it is already today possible to publish presence information via XCAP, the suggested mechanism that allows Watchers provided with an XDMC to access presence information also via XCAP will enable the XDMC to act both as a Presentity/presence source and as a Watcher, and, thus, to become a full range presence service client.
Trough out this document, the terms used for expressing functional devices, entities or nodes, such as e.g. “communication unit”, “processing unit”, “identifying unit” and “generating unit”, should be interpreted and understood in a broad sense to represent any type of devices, entities, nodes or units which have been configured to process and/or handle requests for presence information as well as the associated presence information.
In addition, while the invention has been described with reference to specific exemplary embodiments, the description is generally only intended to illustrate the inventive concept and should not be taken as limiting the scope of the invention, which is defined by the appended claims.
AP Aggregation Proxy
AUID Application Unique Identifier
CNP Computer Node Platform
IMS IP Multimedia Subsystem
PS Presence Server
PIDF Presence Information Data Format
RLS Resource Link Server
SIP Session Initiation Protocol
SLA Service Level Agreement
XCAP eXtensible Markup Language (XML) Configuration Access Protocol
XDMS XML Document Management Server
XDM client XML Document Management client
XML Extensive Mark-up Language
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/SE2009/050126 | 2/6/2009 | WO | 00 | 8/1/2011 |