Abstract:
A solution for establishing a session of a real-time media communication service in a communication system comprising at least two separately administered subsystems. The session establishment comprises receiving a request for session initiation, querying subscriber information related to the requested session, and initiating the session according to the queried subscriber information. The invented method comprises detecting that the terminating subscriber does not belong to the same subsystem as the originating subscriber, determining a defined transit server associated with the terminating subscriber, said transit server having access to a subscriber database of the subsystem of the terminating subscriber, and querying subscriber information related to the requested session with a first control message comprising parameters of the requested session to the transit server. The solution allows a connection to be established between users of a real-time media communication service for subscribers of separate administrative subsystems so that operators of each subsystem may possess full control of their own network elements, and the internal connection establishment procedures need minimal alterations for the functionality.

Description:
FIELD OF THE INVENTION  
       [0001]     The present invention relates to telecommunications, and especially to establishing a session for a real-time communication service between subscribers of separately administered subsystems.  
       BACKGROUND OF THE INVENTION  
       [0002]     Push to talk over Cellular (PoC) is a new telecommunication service that enables real-time one-to-one and one-to-many (group) voice communication in a cellular network. PoC can be provided as a packet-based user or application level service in a digital communication system. In PoC, the underlying communication system provides the basic connections (i.e. IP connections) between the communications applications in user terminals and a communication service.  
         [0003]     Due to the great interest in the PoC services, individual vendors have provided early adoptions of the emerging technology, primarily in the form of standalone PoC systems. Quite recently, a group of interested organizations prepared an industry specification for PoC, with the aims of following existing 3 rd  Generation Partnership Project (3GPP) IP Multimedia Subsystem (IMS) specifications. The standardization work to this direction has since then continued in Open Mobile Alliance (OMA) using the existing set of specifications as a starting point. A shared interest is presently to integrate the separate existing and future PoC systems in such a way that PoC users could utilize the service in wide areas and among a large subscriber base without continually concerning themselves with the separately operated administrative domains.  
         [0004]     A PoC communication service is typically implemented with a communication server system while client applications reside in the user equipment or terminals. Establishment of connections in a PoC system is implemented using the mechanisms of a Session Initiation Protocol (SIP). The SIP protocols comprise querying routing information for the signalling messages from defined databases of the system. During establishment of sessions, such queries are generally implemented based on the identity of the calling and/or the called subscriber and therefore any queried server, in this case the address server, needs to possess the information concerning both the calling and the called subscriber. This, however, may be problematic if the calling and the called subscriber do not belong to the same administrative domain.  
         [0005]     Cellular operators are used to operating autonomously within the framework of the standard interfaces, and having full control over their network elements. Operators prefer to controllably integrate separately administered subsystems by means of negotiated roaming contracts, and especially access to subscriber information is traditionally very conservatively shared. Therefore, introduction of any session establishment mechanism that requires close co-operation and continuous sharing of subscriber related information between the competing network operators is likely to face serious problems.  
         [0006]     On the other hand, establishment of sessions in the already specified or implemented systems follows a thoroughly specified procedure, and any alterations to the elements that implement the service or to the existing network specifications are challenging, especially if the installed base is already considerable. Furthermore, changes to the functional elements of the underlying communications systems are to be considered almost impossible.  
       BRIEF DESCRIPTION OF THE INVENTION  
       [0007]     It is thus an object of the present invention to provide a solution to facilitate connection establishment for a real-time media communication service between two separately operated administrative domains in a way that allows easy adoption to the installed base as well as to future installations. The objects of the invention are achieved by a method, communication system, server, and computer program. The method, communication system, server, and computer program are arranged to receive a request for session initiation, query subscriber information related to the requested session, initiate the requested session according to the queried subscriber information, detect that a terminating subscriber does not belong to the same subsystem as an originating subscriber, determine the defined transit server associated with the terminating subscriber said transit server having access to a subscriber database of a subsystem of the terminating subscriber, and query subscriber information related to the requested session with a first control message which includes parameters of the requested session to the transit server.  
         [0008]     The invention is based on the idea of associating with subscriber information on a user of a real-time media communication service a transit server functionality that belongs to the subscriber&#39;s administrative subsystem. A query mechanism towards a transit server is established for retrieving subscriber related information for establishing a session through the transit server by a server of another administrative subsystem.  
         [0009]     An advantage of the invention is that it allows connections to be established between users of a real-time media communication service for subscribers of separate administrative subsystems such that operators of each subsystem may possess full control of their own network elements, and the internal connection establishment procedures need minimal alterations for the functionality. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0010]     In the following, the invention will be described in greater detail by means of preferred embodiments and with reference to the attached drawings, in which  
         [0011]      FIG. 1  is a block chart illustrating a communication system capable of providing a real-time media communication service;  
         [0012]      FIG. 2  is a signalling block chart illustrating call setup in a prior art standalone PoC system;  
         [0013]      FIG. 3  is a signalling block chart of the call setup in a system according to the present invention;  
         [0014]      FIG. 4  is a block diagram illustrating functional elements of an embodied PoC Group and List Management Server. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0015]     The invention is applicable to any communication system capable of providing a packet based real-time media communication service. Such systems include mobile communication systems as well as fixed telecommunication systems. In the following, the present invention will be described by means of a Push-to-talk over Cellular (PoC) media communication service in a third generation mobile communication system, without limiting the invention to this specific service or the terms used in the description of the embodiment.  
         [0016]     As illustrated in  FIG. 1 , in the third generation ( 3 G) mobile communications systems, a public land mobile network (PLMN) infrastructure may be logically divided into core network (CN)  130 ,  131 ,  132 ,  133  and access network (AN) infrastructures  120 ,  121 ,  122 ,  123 . The access network AN may be called a base station subsystem (BSS)  123  for GSM and radio network subsystem (RNS) or a radio access network (RAN)  120 ,  121 ,  122  for UMTS. In the technical specifications of a third generation partnership project (3GPP), the core network CN is logically divided into a circuit switched (CS) domain  130 , a packet switched (PS) domain  131 ,  132  and an IP multimedia subsystem (IMS)  133 . The CS domain refers to a set of all CN entities offering a circuit switched type of connection for user traffic as well as all the entities supporting the related signalling. A circuit switched type of connection is a connection for which dedicated network resources are allocated upon connection establishment and released upon connection release. A packet switched type of connection transports user information using packets so that each packet can be routed independently of a previous one. Examples of the PS domain include GPRS (General Packet Radio Service), and typical entities include a serving GPRS support node (SGSN) and a gateway GPRS support node (GGSN). The IP multimedia subsystem comprises CN elements for provision of multimedia services. The IP multimedia subsystem IMS  133  utilizes the PS domain to transport multimedia signalling and bearer traffic.  
         [0017]     More specifically, in voice communication with a “push to talk/release to listen” feature, a call is based on the use of a pressel (push-to-talk switch) in a telephone as a switch: by pressing a pressel the user indicates his/her desire to speak, and the user equipment sends a service request to the network. Alternatively, a voice activity detector (VAD) or any suitable means can be used instead of the manual switch. The network either rejects the request or allocates the requested resources on the basis of predetermined criteria, such as availability of resources, priority of the requesting user, etc. At the same time, a connection is also established to a receiving user, or users in the case of group communication. After the voice connection has been established, the requesting user can talk and the other users can listen. When the user releases the pressel, or in the case of traffic inactivity, the event is detected in the network, and the resources may be released and/or a talk item may be granted to another user.  
         [0018]     In  FIG. 1 , a Push-to-talk Over Cellular (PoC) server system is illustrated as provided on top of a Packet Switched (PS) core network  131 ,  132 ,  133  in order to provide packet mode (e.g. IP) communication services to User Equipment (UE)  110 ,  111 ,  112 ,  113 . UE accessing the PS CN, and the PS core network itself, utilizes the services provided by a Radio network subsystem (RNS) or Radio access network (RAN)  120 ,  121 ,  122 ,  123  to provide packet-mode communication between the UE and a PS CN subsystem. The multiple access method employed in an air interface in the RAN may be Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Code Division Multiple Access (CDMA), or a combination thereof. In the 3 rd  and higher generation mobile communications system, the access method is primarily based on the CDMA. Further, because the traffic channels may have a wide bandwidth, corresponding to user data rates e.g. up to 2 Mbits/s, such access may also be referred to as a Wideband CDMA (WCDMA).  
         [0019]     Conceptually, a packet based media communication system is provided on top of the mobile network in order to provide media communication services to user equipment UE through the communication system. The media communication system may be embodied as a server system, and it is generally referred to as a media communication server. A communication system may comprise a plurality of media communication servers  150 ,  151 .  
         [0020]     Consequently, in this embodiment the role of media communication servers is provided by PoC servers. A PoC Server is a media communication server that may act, according to the application, as the end-point of SIP, Real-time Transport protocol (RTP) and Real-time Transport Control Protocol (RTCP) signaling, provide SIP session handling, policy control for access to groups, group session handling, access control, do-not-disturb functionality, floor control functionality, talker identification, participants information, quality feedback, charging reports and media distribution. The PoC server may also include a subscriber and group management function (SGMF) for managing the subscriber and group data. It may also provide specific tools and interfaces needed for subscriber and group provisioning. Such tools or interfaces may include a WWW based control interface accessible using a standard web browser. The SGMF may also have a database for storing user and group information. The SGMF provides the information to the control-plane functions when needed, for example during a group attachment.  
         [0021]     A PoC server  150 ,  151  in  FIG. 1  thus illustrates a server comprising a group of management plane functions, control-plane functions and user-plane functions for implementing a PoC service. For a person skilled in the art, it is clear that the term PoC server may be interpreted to refer to a single PoC server or to a PoC server system comprising a combination of a PoC server and other specified logical entities of a PoC system architecture.  
         [0022]     The management plane functions comprise operations, administration, maintenance and provisioning, which may be implemented by a combination of capabilities in the network elements and operation systems. Control plane functions comprise signalling functions necessary to set up, supervise, and release calls and connections. Since both group and user specific requirements are needed, the control plane in PoC includes a User Control Plane Function and a Group Control Plane Function. The user plane functions take care of voice packets coming from a subscriber over the underlying network.  
         [0023]     In this embodiment, the invention is described by means of a simplified call setup in a prior art PoC system, without limiting the invention to this specific session establishment or the messages used therein. The call setup is illustrated as steps of a signalling block chart of  FIG. 2  where functional entities involved in call setup in a communication server system are shown as separate logical elements.  
         [0024]     According to the specifications, for call setup, a calling subscriber  20  sends a SIP INVITE message (step  2 . 1 ) addressed to a defined User Control Server  22 , hereinafter referred to as UCS-O. UCS-O  22  here denotes a control plane functional entity that handles control actions and end-user signalling transactions in one-to-one calls, and communicates with end-user terminals using a session initiation protocol (SIP). The message is routed through a User Traffic Server  21  of the calling subscriber, hereinafter referred to as UTS-O. UTS-O  21  here denotes a user plane functional entity that handles speech packets coming from and going to end-users&#39; terminals in one-to-one calls. UTS-O  21  communicates with end-user terminals using, for example, a real-time transport protocol (RTP) or a corresponding proprietary streaming transport protocol. UTS-O  21  routes the message to UTS-O  22  (step  2 . 2 ). For authorizing the call setup and retrieving relevant routing and subscriber information, UCS-O  22  sends a query (step  2 . 3 ) to an Authorization Server  23  assigned to it, hereinafter referred to as AuS-O. AuS-O  23  here denotes a management plane functional entity that handles and maintains static end-user data. In order to acquire mapping information needed to locate the authorisation server of the called subscriber, AuS-O  23  sends a query (step  2 . 4 ) comprising the identity of the called subscriber to an Address Server (AdS)  24  assigned to it. In its response, AdS  24  returns (step  2 . 5 ) the address of AuS-T  25  of the called subscriber. AuS-O  23  sends a query (step  2 . 6 ) comprising the identity of the called subscriber to AuS-T  25 , and receives in the response (step  2 . 7 ) the address of UCS-T  26  of the called subscriber, e.g. in the form of the host name of UCS-T  26 . The address of UCS-T  26  is forwarded (step  2 . 8 ) to UCS-O  22 . From here on, the call setup proceeds normally according to the SIP INVITE procedure (step  2 . 9 ) via UCS-T  26  and UTS-T  27  of the called subscriber to the PoC client in the user equipment of the called subscriber (steps  2 . 10 ,  2 . 11 ).  
         [0025]     As long as the calling subscriber and the called subscriber are in the same administrative domain, AdS  24  recognizes the subscriber and is able to return the associated address of AuS  25  of the called subscriber to the querying AuS  23  of the calling subscriber. If, however, the calling and the called subscribers belong to different administrative domains, as shown with a dashed line in  FIG. 2 , AdS is able to provide the queried information only if the operator of the called subscriber provides and maintains the information available to the network element of the calling subscriber.  
         [0026]      FIG. 3  illustrates the invented solution by means of a signalling block chart of the call setup in a PoC system according to the present invention. In this example, a calling subscriber  310  and a called subscriber  320  belong to different administrative subsystems  31 ,  32 . Steps  3 . 1  to  3 . 4  correspond directly to steps  2 . 1  to  2 . 4  of  FIG. 2 , wherein for call setup, a calling subscriber  310  sends a SIP INVITE message (step  3 . 1 ) via a defined User Traffic Server (UTS-O)  311  of the calling subscriber to a defined User Control Server (UCS-O)  312  (step  3 . 2 ) of the calling subscriber. UCS-O  312  sends a query (step  3 . 3 ) to an Authorization Server (AuS-O)  313  assigned to it. AuS-O  313  sends a query (step  3 . 4 ) comprising the identity of the called subscriber  320  to an Address Server (AdS-O)  314  assigned to it. However, the AdS-O  314  does not recognize the user identity comprised in the query, and returns (step  3 . 5 ) a message indicating that the request user identity was not found. AuS-O  313  forwards (step  3 . 6 ) the message to UCS-O  312 . In response to the message, UCS-O  312  initiates a user identification domain part analysis. The analysis leads to an operator  32  of the called subscriber  320 .  
         [0027]     According to the invention, there is an assigned server, included in or integrated into the subsystem of the called subscriber, that acts as a transit server in session establishment to the called subscriber. In the present embodiment, subscriber identification comprises the user identity part and the operator domain part, and the assigned transit server is a defined server acting as a transit server for the subscribers in the administrative subsystem of the operator  32  of the called subscriber  320 . Therefore, the transit server has administrative access to the subscriber databases of the operator  32  of the called subscriber  320 , administrative access in this context referring to the fact that a defined subscriber database and the transit server belong to the same administrative domain, or two domains that are administratively integrated together. In the embodied case, the address of the transit server can be determined based on the analysis of the domain part of the subscriber information. For a person skilled in the art, it is clear that the subscriber identification may comprise other type of information, and that the identity of the assigned transit server needs to be determined based on any type of the subscriber information or of a part thereof. For example, UCS-O may have access to a database comprising mapping information between subscriber identities (e.g. mobile subscriber number spaces) and transit server identities. However, the transit server does not necessarily need to be in the same administrative domain as the called subscriber. For example, an international operator may own several networks that are generally operated as separate administrative domains, but are loosely integrated by means of special management functions that enable use of a shared transit server for PoC users of the operator.  
         [0028]     According to the information, UCS-O  312  generates a SIP message and sends it to the determined transit server UCS-Tr (step  3 . 7 ). The SIP message is advantageously of a type to facilitate transfer of embedded payload, and the session related information is encapsulated into the payload of the SIP message. In this embodiment, a mechanism based on SIP OPTIONS is described. SIP OPTIONS mechanism is described in section  11  of the Internet Engineering task Force (IETF) RFC document 3261, which is publicly available and incorporated herein as a reference.  
         [0029]     In general, SIP method OPTIONS allow a user agent to query another user agent or a proxy server as to its capabilities. This allows a client to discover information about the supported methods, content types, extensions, codecs, etc. without actually “ringing” the other party. The target of the OPTIONS request is identified by Request-URI, which could identify another user agent or a SIP server. An OPTIONS request is constructed using the standard rules for a SIP request, and comprises an accept header field to indicate the type of message body the user agent wishes to receive in the response. Typically, this is set to a format that is used to describe the media capabilities of a user agent, such as a Session Description Protocol (application/sdp). Also a response to an OPTIONS is constructed using the standard rules for a SIP response. An OPTIONS request received within a dialog generates a 200 (OK) response. A message body may be sent, the type of which is determined by the Accept header field in the OPTIONS request (application/sdp is the default if the Accept header field is not present).  
         [0030]     In this embodiment, the SIP OPTIONS message and the related 200 (OK) response have a message body of the type application/poc+xml. This payload encapsulates the PoC specific parameters to enable PoC connection establishment between the operators. XML here refers to an extensible markup language, which describes a class of data objects called XML documents and partially describes the behaviour of computer programs that process them. XML can be used for designing text formats for structured data (for example, spreadsheets, address books, configuration parameters, financial transactions and technical drawings), and producing files that are easy to generate and read by a computer. The exemplary XML payload in the embodied SIP message may comprise lines:  
                                                   &lt;?xml version=“ 1.0” ?&gt;           &lt;nnirequest xmlns=“ [Namespace]”            nniversion=“ [PoC version]”            requesttype=“ [Request type]” &gt;           &lt;/nnirequest&gt;                      
 
 where the [Namespace] carries information for identifying the target, i.e. here comprises the identification information on the called subscriber. [PoC version] indicates the software version level of the system and [request type] comprises a token presenting the requested service type, in this embodiment the one-to-one call. For a person skilled in the art it is clear that other service types are also possible, for example a group attachment or a callback request. 
 
         [0031]     Upon receiving the SIP OPTIONS request, transit UCS-Tr  325  performs a normal query for subscriber information related to the session, corresponding to the steps  2 . 3  to  2 . 8  of  FIG. 2 . It should be noted that the term subscriber information does not relate only to parameters and definitions stored by the management system, but to any kind of information that is maintained in the databases of the communication system and may be retrieved based on the identity of the subscriber. Such information may include, for example, routing information indicating network elements that currently serve the target subscriber. Transit UCS  325  sends a query (step  3 . 8 ) to a first Authorization Server (AuS)  326  assigned to it. The first AuS  326  sends the query (step  3 . 9 ) to the Address Server (AdS-T)  324  of the operator  32  of the called subscriber  320 . In its response, AdS-T  324  returns (step  3 . 10 ) the address of the second AuS  323  that handles and maintains end-user data of the called subscriber. The first AuS  326  sends a query (step  3 . 11 ) comprising the identity of the called subscriber to the second AuS  323 , and receives in the response (step  3 . 12 ) the address of UCS-T  322  of the called subscriber, e.g. in the form of the host name of UCS-T  322 . The address of UCS-T  322  is forwarded (steps  3 . 13 ) to transit server UCS-Tr  325  and sent to UCS-O  312  of the calling subscriber in a SIP 200 (OK) response (step  3 . 14 ). The corresponding embodied XML payload in SIP 200 (OK) response may include, in the case of callback request:  
                                                   &lt;?xml version=“ 1.0” ?&gt;           &lt;nniresponse xmlns=“ [Namespace]”            nniversion=“ [PoC version]”            requesttype=“ 1”            resource=“ [Contact IP address]”           &lt;/nniresponse&gt;                      
 
 where [Contact IP address] indicates the address of a target server in the network of the called subscriber. 
 
         [0032]     For group attachment the payload may comprise, for example:  
                                                   &lt;?xml version=“ 1.0” ?&gt;           &lt;nniresponse xmlns=“ [Namespace]”            nniversion=“ [PoC version]”            requesttype=“ 2”            resource=“ [Contact IP address]” &gt;           &lt;/nniresponse&gt;                      
 
         [0033]     For one-to-one call the payload may comprise:  
                                                   &lt;?xml version=“ 1.0” ?&gt;           &lt;nniresponse xmlns=“ [Namespace]”            nniversion=“ [PoC version]”            requesttype=“ 3”            resource=“ [Contact IP address]”            answermode=“ [One-to-one answer mode]” &gt;           &lt;/nniresponse&gt;                      
 
 where [One-to-one answermode] indicates the answer mode (for example, automatic or manual) of the called subscriber. 
 
         [0034]     Upon receiving the address of UCS-T  322 , UCS-O  312  in the network of the calling subscriber is able to send the SIP INVITE message (step  3 . 15 ) to the correct UCS-T  322  in the destination network, and the call setup may continue normally by forwarding the SIP INVITE via the UTS  321  of the called subscriber (step  3 . 16 ) to the PoC client in the user equipment  320  of the called subscriber (step  3 . 17 ).  
         [0035]     With the above arrangement, connection establishment for the real-time media communication service between two subscribers in different administrative domains may be facilitated by a simple query mechanism that at the minimum needs to be updated to the control plane functional elements in the server system implementing the real-time media communication service. The operators of the administrative domains maintain control over their network elements and subscriber information, and do not need to introduce new elements, routing databases and establish additional mechanisms between them.  
         [0036]     Another alternative for exchanging information between UCS  312  of the calling subscriber and the transit server  325  is to utilize a SIP MESSAGE mechanism in the query, and SIP 300 Multiple Choices in the response. In general, a SIP MESSAGE method is an extension to the Session Initiation Protocol (SIP) that allows transfer of Instant Messages. SIP MESSAGE requests carry the contents in the form of multi-purpose Internet mail extension (MIME) body parts. SIP MESSAGE requests do not themselves initiate a SIP dialog; during normal usage each Instant Message stands alone, much like pager messages. MESSAGE requests may be sent in the context of a dialog initiated by another SIP request. SIP MESSAGE requests normally carry the instant message content in the request body. On the other hand, 3xx responses give information about the user&#39;s new location, or about alternative services that might be able to satisfy the call. The address in the request resolved to several choices, each with its own specific location, and the user can select a preferred communication end point and redirect its request to that location. The response may include a message body containing a list of resource characteristics and locations from which the user can choose the most appropriate one, if allowed by the Accept request header field.  
         [0037]     A further alternative for exchanging information between UCS  312  of the calling subscriber and the transit server  325  is to utilize a SIP OPTIONS mechanism in the query, and SIP 300 Multiple Choices in the response.  
         [0038]     The implementation of the described mechanisms in a PoC Server is illustrated with reference to  FIG. 4 . By definition, a server is a computer that serves other computers in the same network by operating as the other computers request.  FIG. 4  provides a description of a PoC Server that performs one or more of the previously described server functions. The PoC Server comprises processing means  41 , an element that comprises an arithmetic logic unit, a number of special registers and control circuits. Connected to the processing means are memory means  42 , a data medium where computer-readable data or programs or user data can be stored. The memory means typically comprise memory units that allow both reading and writing (RAM), and a memory whose contents can only be read (ROM). The unit also comprises an interface block  43  with input means  44  for inputting data for internal processing in the unit, and output means  45  for outputting data from the internal processes of the unit. Examples of said input means comprise a plug-in unit acting as a gateway for information delivered to its external connection points. For receiving information from the operator, the PoC Server may also comprise a keypad, or a touch screen, a microphone, or the like. Examples of said output means include a plug-in unit feeding information to the lines connected to its external connection points. For outputting information to the operator of the PoC Server, they may also comprise a screen, a touch screen, a loudspeaker, or the like. The processing means  41 , memory means  42 , and interface block  43  are electrically interconnected for performing systematic execution of operations on the received and/or stored data according to the predefined, essentially programmed processes of the unit. In a solution according to the invention, the operations comprise a functionality for implementing the operations of the PoC described above.  
         [0039]     It will be obvious to a person skilled in the art that, as technology advances, the inventive concept can be implemented in various ways. The invention and its embodiments are not limited to the examples described above but may vary within the scope of the claims.