According to a first aspect of the present invention there is provided a method of facilitating the end-to-end transfer of a URI between a plurality of sip entities. The method comprising generating a sip message and including the URI to be transferred in a Contact header of the message and including in the Contact header a parameter indicating to a back-to-back user agent that this URI is not to be changed or replaced.

Patent
   9420018
Priority
Sep 05 2008
Filed
Nov 08 2013
Issued
Aug 16 2016
Expiry
Sep 05 2028

TERM.DISCL.
Assg.orig
Entity
Large
0
54
currently ok
2. apparatus configured to operate as a sip entity, comprising:
a receiver for receiving a first sip message;
a processor for processing the first sip message and, if a URI is present in the message body, generating a second sip message including the URI; and
a transmitter for sending the second sip message to another sip entity,
wherein the processor generates the second sip message including the URI in a header of the second sip message.
1. apparatus configured to operate as a sip entity, comprising:
a receiver for receiving a first sip message;
a processor for processing the first sip message and including a same URI in the message header and message body of a second sip message in response to receipt of the first sip message, and
a transmitter for sending the second sip message to another sip entity,
wherein the another sip entity is a sip back-to-back User Agent or a sip application server.
12. A system, comprising:
a first apparatus configured to operate as a sip entity, including:
a receiver for receiving a first sip message;
a processor for processing the first sip message and including a same URI in the message header and message body of a second sip message in response to receipt of the first sip message, and
a transmitter for sending the second sip message to another sip entity,
wherein the another sip entity is a sip back-to-back User Agent or a sip application server.
3. The apparatus according to claim 1, wherein the message body of the second sip message comprises text-based information, the text-based information comprising the URI.
4. The apparatus according to claim 1, wherein the URI identifies a service.
5. The apparatus according to claim 4, wherein the URI identifies the service by identifying a session of the service.
6. The apparatus according to claim 5, wherein the session of the service comprises a conference session.
7. The apparatus according to claim 5, wherein the session of the service comprises a game session.
8. The apparatus according to claim 2, wherein the URI identifies a service.
9. The apparatus according to claim 8, wherein the URI identifies the service by identifying a session of the service.
10. The apparatus according to claim 9, wherein the session of the service comprises a conference session.
11. The apparatus according to claim 9, wherein the session of the service comprises a game session.
13. The system according to claim 12, further comprising:
a second apparatus configured to operate as a sip entity, including:
a receiver for receiving the second sip message;
a processor for processing the second sip message and, if the URI is present in the message body of the second sip message, generating a third sip message including the URI; and
a transmitter for sending the third sip message to another sip entity.
14. The system according to claim 13, wherein the message body of the second sip message comprises text-based information, the text-based information comprising the URI.
15. The system according to claim 13, wherein the processor of the second apparatus generates the third sip message including the URI in a header of the third sip message.
16. The system according to claim 13, wherein the URI identifies a service.
17. The system according to claim 16, wherein the URI identifies the service by identifying a session of the service.
18. The system according to claim 17, wherein the session of the service comprises a conference session.
19. The system according to claim 17, wherein the session of the service comprises a game session.
20. The apparatus according to claim 1, wherein the URI is included in a Contact header field of the message header.

The present invention relates to the end-to-end transfer of an address and in particular to the transfer of Uniform Resource Identifiers (URIs) in a communication network using Session Initiation Protocol (SIP) messages.

IP Multimedia Subsystem (IMS) is the technology defined by the Third Generation Partnership Project (3G) to provide IP Multimedia services over mobile communication networks. IMS provides key features to enrich the end-user person-to-person communication experience through the use of standardised IMS Service Enablers, which facilitate new rich person-to-person (client-to-client) communication. An IMS network is able to connect to both PSTN/ISDN (Public Switched Telephone Network/Integrated Services Digital Network) as well as the Internet.

IMS provides a dynamic combination of voice, video, messaging, data, etc. within the same session. By growing the number of basic applications and the media which it is possible to combine, the number of services offered to the end users will grow, and the inter-personal communication experience will be enriched. This will lead to a new generation of personalised, rich multimedia communication services, including so-called “combinational IP Multimedia” services.

The IMS makes use of the Session Initiation Protocol (SIP) to set up and control calls or sessions between user terminals (or user terminals and application servers). The Session Initiation Protocol is a text-based protocol specified by the Internet Engineering Task Force (IETF) in RFC 3261, similar to Hypertext Transfer Protocol (HTTP) and Simple Mail Transfer Protocol (SMTP), for initiating interactive communication sessions between users. Such sessions include voice, video, chat, interactive games, and virtual reality. Extensions to SIP are also specified in several other IETF specifications.

SIP makes it possible for a calling party to establish a packet switched session to a called party (using so-called SIP User Agents (UA) installed in the User Equipment (UE)) even though the calling party does not know the current IP address of the called party prior to initiating the call. The Session Description Protocol (SDP), carried by SIP signalling, is used to describe and negotiate the media components of the session. Whilst SIP was created as a user-to-user protocol, IMS allows operators and service providers to control user access to services and to charge users accordingly.

FIG. 1 of the accompanying drawings illustrates schematically how the IMS fits into the mobile network architecture in the case of a GPRS/PS access network (IMS can of course operate over other access networks). Call/Session Control Functions (CSCFs) operate as SIP proxies within the IMS. The 3G architecture defines three types of CSCFs: the Proxy CSCF (P-CSCF) which is the first point of contact within the IMS for a SIP terminal; the Serving CSCF (S-CSCF) which provides services to the user that the user is subscribed to; and the Interrogating CSCF (I-CSCF) whose role is to identify the correct S-CSCF and to forward to that S-CSCF a request received from a SIP terminal via a P-CSCF.

SIP offers flexibility in how different services associated with a session may be invoked and there are services where the direct contact address of a particular user or service may need to be transferred by a second user or service to a third party. One common way of doing this is by using the URI as received in the Contact header of a SIP message. The Contact header is normally used to provide for direct communication between SIP entities such that subsequent requests will be directed to the URI within the Contact header. However, in some networks the Contact header of a SIP message may be mapped to that of, for example, a Back-to-Back User Agent (B2BUA) such as a Session Border Controller (SBC) or some Application Servers, such that the direct contact address of the user or service does not reach the recipient SIP entity. Messages intended for the user or service must then pass through the same nodes that performed the original mapping, as these nodes are required to perform inverse mapping of the address. Such inverse mapping is only possible if the message is sent within a dialog and the message follows the same path as the original message.

An example of a service that may require an address to be transferred to a third party is that of a conference. FIG. 2 illustrates a simplified signalling flow of a scenario wherein a first SIP user agent (within UE-A) creates an ‘ad hoc’ conference and subsequently requests that a second SIP user agent (within UE-B) dial into that conference. The steps performed are as follows:

The problem with existing technology is that a third party i.e. UE-B, will not be able to join the session due to mapping of the direct contact address of the user or service.

It is an object of the present invention to overcome or at least mitigate the problem noted above.

According to a first aspect of the present invention there is provided a method of facilitating the end-to-end transfer of a URI between a plurality of SIP entities. The method comprises generating a SIP message and including the URI to be transferred in a Contact header of the message and including in the Contact header a parameter indicating to a back-to-back user agent that this URI is not to be changed or replaced.

According to a second aspect of the present invention there is provided a method of transferring a URI from a first SIP entity to a second SIP entity, through any number of intermediate back-to-back user agent. The method comprises, at the first SIP entity, generating a SIP message and including the URI to be transferred in a Contact header and including in the Contact header a parameter indicating to a back-to-back user agent that this URI is not to be changed or replaced, and sending the SIP message to the second SIP entity. At any intermediate back-to-back user agent, the SIP message is received from the first SIP entity. The entity identifies the presence of a parameter indicating that this address is not to be changed or replaced, within the Contact header of the SIP message. The SIP entity forwards the SIP message to the second SIP entity with its Contact header unchanged.

According to a third aspect of the present invention there is provided an apparatus configured to operate as a SIP entity. The apparatus comprises a processor for generating a SIP message, for including a URI to be transferred in a Contact header and for including in the Contact header a parameter indicating to a back-to-back user agent that this URI is not to be changed or replaced. The apparatus further comprises a transmitter for sending this SIP message to another SIP entity. The apparatus may comprise a SIP server and preferably a SIP conferencing server.

According to a fourth aspect of the present invention there is provided an apparatus configured to operate as a back-to-back user agent. The apparatus comprises a receiver for receiving a SIP message from a first SIP entity, a processor for checking a Contact header of the SIP message for a parameter indicating that the URI in the Contact header is not to be changed or replaced, and, if the parameter is present, for ensuring that a URI within the Contact header is not changed or replaced, and a transmitter for sending the SIP message to a second SIP entity.

According to a fifth aspect of the present invention there is provided a method of facilitating the end-to-end transfer of a URI between a plurality of SIP entities. The method comprises generating a SIP message and including the URI to be transferred in both a Contact header of the message and in a persistent header of the message, wherein a URI within the persistent header is not to be changed or replaced by a back-to-back user agent.

According to a sixth aspect of the present invention there is provided a method of transferring a URI from a first SIP entity to a second SIP entity, through any number of intermediate back-to-back user agents. The method comprises, at the first SIP entity, generating a SIP message and including the URI to be transferred in both a Contact header of the message and in a persistent header of the message. In this way, a URI within the persistent header is not to be changed or replaced by a back-to-back user agent. The SIP message is sent to the second SIP entity. At any intermediate back-to-back user agent, the SIP message is received from the first SIP entity, and forwarded to the second SIP entity with its persistent header unchanged.

According to a seventh aspect of the present invention there is provided an apparatus configured to operate as a SIP entity. The apparatus comprises a processor for generating a SIP message and including the URI to be transferred in both a Contact header of the message and in a persistent header of the message. The apparatus further comprises a transmitter for sending this message to another SIP entity. The apparatus may comprise a SIP server and preferably a SIP conferencing server.

According to an eighth aspect of the present invention there is provided an apparatus configured to operate as a back-to-back user agent. The apparatus comprises a receiver for receiving a SIP message from a first SIP entity, a processor for ensuring that a URI within a persistent header of the message is not changed or replaced, and a transmitter for sending the SIP message to a second SIP entity.

According to a ninth aspect of the present invention there is provided an apparatus configured to operate as a SIP entity. The apparatus comprises a receiver for receiving a first SIP message, a processor for checking the first SIP message for a persistent header and, if a URI is present within the persistent header, generating a second SIP message including the URI, and a transmitter for sending the second SIP message to another SIP entity.

According to a tenth aspect of the present invention there is provided a method of facilitating the end-to-end transfer of a URI between a plurality of SIP entities. The method comprises generating a SIP message and including the URI to be transferred in both a Contact header of the message and in the message body, wherein the message body is not to be changed or replaced by a back-to-back user agent.

According to an eleventh aspect of the present invention there is provided a method of transferring a URI from a first SIP entity to a second SIP entity, through any number of intermediate back-to-back user agents. The method comprises, at the first SIP entity, generating a SIP message and including the URI to be transferred in both a Contact header of the message and in the message body, wherein the message body is not to be changed or replaced by a back-to-back user agent, and sending the SIP message to the second SIP entity. At any intermediate back-to-back user agent, the SIP message is received from the first SIP entity, and forwarded to the second SIP entity with its message body unchanged.

According to a twelfth aspect of the present invention there is provided an apparatus configured to operate as a SIP entity. The apparatus comprises a processor for including a URI in the message body of a SIP message, and a transmitter for sending the SIP message to another SIP entity. The apparatus may comprise a SIP server and preferably a SIP conferencing server.

According to a thirteenth aspect of the present invention there is provided an apparatus configured to operate as a SIP entity. The apparatus comprises a receiver for receiving a first SIP message, a processor for processing the first SIP message and, if a URI is present in the message body, generating a second SIP message including the URI, and a transmitter for sending the second SIP message to another SIP entity.

According to a fourteenth aspect of the present invention there is provided a method of establishing a conference call between two or more SIP users. The method comprises first sending a SIP INVITE from a first of said SIP users to a SIP conferencing server. A method of transferring a URI from a first SIP entity to a second SIP entity according to one of the above aspects is employed in order to deliver a conf-URI from the SIP conferencing server to the first SIP user. A SIP REFER is sent from said first user to the or each other user, the REFER including said conf URI.

FIG. 1 illustrates schematically the integration of an IP Multimedia Subsystem into a 3G mobile communications system;

FIG. 2 illustrates an example signalling flow of a known scenario wherein a first user creates an ‘ad hoc’ conference and subsequently requests that a second user dial into that conference;

FIG. 3 illustrates an example signalling flow of the scenario of FIG. 2 implementing a “nomapping” URI parameter;

FIG. 4 illustrates a simplified signalling flow of the scenario of FIG. 2 implementing a “P-Unique-Address” header;

FIG. 5 an example signalling flow of the scenario of FIG. 2 implementing a URI contained in the SIP message body; and

FIG. 6 illustrates schematically an example of a SIP architecture.

As has already been discussed, using existing technologies it is not always possible for the address of a user to be transferred end-to-end, in particular when transferring through a Back-to-back User Agent (B2BUA) such as a Session Border Controller (SBC) or some Application Servers (AS) which may invoke topology and/or identity hiding that will cause the Contact header of a Session Initiation Protocol (SIP) message to be modified.

In order to overcome this problem it is proposed here to introduce a new URI parameter, “nomapping”. URI parameters are added after the host:port component of a URI, separated by semi-colons (e.g. sip:conf-URI;nomapping, as shown in FIG. 3), and affect a request constructed from the URI. By adding this parameter to a URI it would inform a B2BUA that this URI should not be mapped by the B2BUA. The B2BUA would then need to act like a SIP Proxy server, forwarding the SIP message and adding its address to the Record-route header instead of mapping it into the Contact header field.

FIG. 3 illustrates a simplified signalling flow of the scenario of FIG. 2 implementing a “nomapping” URI parameter. The steps performed are as follows:

The URI in the Contact header can be either a SIP URI or a SIPS URI. The use of a SIPS URI allows resources to specify that they should be reached securely, and in particular that mutual TLS authentication should be employed.

As an alternative solution to the problem it is proposed to define a new SIP header, “P-Unique-Address”. The “P-Unique-Address” header would contain a URI that should not be mapped by a B2BUA. A SIP entity such as a SIP UA or SIP server may then use this header to ensure that its address can be transferred to the recipient of a SIP message i.e. the end-point SIP entity, without being mapped by intermediate entities, such as a B2BUA. The recipient SIP entity can check for this header and use the address give in the field value. When using a new “P-Unique-Address” SIP header, the URI in the header can be either a SIP URI or a SIPS URI. It could also be a Tel URI.

FIG. 4 illustrates a simplified signalling flow of the scenario of FIG. 2 implementing a “P-Unique-Address” SIP header. The steps performed are as follows:

As a third alternative solution to the problem, a URI may be included in the body of a SIP message. Whilst the message body carried by a SIP message is usually a session description (using Session Description Protocol (SDP)) it can carry any text-based information. Usually, all information required to route a SIP message is contained within the start line and the headers such that a proxy or B2BUA does not need to examine or change the message body. As a result, the message body is transmitted end-to-end without modification. The end recipient of the message then processes the SIP message including the body, and can determine that the body contains a URI to be used for redirection. The body may or may not be encrypted. As with the use of a new “P-Unique-Address” SIP header, when placing a URI in the body of a SIP message the URI can be either a SIP or a SIPS URI, or a Tel URI.

Referring again to the scenario illustrated in FIG. 2, FIG. 5 illustrates a simplified signalling flow implementing a URI contained in the SIP message body. The steps performed are as follows:

The mechanisms described above enable a URI to be transferred transparently through a network. This provides the advantage that a user can send this URI to another user, thus enabling this other user to use the service identified by the URI. Conference calls are an example of such a service, where the URI identifies a particular conference session. Another example of such a service is a gaming service where the URI identifies a particular game session. Many similar examples, where users need access to a service identified by a specific identity, are possible.

FIG. 6 illustrates schematically an example of a SIP architecture in which the above-described scenarios can occur. The architecture includes three SIP entities; a SIP Server 1, a first SIP User Agent 2 and a second SIP User Agent 3, and a Back-to-Back User Agent 4.

The SIP Server 1 is suitable for facilitating a service, such as a conference server or conference factory as described above, and comprises a processor 5, a transmitter 6 and a receiver 7. The processor 5 is suitable for implementing any or all of the solutions described above, by:

The SIP message sent from SIP Server 1 to SIP User Agent 2 has to traverse the Back-to-Back User Agent 4. Back-to-Back User Agent 4 is suitable for identity and/or topology hiding as described above, and comprises a receiver 8, a processor 9 and a transmitter 10. The receiver 8 receives the SIP message sent from SIP Server 1. The processor 9 then processes this message as required in order to implement any or all of the solutions described above, by:

The first SIP User Agent 2 is suitable for sending the URI of a user or service to a third party as described above, and comprises a receiver 11, a processor 12 and a transmitter 13. The receiver 11 receives the SIP message sent from SIP Server 1, through Back-to-Back User Agent 4. The processor 12 then processes this message as required in order to implement any or all of the solutions described above, by:

The second SIP message is then sent to the second SIP User Agent 3 using the transmitter 13.

The second SIP User Agent 3 is suitable for establishing a session with a SIP user or service using a URI sent to it by a third party as described above, and comprises a receiver 14, a processor 15 and a transmitter 16. The receiver 14 receives the second SIP message, sent from the first SIP User Agent 2. The processor 15 then processes this message as required in order to establish the session. A third SIP message is then sent to SIP Server 1 using transmitter 16.

It will be appreciated by the person of skill in the art that various modifications may be made to the above described embodiments without departing from the scope of the present invention.

Anulf, Andreas, Axell, Jorgen, Nordin, Hans

Patent Priority Assignee Title
Patent Priority Assignee Title
6678735, Jan 26 2000 RPX CLEARINGHOUSE LLC Method and apparatus for a sip client manager
6680943, Oct 01 1999 RPX CLEARINGHOUSE LLC Establishing bi-directional communication sessions across a communications network
7133923, Dec 11 2000 ACME PACKET, INC System and method for assisting in controlling real-time transport protocol flow through multiple networks via screening
7254643, Aug 08 2002 AT&T Properties, LLC; AT&T INTELLECTUAL PROPERTY II, L P System and method for providing multi-media services to communication devices over a communications network
7266591, Dec 17 2001 Verizon Patent and Licensing Inc Providing content delivery during a call hold condition
7349402, Mar 25 2002 Nokia Technologies Oy Communication system and method to be performed in a communication system
7412541, Jul 18 2003 Smith Micro Software, Inc Tokenized compression of session initiation protocol data
7446812, Jan 13 2004 U S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT Wide dynamic range operations for imaging
7484240, Jul 13 2001 WSOU Investments, LLC Mechanism to allow authentication of terminated SIP calls
7555555, Dec 03 2003 Electronics & Telecommunications Research Institute SIP-based multimedia communication system capable of providing mobility using lifelong number and mobility providing method
7864734, Mar 25 2002 Nokia Technologies Oy Communication system and method to be performed in a communication system
7877487, Dec 29 2006 WSOU Investments, LLC Dynamic service triggers in communication networks
7933261, May 26 2005 Sony Corporation Communication method, communication system, communication device, and program using multiple communication modes
7984159, Jan 15 2007 Kabushiki Kaisha Toshiba Apparatus, method, and terminal apparatus for maintaining connection
7990960, Aug 10 2007 Malikie Innovations Limited Globally routable user agent uniform resource identifier system and method
8028074, Sep 12 2008 Malikie Innovations Limited Obtaining information associated with established sessions
8055778, Sep 30 2004 RingCentral, Inc SIP user agent with simultaneous multiple registrations
8135845, Apr 11 2007 KT Corporation Terminal unit for handling session on the basis of session initiation protocol, method of transmitting and receiving thereof
8144695, Aug 10 2007 Malikie Innovations Limited System and method for configuring and executing communication diversion with a globally routable user agent uniform resource identifier
8230109, Jan 10 2008 TELEFONAKTIEBOLAGET LM ERICSSON PUBL System and method for handling a session initiation protocol message in a communications network
8271667, Mar 30 2004 Hitachi, LTD Information service communication network system and session management server
8401154, Sep 17 2009 Verizon Patent and Licensing Inc. Emergency text communications
8924567, Aug 29 2008 AVAYA LLC SIP service wrap
20030108002,
20030179762,
20040037407,
20040132452,
20040249951,
20050226174,
20060003734,
20060047840,
20060183491,
20060239247,
20060253538,
20070043872,
20070083658,
20070129051,
20070133517,
20070213039,
20080068995,
20080120425,
20080162637,
20080171564,
20080235381,
20090003321,
20090028089,
20090052436,
20090185523,
20090187919,
20090191869,
20090204681,
20090225965,
20110119340,
WO2008080334,
/
Executed onAssignorAssigneeConveyanceFrameReelDoc
Nov 08 2013Telefonaktiebolaget LM Ericsson (publ)(assignment on the face of the patent)
Date Maintenance Fee Events
Feb 17 2020M1551: Payment of Maintenance Fee, 4th Year, Large Entity.
Feb 16 2024M1552: Payment of Maintenance Fee, 8th Year, Large Entity.


Date Maintenance Schedule
Aug 16 20194 years fee payment window open
Feb 16 20206 months grace period start (w surcharge)
Aug 16 2020patent expiry (for year 4)
Aug 16 20222 years to revive unintentionally abandoned end. (for year 4)
Aug 16 20238 years fee payment window open
Feb 16 20246 months grace period start (w surcharge)
Aug 16 2024patent expiry (for year 8)
Aug 16 20262 years to revive unintentionally abandoned end. (for year 8)
Aug 16 202712 years fee payment window open
Feb 16 20286 months grace period start (w surcharge)
Aug 16 2028patent expiry (for year 12)
Aug 16 20302 years to revive unintentionally abandoned end. (for year 12)