1. Field of the invention
The invention relates to a method for instance identification in a communication system, in particular in an Internet Protocol Multimedia Subsystem (IMS), and also to a corresponding network control element.
2. Description of the related art
The invention relates to SIP (Session Initiation Protocol) and the 3GPP (Third Generation Partnership Project) IMS (Internet Protocol (IP) Multimedia Subsystem). In particular, the invention addresses a problem in IMS, which is described in the following by referring to an example.
The basic situation for this is shown in
Now, during an ongoing SIP session, Mary transfers John to Håkan (C), having the device US-C. This is effected such that B sends a SIP REFER message (message 1 in
The transferred session needs to go to that particular device (namely UE-A1) John was holding in his hands, not the other one.
However, the SIP INVITE message issued from UE-C in response to receiving the REFER message may go to both user entities of user A, as indicated by messages 2a and 2b in
So far 3GPP IMS does not have a solution to this. In current 3GPP IMS, the transferred session can be routed to any of John's device, or to all of them (parallel forking), or to any set of them.
This can result in a break of the session.
The same problem exists when moving from one-to-one session to an ad-hoc multiparty session.
A has multiple devices registered to the same Public User ID. A and B have an ongoing SIP session. B wants to add C to the same session. B needs to establish an ad-hoc conference and invite A and C to this conference session. To do this, B may send REFER to the Conference application server, which then sends INVITE to A and C. Again, this INVITE might be routed to any device A has registered to the Public User ID.
It is noted that a Globally Routable User Agent Uniform Resource Identifier (GRUU) standard is known. However, at present this cannot be applied as such in more advanced network (e.g., 3GPP IMS and 3GPP Multimedia Domain (MMD) due to their complex architecture and routing and identity requirements.
Hence, it is an object of the present invention to overcome this problem and to allow a reliable session even in case a user has a plurality of devices identified by the same Public User ID, in the context of a distributed architecture comprising several network elements, each of them having a particular role in the session setup procedure.
This object is solved by a method for instance identification in a Session Initiation Protocol (SIP) used in a communication system, comprising the steps of using a Globally Routable User Agent Uniform Resource Identifier (GRUU) for uniquely identifying an instance, wherein the Globally Routable User Agent Uniform Resource Identifier (GRUU) is related to a serving network control element of the instance.
Alternatively, this object is solved by a generic control element comprising means for identifying an instance by using a Globally Routable User Agent Uniform Resource Identifier (GRUU) in a Session Initiation Protocol (SIP), wherein the Globally Routable User Agent Uniform Resource Identifier (GRUU) is related to a serving network control element of the instance.
Thus, according to the present invention, a so-called GRUU (Globally Routable UA (User Agent) URI (Uniform Resource Identifier)) is used for identifying an instance device. Namely, GRUU is a unique instance ID that is globally routable. GRUU has been defined by IETF (Internet Engineering Task Force) in specification draft-ietf-sip-gruu-01. Thus, in IMS, the GRUU points to the user equipment (i.e., the instance device) instead of the user. Therefore, the invention proposes the use of GRUU in 3GPP IMS and similar networks. The invention provides solutions for the problems created due to distributed architectures such as IMS. That is, in particular, the GRUU is related to the serving network control element of the instance in order to surely routing messages/communication to the instance through the serving network control element.
Therefore, by using the GRUU, it is possible to reliably start a session with a user equipment of a user, which comprises several user entities identified by the same Public User ID.
Further advantageous developments are set out in the dependent claims.
The invention is described by referring to the enclosed drawings, in which:
In the following, preferred embodiments of the present invention is described by referring to the attached drawings.
According to a first embodiment of the invention, GRUU (Globally Routable UA (User Agent) URI (Uniform Resource Identifier)) is used for identifying a user equipment (UE)(as an example for an instance) for IMS sessions.
GRUU is a unique instance ID that is globally routable. A GRUU is generated by the SIP registrar (e.g., S-CSCF) at registration time, and transported to the User Agent (e.g., UE) for its usage at a later time. In IMS, a GRUU points to the UE instead of the user. A GRUU is valid for the duration of the UE registration.
In more detail, the definition of GRUU is as follows: A GRUU is a SIP URI that has a specific set of characteristics:
Global: It can be used by any UAC (User Agent Client) connected to the Internet. In that regard, it is like an Address-Of-Record (AOR) for a user. The address-of-record for a user, sip:joe@example.com, is meant to be used by anyone to call that user. The same is true for a GRUU.
Temporally Scoped: It may be temporally scoped. In that regard, it is not like an Address-Of-Record (AOR) for a user. The general assumption is that an AOR for a user is valid so long as the user resides within that domain (of course, policies can be imposed to limit its validity, but that is not the default case). However, a GRUU has a limited lifetime by default. It can never be valid for longer than the duration of the registration of the UA to which it is bound. For example, if a PC registers to the SIP network, a GRUU for this PC is only valid as long as the PC is registered. If the PC unregisters, the GRUU is invalid; calls to it would result in a 404 (Not Found) message. If the PC comes back, the GRUU will be valid once more. Furthermore, it will frequently be the case that the GRUU has a lifetime shorter than the duration of the registration.
Instance Routing: It routes to a specific UA instance, and never forks. In that regard, it is unlike an Address-Of-Record. When a call is made to a normal AOR which represents a user, routing logic is applied in proxies to deliver the call to one or more UAs. That logic can result in a different routing decision based on the time-of-day, or the identity of the caller. However, when a call is made to a GRUU, the routing logic is much more static. It has to cause the call to be delivered to a very specific UA instance. That UA instance has to be the same UA instance for any request sent to that GRUU. This does not mean that a GRUU represents a fundamentally different type of URI; it only means that the logic a proxy applies to a GRUU is going to generally be simpler than that it applies to a normal AOR.
Thus, the GRUU can be used at any time to force routing of SIP signalling to the same instance running at the same device that requests the GRUU. This allows the UA to execute call transfer, ad-hoc conferences and presence based initiated communications with the guarantee that the execution will end up in the required device, out of a collection of possible devices that the user may be using. In case there is a call transfer, ad-hoc conference or any presence initiated communication, the other party will contact the GRUU and the network will route to this specific instance in this specific UE.
However, adopting the GRUU in IMS introduces a problem that this invention solves, namely: since the GRUU is not a real public user identity registered in the HSS (Home Subscriber Server), any SIP (Session Initiation protocol) request addressed to a GRUU will make the I-CSCF (Interrogating Call/Session Control Function) to query the HSS asking for routing information. Such query will fail to provide the address of the S-CSCF (Serving CSCF) allocated to the user, since the HSS is not aware of GRUU.
In detail, the GRUU effectively is a Temporary Public User Identity allocated to the combination of the real Public User Identity and contact address. Generating and informing the UE of a GRUU does not represent a problem in IMS. However, if at a later stage, the UE populates the Contact header field of a SIP request (e.g., INVITE) with a GRUU, the remote User Agent will use the GRUU to route further signalling, and perhaps execute any of the mentioned services (e.g., call transfer, ad-hoc conference, etc.). This will not work in IMS, because a request that contains a GRUU in the Request-URI field will be received at an I-CSCF, which will send a Diameter query to the HSS requesting the address of the S-CSCF allocated to the user.
However, according to the prior art, the HSS only contains a database of real Public User Identities, but is not aware of GRUUs. Therefore the HSS will return a Diameter code “User unknown” and the I-CSCF will generate a SIP 404 Not Found response. As a consequence, the call transfer, ad-hoc conference, or such service will fail.
Therefore, according to the invention, the GRUU is related to the S-CSCF (as an example for a serving network control element) of the UE. This is described later in more detail by referring to first to fourth embodiments.
In the following, the basic principle of using GRUU for instance identification is described in the following by referring again to the flow shown in
In the following, three possibilities for identifications to be included in the Refer-To header field of the REFER A procedure to make the GRUU globally routable in IMS and bind it to the user ID is described by referring to the flow chart shown in
Once a S-CSCF (Serving Call/Session Control Function) gets the registrations (REGISTER method) from UE-A1 and UE-A2 (referring to the situation shown in
Once this is done, the S-CSCF submits the GRUU, i.e., GRUU1in this example, to the HSS (Home Subscriber Server) over the Cx interface as part of a Diameter SAR (Server-Assignment-Request) message. This is shown in step S23. The HSS binds the GRUU1to the Public User ID (step S24), which in turn is already bound to the S-CSCF allocated to the user.
Alternatively, HSS can allocate the GRUU once it receives the registration notification from the S-CSCF. In this case, the HSS returns the GRUU to the S-CSCF in a Diameter SAA (Server-Assignment-Answer) response. That is, the S-CSCF and the HSS are both examples for a generic control element according to the invention. message sent from user B to user C are described. Refer-To contains 1) A's IP address 2) A's Public User ID 3) A's GRUU, as according to the present embodiment of the invention. Thus, after receiving the REFER message from user B, user C sends INVITE to the address indicated in the Refer-To header field.
Case 1) is not relevant, since it is not possible to use IP addresses for routing in IMS, since the IP address identifies the terminal and it is not possible to send SIP signalling to the terminal bypassing proxies (CSCFs).
In case 2), the INVITE request will be received by the S-CSCF where the user is registered. The S-CSCF will fork the request to any device user A has registered to the Public User ID, or to all of them, or to any set of them (in case there are more than two), depending whether the IMS supports callee capabilities, what are the registered callee capabilities in the devices, and what are the caller preferences.
However, only in case 3), i.e., use of the GRUU, it is guaranteed that the S-CSCF routes the INVITE request to the same device where A is having the session with B.
Therefore, the invention proposes the use of GRUU in 3GPP IMS and similar networks. The invention provides solutions for the problems created due to distributed architectures such as IMS.
In the following, it is described how the GRUU is made globally routable in IMS, and how the GRUU is bound to the Public User ID.
The S-CSCF generates a 200 OK response to the SIP REGISTER request. The response contains a new parameter in the Contact header field that conveys the allocated GRUU to the particular UA instance for the duration of the registration. This parameter is already defined in GRUU Internet draft mentioned above (step S25). The S-CSCF sends the response to the UE-A1 via the I-CSCF and the P-CSCF.
The same procedure is carried out for the UE-A2, i.e., when a REGISTER request is received from UE-A2. That is, the S-CSCF allocates a second different GRUU to UE-A2. In step S24, then GRUU2 is bound to the same Public User ID of A in the HSS.
The use of home network domain in the GRUU guarantees that initial requests are routed to an I-CSCF (Interrogating CSCF) located in the home network.
Thus, once the initial request is routed to the I-CSCF in user's home network, the I-CSCF uses the GRUU to query the HSS. The GRUU looks like any other Public User ID to the HSS, it is bound (perhaps indirectly, via a real Public User ID) to the S-CSCF allocated to the user. The HSS returns the address of the S-CSCF bound to the GRUU. The I-CSCF then forwards the SIP request to that S-CSCF.
Once the initial request is routed to the user's S-CSCF (in the above example, the S-CSCF of user A) using GRUU, the S-CSCF is aware (from the registration procedure) of the route to the particular UE (in the example of
That is, in the example of
Hence, in this way, a terminating session as shown in
In the following, the procedures according to the first embodiment are described in more detail by referring to a signal flow shown in
It is noted that in
In the upper part of
Then, the S-CSCF creates a GRUU that follows the pattern of the real Public User Identity, e.g., sip:[crypto-GRUU]@home1.net. The part “crypto GRUU” is also referred to in the following as GRUU user part and is a unique identifier for the instance in the domain of the user. The second part “home1.net” is an example for a home domain of the user. The S-CSCF is responsible to maintain a state of the GRUU in the HSS. That is, when the S-CSCF creates a GRUU, it informs the HSS (with a Diameter request) of the newly created GRUU, so the HSS is able to map the GRUU to the S-CSCF that keeps the user registration state. Hence, the HSS binds the GRUU to the S-CSCF.
This is performed by sending a Diameter SAR (Server Assignment Request) in message (3-6) to the HSS. The SAR message is extended to convey the GRUU. The HSS responds with a SAA command (Server Assignment Answer) in message (3-7). Thus, the S-CSCF knows that the binding of the GRUU to the S-CSCF is performed, and sends a 200 OK message (3-8) to the I-CSCF, which is forwarded to the P-CSCF in message (3-9) and to the UE in message (3-10). After this, the GRUU generation is completed.
When the Public User Identity de-registers (explicitly or due to a registration expiration), the S-CSCF also informs the HSS to remove any state associated to the GRUU.
Thus, when a SIP request addressed to the GRUU is received at the I-CSCF, the I-CSCF executes the regular procedures, as also shown in the lower part of signal flow shown in
Thus, according to the first embodiment of the invention, the relation between the GRUU and the S-CSCF is established by binding the GRUU to the S-CSCF in the HSS.
In the following, a second embodiment is described according to which the first embodiment is modified. In detail, according to the second embodiment, the GRUU userpart is generated such that it contains S-CSCF ID.
In detail, the S-CSCF creates GRUU userparts, i.e. crypto-GRUU's based on a configured pattern, so that it can be used in I-CSCFs to locate the correct S-CSCF.
This is described in the following by referring to the signal flow shown in
As mentioned above, the GRUU generation format differs to the first embodiment. That is, according to the second embodiment it is sip:[S-CSCF URI+ crypto-GRUU]@home1.net. The SAR and SAA messages (4-6) and (4-7) are therefore regular Diameter SAR and SAA, since they do not contain the GRUU. The messages (4-1) to (4-5) and (4-8) to (4-10) are identical to the messages (3-1) to (3-5) and (3-8) to (3-10) according to the first embodiment.
The GRUU usage as shown in the lower part of
After this, the normal procedures are-carried out. That is, the messages (4-12) to (4-18) of
Hence, according to the second embodiment of the invention, the relation between the GRUU and the S-CSCF is established by the S-CSCF when it includes the S-CSCF's ID into the GRUU.
A further possibility to solve the above problem is described in the following as a third embodiment of the invention. According to the third embodiment, a routable GRUU to the S-CSCF hostname is created, i.e., the S-CSCF creates a GRUU that provides direct routing to the S-CSCF hostname.
This is described in the following by referring to the signal flow shown in
Upon the GRUU generation as shown in the upper part of
When a SIP request addressed to the GRUU is received at the I-CSCF (message 5-11), the I-CSCF determines that the Request-URI does not follow the pattern of a real Public User Identity, because the right hand side of the URI contains a hostname rather than a domain name. That is, the I-CSCF extracts the S-CSCF URI from the GRUU. Hence, the I-CSCF, instead of querying the HSS for routing information, forwards the request directly to the S-CSCF. The remaining procedures are basically the same as shown in
According to the SIP routing procedures specified in RFC 3263, a UA or SIP proxy will do an NAPTR (Naming Authority Pointer (in DNS)), SRV (Service (record) in DNS) and AAAA (or A) DNS (Domain Name System) queries where the hostname (e.g., scscf1.home1.net) is the entry key. Therefore, this approach requires each home network to populate its DNS database with the NAPTR and SRV records of each S-CSCF in the network, pointing to the entry point in the network (typically the entry point is an I-CSCF).
This solution does require some more initial configuration, as it requires adding NAPTR and SRV records to each S-CSCF in the network. These records, otherwise, are not required for the operation of the DNS. Note that the A/AAAA records of all the S-CSCFs are required and already present in the DNS, but not necessarily the NAPTR and SRV records. The advantage of the solution according to the third embodiment is the lack of HSS involvement. Therefore, faster session setup times might be expected.
Thus, according to the third embodiment of the invention, the relation between the GRUU and the S-CSCF is established by creating a routable GRUU to the S-CSCF hostname.
In the following, a fourth embodiment is described, according to which a routable GRUU to the S-CSCF IP address is created.
In detail, this solution is a slight variation of the solution described in the third embodiment: The GRUU that the S-CSCF creates contains an IP address rather than a hostname. For instance, the GRUU may follow the pattern sip:[crypto-GRUU]@[IP address]. This is illustrated in the signal flow shown in
The messages (6-1) to (6-10) during the GRUU generation are the same as the messages (5-1) to (5-10) in
Upon using the GRUU, it is not necessary to extract the S-CSCF URI from the GRUU as according to the third embodiment. Since according to the fourth embodiment the GRUU is a routable GRUU to the S-CSCF IP address, the I-CSCF can simply forward the INVITE request to the S-CSCF in message (6-12), that is, in contrast to message (4-12) according to the second embodiment, the INVITE request in message (6-12) does not contain the GRUU. The remaining messages (6-11) and (6-13 to 6-18) are similar to the messages (5-11) and (5-13 to 5-18) according to the third embodiment.
Like according to the third embodiment, this approach does not require the S-CSCF to inform the HSS whenever a GRUU is created/deleted. Unlike the third embodiment, this solution does not require to configure the DNS by adding a NAPTR and SRV entries per S-CSCF. However, it requires the home network to configure the firewalls so that SIP signalling can reach directly each of the S-CSCFs in the network.
This solution is just a minor variation of the solution described above in connection with the third embodiment. It does not require the initial configuration of the DNS.
The invention is not limited to the embodiments described above, and various modifications are possible.
For example, the embodiments may be freely combined. For example, according to the first embodiment, the GRUU may be allocated or created alternatively also by a HSS. This can also be applied to the second, the third and the fourth embodiment, so that the GRUU is not created in the S-CSCF, but in the HSS. In this case, however, the S-CSCF has to be notified regarding the GRUU.
Moreover, it is noted that the user equipment described above is only an example for an instance, i.e., a particular network element.
Furthermore, S-CSCF is only an example for a serving network control element according to the invention. The generic control element according to the invention is, for example, an S-CSCF, I-CSCF, HSS etc., in which the basic operation according to the invention can be performed. Furthermore, the I-CSCF is an example for an edge control element according to the invention. The edge control element is a network element which provides access to the IMS (or a similar communication system) for the user equipment (i.e., the instance). The HSS is only an example for a central network element according to the invention. The central network element is an element which stores data regarding the instance.
Moreover, the IMS is only an example for a communication system. The invention may be applied in other communication systems, for example a Multimedia Domain (MMD) defined by 3GPP2.
Number | Date | Country | Kind |
---|---|---|---|
04017106.8 | Jul 2004 | EP | regional |