Abstract:
The invention relates to a method of registering a communication client at a communication server, wherein the communication client is associated to a mobile terminal and wherein the communication server is associated to a mobile switching node of a circuit switched network, the method comprises the steps of: initiation a connection between the communication server and the communication client, sending identification information to the communication server by the communication client via the connection, interrogating an authentication module of the mobile switching node to perform a user authentication by the communication server, fetching subscriber information from a database by the communication server, and sending subscriber information to the communication client via the connection.

Description:
CROSS REFERENCE TO RELATED APPLICATION 
     This application is a 35 U.S.C. §371 national stage application of PCT International Application No. PCT/EP2010/070100, filed on 17 Dec. 2010, the disclosure and content of which is incorporated by reference herein in its entirety. The above-referenced PCT International Application was published in the English language as International Publication No. WO 2012/079648 A1 on 21 Jun. 2012. 
     TECHNICAL FIELD 
     The invention relates registering a communication client at a communication server, wherein the communication client is associated to a mobile terminal of a circuit-switched network which is associated to a mobile switching node of the circuit-switched network. The invention relates further supporting a communication between a first communication client which is registered at a first communication server and a second communication client which is registered at a second communication server, wherein the first communication client is associated to a mobile terminal of a circuit-switched network which is associated to a mobile switching node of the circuit-switched network. 
     BACKGROUND 
     The Extensible Messaging and Presence Protocol (XMPP) is an open Extensible Markup Language (XML) protocol for near-real-time messaging, presence, and request-response services. These services are also named as instant messaging services. The core features of the XMPP are defined in the IETF standard RFC 3920. The basic syntax and semantics were developed originally within the Jabber open-source community. Although XMPP is not wedded to any specific network architecture, to date it usually has been implemented via a client-server architecture wherein a client utilizing XMPP accesses a server over a TCP connection, and servers also communicate with each other over TCP connections. Being an open standard, XMPP has got quite attraction in the open source community world wide and numerous free software packages exist implementing XMPP clients and XMPP server on different platforms. Some companies are basing their chat and voice offerings on XMPP specifications.  FIG. 1  shows a schematic diagram of a mobile communication network which is connected to a TCP/IP-based network  100 , which can be the Internet or any other TCP/IP based network. In this embodiment, three XMPP servers  111 ,  121 ,  131  are connected to the Internet  100 . Two XMPP clients  112 ,  122  are associated to two of the XMPP server  111 ,  121  via a TCP/IP connection. The XMPP clients  112 ,  122  can e.g. be a personal computer or a laptop which is connected to the internet  100  via a normal dial-connection. The address  113  of the first XMPP client  112  “client1” is “client1@XMPPserver1.domain/device1” wherein the address  123  of the second XMPP client  122  is “client2@XMPPserver2.domain/device2”. In  FIG. 1  and in  FIG. 4 , the addresses  113 ,  123 ,  133  are disclosed in a simplified form because the domain indicator and the device indicator are missing for better view. These addresses are in accordance with the standardized XMPP JID (Jabber identity) which is a combination of a user ID, a server ID and a device ID. By these addresses  113 ,  123 ,  133  all XMPP clients  112 ,  122 ,  132  can be identified and data can be routed via the internet.  FIG. 1  further discloses a mobile communication network, wherein only selected components of the mobile communication network are depicted. A mobile terminal or user equipment  18  comprises a XMPP client  132 . The XMPP client  132  can be an application which is stored in the UE  18 . The XMPP client  132  is associated to a XMPP server  131  via a TCP-based connection. The address  133  of the XMPP client  132  is “client3@XMPPserver3.domain/UEdevice”. This connection can be realized by a wireless LAN connection, wherein the UE  18  is associated to a WLAN router  19  which is further connected to the Internet  100 . Another possibility is that the UE  18  is connected via the radio network  17  to a packet switched (PS) network or to an evolved packet switched (EPS) network. One setup of a PS network is depicted in  FIG. 1  by a Serving GPRS Support Node (SGSN) node  15  and Gateway GPRS Support Node (GGSN)  16  which is linked via an IP based core network connection and via the Internet  100  to the XMPP server  131 . The embodiment according  FIG. 1  further discloses a connection between the SGSN node  15  of a packet switched network and a mobile switching node  14 , which can be a MSC-S node  14  of a circuit switched (CS) network. This link between both nodes, which is called Gs interface, depicts the possibility of transferring data between both networks. A further packet switched network is the Evolved Packet Core (EPC) network, wherein one node is the Mobility Management Entity (MME), which can be linked to the MSC-S via a SGs interface.  FIG. 1  does not depict further gateway nodes which might be necessary to implement a connection between a circuit-switched network and a packet switched network. 
       FIG. 2  shows a block diagram of a prior-art mobile switching node  14 , which is in this embodiment a MSC-S node  14 , wherein only selected parts are depicted. The MSC-S  14  comprises a GSM call control function  143  which contains mobile traffic coordinators for originating and/or terminating calls and emergency calls. The coordinators are mainly used for call transaction setup, call forwarding, call supervision and call release. It allows also direct and handle calls towards other circuit switched networks. The GSM call control function  143  is linked with the core network interface  145  which hosts the core network interfaces of the MSC-S. The core network interface  145  analyses incoming signalling which is either forwarded to another node in the core network or handled locally and terminated at a radio network interface. For outgoing signalling a routing function  146  is consulted to determine the next destination node and the physical interface to reach it. The core network interface  145  is IP (Internet Protocol) based. The GSM call control function  143  is further connected to a GSM mobility function  142  which allows the mobile terminal to roam between radio location areas and to continue ongoing calls also across radio network borders. One main function is the handover procedure to hand over a mobile terminal from one area to another. The GSM mobility function  142  or mobility management function therefore contains a logic coordinator for mobility, roaming and handover procedures and handles the location updating functions and handover functions. Furthermore the GSM mobility function  142  contains functions for packing or unpacking of signalling messages to the terminal and to the radio network belonging to mobility. Signalling messages can be used e.g. in case of authentication, identification and location updating. 
     The GSM mobility function  142  is connected to the A-/lu-interface function  141  which hosts the radio network interface resources of the MSC-S  14 . 
     The MSC-S  14  further comprises a charging function  144  which is connected to the GSM call control function  143  and the core network interface  145 . The charging function  144  is a basic function in the MSC-S  14  to collect traffic case related data to be used for offline billing. 
     The MSC-S  14  further comprises a VLR data storage  147  which stores the subscriber data. The VLR  147  is connected to a home location register  4  (HLR) which is a central database that contains details of each mobile phone subscriber that is authorized to use the core network. 
     The MSC-S further comprises a GSM authentication component  148  which implements the GSM authentication algorithm. The GSM authentication component  148  is also connected to the HLR  4  to receive and verify authentication data from the central database. 
       FIG. 3  depicts a block diagram of a well known XMPP server  131 . The XMPP server  131  contains a XMPP stanzas router  1311  which is the backbone of the XMPP server  131 . The XMPP stanzas router  1311  accepts connections from XMPP server components and passes XML (extended markup language) packets between XMPP server components. A client to server component (c2s)  1312  handles communication with associated XMPP clients. The XMPP stanzas router  1311  is connected to a XMPP session manager  1316 . The session manager  1316  implements the bulk of the instant messaging features like message passing, presence, roster and subscription. The session manager  1316  is connected to data storage in order to provide persistent data storage. The associated data storage is not depicted in  FIG. 3 . It could be located outside the XMPP server  131  or it could be part of the XMPP server  131 . Additionally the session manager  1316  handles the XMPP extensions of service discovery and privacy lists. A c2s component  1312  is connected to the XMPP stanzas router  1311  and is e.g. responsible for connecting XMPP clients  112 ,  122 ,  132  to the XMPP server  131 , passing communication packets to a session manager  1316  of the XMPP server  131 , authenticating XMPP clients  112 ,  122 ,  132 , registering users and triggers activity with the session manager  1316 . A server to server (s2s) component  1315  is connected to the XMPP stanzas router  1311  and handles communications with external XMPP servers by passing communication packets between other internal components and external servers. The s2s component  1315  further performs dial-back function to authenticate remote XMPP servers. A multi user chat (muc)  1314  is connected to the XMPP stanzas router  1311  to implement support for chat rooms. A publish subscribe component (pubsub)  1313  implements a generic functionality for providing presence. The pubsub component  1313  is connected to the Stanzas router  1311 . The XMPP server  131  is connected via a TCP/IP connection to the Internet  100  such that it possible to reach this server from any other device connected to the Internet  100 . The s2s component  1315  and the c2s component  1312  communicate via the Internet  100  with external clients  112 ,  122 ,  132  and external server  111 ,  121 . 
     In the state of art, if two mobile terminals want to communicate with each other via their XMPP clients, the communication has to be routed via the Internet, even if both mobile terminals are associated to the same mobile network. Operators of mobile communication networks might have the need to run more efficiently instant communication services. 
     SUMMARY 
     It is an object of the present invention to improve the prior art instant communication service. This object is achieved by the independent claims. Advantageous embodiments are described in the dependent claims. 
     One embodiment of the invention relates to a method of registering a communication client at a communication server, wherein the communication client is associated to a mobile terminal and wherein the communication server is associated to a mobile switching node of a circuit switched network. The method comprises the steps of initiating a connection between the communication server and the communication client, sending identification information to the communication server by the communication client via the connection, interrogating an authentication module of the mobile switching node to perform a user authentication by the communication server, fetching subscriber information from a database by the communication server and sending subscriber information to the communication client via the connection. The communication server could be a XMPP server and the communication client could be a XMPP client but there might be also other communication protocols possible. The switching node could be a MSC-S of a circuit switched network. The database could be a Visitor Location Register, VLR, of the MSC-S. 
     In an embodiment of the invention, the database, which could be the VLR, fetches the subscriber information from a central database. The central database can be located anywhere in the network and is reachable by any VLR or MSC-S database. If the subscriber information is stored in a central database, which might be the Home Location Register (HLR), a subscriber can be allocated to any communication server or MSC-S because it is possible that the communication server or the MSC-S will fetch the needed subscriber data from the centralized database. 
     The communication server is using components of the MSC-S during the registration process. This will reduce the complexity of the XMPP enhanced MSC-S and the costs for implementing an open communication service like XMPP into a mobile communication network. By implementing such communication service, already established data links and network capacities could be used to transfer communication data. The control of the XMPP services, like Voice-over-IP (VoIP) or subscriber buddy list, is under control of the mobile network operator to use several synergies to implement this service into the mobile network. By using an open communication protocol like XMPP, there is a high acceptance in the user-community because of the transparency of this communication protocol. It is easy to implement further services from other vendors, based on this standard, into the network. 
     In a further embodiment of the invention, parts of the identification information is determined from a subscriber identity module, SIM, associated with the mobile terminal. The SIM could be a SIM card which comprises e.g. the Mobile Subscriber Integrated Services Digital Network Number, MSISDN or the International Mobile Subscriber Identity, IMSI. The information can be derived from the SIM to construct the identification information or parts of it. It is further possible to derive one part of the identification information from the International Mobile Equipment Identity, IMEI. Another possibility to build parts of the identification information is the use of the Access Point Name, APN. 
     The advantage of building the identification information from information stored at the SIM card or in the mobile terminal is the reuse of already known information. It is not necessary for a user of a XMPP client to insert a new user name or the like. It is an automatic process to create identification information like the Jabber ID from available information on the mobile terminal. 
     In a further embodiment of the invention, at least one part of the identification information is stored in a Domain Name System, DNS, server in combination with an IP-address of the communication server. The part of the identification information can be the domain name which is stored in the DNS server in combination with an IP-address. This could be done in a table wherein every domain name is correlated to an IP-address such that if an external client or server wants to send data to a client which is located in a specific domain, it fetches the IP address of the specific domain from the DNS server and sends the data to the server related to the fetched IP-address. 
     In a further embodiment of the invention the mobile terminal is CS connected via a radio network to the mobile switching node. The method further comprises the step of sending the IP-address of the communication server, which is associated to the mobile switching node to the DNS server in combination with the at least one part of the identification information of the communication client. This will have the effect that if the mobile terminal changes the location and must be attached to a new mobile switching node, the communication server which is allocated to the new mobile switching node, should take over the server function for the communication client which is allocated to the mobile terminal. Therefore the new communication server can use the resources of the new mobile switching node when a communication via the communication client is established. 
     In a further embodiment of the invention, the method of registering a communication client at a communication server the communication client receives a text message by the communication client which contains configuration information. This text message could be a Short Message Service, SMS. The sending of configuration information to the communication client leaves more freedom in the way the identification information is constructed. As an advantage, a subscriber can be distributed to multiple domains or domains different to the APN domain. 
     The invention also relates to a method of supporting a communication between a first communication client which is registered at a first communication server via a connection and a second communication client which is registered at a second communication server, wherein the first communication client is associated to a mobile terminal. The communication server is associated to a mobile switching node of a circuit switched network. The method comprises the steps of sending of communication data between the first communication client and the first communication server over the connection and routing communication data between the first communication server and the second communication server over a core network interface of the mobile switching node. Again there is the advantage of reusing already established components and network capacity. The communication server could be a XMPP server and the communication client could be a XMPP client but there might be also other communication protocols possible. The switching node could be a MSC-S of a circuit switched network. 
     In a further embodiment, the mobile terminal is CS connected via a radio network to the mobile switching node. The method further comprises the step of sending the IP-address of the communication server, which is associated to the mobile switching node, to the Domain Name System, DNS, server in combination with identification information of the communication client. Advantageously the method further comprises the step of fetching the addresses of the first communication client and the second communication client from the DNS server when communication data is routed between the first communication server and the second communication server. Therefore it is possible that a mobile terminal, comprising the first communication client, can be allocated to a new mobile switching node with a new allocated communication server because the IP-address of the new communication server will be send to the DNS server and replaces the old IP-address which was correlated to the current identification information. 
     In a further embodiment the core network interface is an IP core network interface. Further the connection is a Transmission Control Protocol, TCP, or a Hypertext Transfer Protocol (HTTP) based connection. The communication according to the XMPP standard is based on the TCP protocol or the HTTP protocol (called BOSH) which is setup on the IP protocol. 
     If the core network interface is also IP based, no protocol transfer must be performed. This will reduce latency in the network. 
     In a further embodiment of the invention, the method further comprises the step of providing charging data to a charging function of the mobile switching node based on the communication data. The implementation of the already used charging function of an MSC-S in a mobile communication makes it easier to implement the charging of the XMPP-services like VoIP or the like. 
     In a further embodiment the communication server is integrated in the mobile switching node. This will reduce the costs for implementing the communication service into the mobile network because the communication server could use several components of the MSC-S including e.g. also the power supply. “Integrated” means that the communication server is a hardware module in the MSC-S or a plug-in board which could be inserted into a rack which comprises among others several MSC-S plug-in boards. 
     The invention further relates to a mobile switching node of a circuit-switched network, CS, comprising a communication server which is adapted to register with a communication client over a client to server component, wherein the communication client is associated to a mobile terminal. The client to server component comprises a communication unit, adapted to establish a connection to the communication client, a receiving unit, adapted to receive identification information from the communication client by the connection, an interrogation unit, adapted to interrogate an authentication module of the mobile switching node to perform a user authentication, a fetching unit, adapted to fetch subscriber information from a database, and a sending unit, adapted to send subscriber information to the communication client via the connection. 
     The invention further relates to a mobile switching node of a circuit-switched network, CS, comprising a core network interface adapted to connect the mobile switching node to the circuit-switched network and a communication server. The communication server is adapted to communicate to a communication client which is associated to a mobile terminal. The communication server comprises a client to server component adapted to send communication data to the communication client. The core network interface is further adapted to route communication data from a server to server component of the communication server to a further communication server. 
     The mobile switching node, which could be a MSC-S, could be adapted to perform all the steps of the before mentioned methods. 
     The present invention also concerns computer programs comprising portions of software codes in order to implement the method as described above when operated by a respective processing unit of a user device and a recipient device. The computer program can be stored on a computer-readable medium. The computer-readable medium can be a permanent or rewritable memory within the user device or the recipient device or located externally. The respective computer program can also be transferred to the user device or recipient device for example via a cable or a wireless link as a sequence of signals. 
     In the following, detailed embodiments of the present invention shall be described in order to give the skilled person a full and complete understanding. However, these embodiments are illustrative and not intended to be limiting. 
    
    
     
       BRIEF DESCRIPTION OF THE FIGURES 
         FIG. 1  shows a schematic diagram of a mobile communication network which is connected to a TCP/IP-based network according to the prior art; 
         FIG. 2  shows a block diagram of an embodiment of a mobile switching node without an integrated communication server according to the prior art; 
         FIG. 3  shows a block diagram of an embodiment of a communication server according to the prior art; 
         FIG. 4  shows a schematic diagram of a mobile communication network which is connected to a TCP/IP-based network, according to an embodiment of the invention; 
         FIG. 5  shows a block diagram of an embodiment of a mobile switching node with an integrated communication server; 
         FIG. 6  shows a block diagram of an embodiment of a mobile switching node with an integrated communication server; 
         FIG. 7  shows a schematic diagram of an embodiment of a communication network including several communication servers and mobile switching nodes. 
     
    
    
     DETAILED DESCRIPTION 
       FIG. 4  depicts one embodiment of the invention. The third XMPP server  3  is associated to the MSC-S  2  of a mobile communication network which can also be understood as an MSC. It is possible that the XMPP server  3  is an integral part of the MSC-S  2 . Therefore the MSC-S  2  is enhanced by the XMPP server  3 . The XMPP server  3  can also be a server node which is logically associated to the MSC-S  2  to use some of the MSC-S functions. The embodiment according  FIG. 4  further discloses a Gs-connection between the SGSN node  15  of a packet switched network and the MSC node  2  of a circuit switched network. This link between both nodes depicts the possibility of transferring data between both mobile networks.  FIG. 4  does not depict further gateway nodes which might be necessary to implement a connection between a circuit-switched network and a packet switched network. Another alternative for a packet switched network is the EPC network which comprises a MME. The MME is connected via a SGs interface to the MSC-S  2 . This alternative is not depicted in  FIG. 4 . 
       FIG. 5  depicts one embodiment of MSC-S  2  with an integrated XMPP server  3 . The XMPP server  3  can be a separate module which is inserted as a hardware component into the MSC-S hardware. The XMPP server  3  could also be a separate plug in card which can be inserted into a rack which comprises among others several MSC-S plug-in cards. The XMPP server  3  must be logically associated to the MSC-S  2 . In the embodiment of  FIG. 5  the XMPP stanzas router  35  of the XMPP server  3  is connected to the GSM call control function  23  of the MSC-S for XMPP-CS interworking to perform the conversion between the XMPP protocol and the CS protocol at breakout. Further the XMPP session manager  34  of the XMPP server  3  is connected to the charging function  24  of the MSC-S  2  to add XMPP related data to the charging information. E.g. when the session manager  34  reports information about a chat session to the charging function of the MSC-S  2  the operator of this mobile network is able to charge e.g. the duration of the chat or the number of chat messages. 
     The XMPP session manager  34  is further connected to the visitor location register (VLR)  27  of the MSC-S  2 . The VLR  27  is associated to the MSC-S  2  and can be located inside the MSC-S  2  or can be an outside entity which is e.g. inserted into a rack which comprises among others the MSC-S  2  plug in card. This subscriber storage area can now be used as persistent data storage for the XMPP protocol such as offline messages or privacy lists. 
     The GSM authentication function  28  of the MSC-S  2  is connected via the c2s component  36  with the XMPP stanzas router  35 . The GSM authentication function  28  can be used by the c2s component  36  to authenticate a XMPP client or user. 
     The XMPP stanzas router  35  is connected via the s2s component  33  with the core network interface  25  and the routing function  26  of the MSC-S. The routing function  26  acts in support of the s2s component to resolve hostnames for the s2s component  25  as part of the XMPP dial-back authentication. The dial-back authentication, as mentioned in the RFC standard 3920, is for verification of the identity of an originating XMPP server. The s2s component  33  can reuse the existing IP network interface of the MSC-S node and the core network of the mobile communication network to send communication data to another XMPP server  111 ,  121  which can be located anywhere in the Internet  100  or in another node of the same or another mobile communication network. 
       FIG. 6  depicts an embodiment of a mobile switching node, MSC-S,  2  of a circuit-switched network, CS, comprising a communication server  3 . The communication server  3  is associated to the MSC-S  2  (e.g. integrated into the MSC-S  2 ). The communication server  3 , which could be a XMPP server, is adapted to register with a communication client  132  which can be a XMPP client over a client to server component  36 . The XMPP client  132  is not shown in this figure. The client to server component  36  comprises a communication unit  361 , adapted to initiate or establish a connection to the XMPP client  132 . The establishment of the connection could be initiated by the XMPP client  132  or by the XMPP server  3 . The establishment of a communication means that the communication unit  361  helps to build-up a communication with the XMPP client  132 . The client to server component  36  further comprises a receiving unit  362  which is adapted to receive identification information from the XMPP client  132  via the connection. The identification information could be the Jabber ID or any other kind of identification, which is described in some of the next paragraphs. Further the client to server component  36  comprises an interrogation unit  363  which is adapted to interrogate an authentication module  28  of the MSC-S  2  to perform a user authentication. The client to server component  36  further comprises a fetching unit  364 , adapted to fetch subscriber information from a database  27 . The database is in this embodiment the VLR of the MSC-S  2 . A sending unit  365  at the client to server component  36  is adapted to send subscriber information to the XMPP client  132  via the connection. The connection could be a TCP connection. 
     In the following, some use cases are described in detail. The use cases below do not cover all XMPP capabilities but focuses on those use cases where MSC-S functions can be reused. 
     In a first use case, a XMPP client  132  which is implemented on a mobile phone or mobile terminal  18  wants to register at a XMPP server  3  which is associated to the MSC-S of a mobile communication network. It is not necessary that the mobile terminal is CS associated to this network. To register the XMPP client  132  at the XMPP server  3  the client  132  has to construct an identity which is called the Jabber identity. The Jabber ID looks like the following: “user@jabberserver.tld/device”. The term “user” identifies the user of this service, “jabberserver” refers to the domain name of the XMPP server  3  and “device” represents the actual device the user is using for the registration request. The term “tld” stands for a top level domain which could be a .com or .de domain or any other known domain. A user may have several parallel registrations via different devices or different XMPP client instances on the same device. 
     To construct the Jabber ID, the XMPP client  132  could use information from the SIM card of the mobile phone  18 . The subscriber identity module (SIM) card contains e.g. the MSISDN number or the IMSI which can be user by the XMPP client  132  to construct a “user” for the Jabber ID. The MSISDN number is the Mobile Subscriber Integrated Services Digital Network Number. The IMSI is the abbreviation for the International Mobile Subscriber Identity. The domain name can be derived from the GPRS domain name of the Access Point Name (APN) as defined and stored also on the SIM card. The device can be constructed from the International Mobile Equipment Identity (IMEI) of the mobile phone. The constructed Jabber ID may look like the following: IMSI@XMPP.APNdomain.com/IMEI. 
     Another option would be that the operator sends a configuration text message, e.g. a SMS message, to configure the XMPP client on the mobile phone  18 . This option leaves more freedom in the way the Jabber ID is constructed. Subscribers can then be distributed to multiple domains or domains different to the APN domain. 
     To register the XMPP client  132  at the XMPP server  3  associated to the MSC-S  2 , the XMPP client  132  opens a connection to the XMPP server  3  in the MSC-S  2 . The mobile terminal  18  uses a normal packet switched connection. This connection can be based on the Transmission Control Protocol (TCP) and can be established via a wireless LAN connection of a WLAN router  19  through the Internet  100  to the c2s component  36  of the XMPP server  3 . Another way of connecting the XMPP client  132  to the XMPP server  3  is an established radio connection to a packet core network. The SGSN  15  and the GGSN  16  route the TCP connection the c2s component  36  of the XMPP server  3 . The c2s component  36  handles this connection request and interrogates the GSM authentication module  28  of the MSC-S  2  to perform user authentication. The GSM authentication function  28  of the MSC-S  2  may have to retrieve authentication triplets from AUC via the home location register (HLR)  4 . After successful authentication subscriber information is fetched from the database  27 , e.g. the VLR, and the subscriber information is sent to the XMPP client  132  via the connection. 
     After the XMPP client  132  has been registered to the XMPP server  3  in the MSC-S  2 , the mobile subscriber can start a chat session to any other already registered XMPP client. In case both clients are associated to the same XMPP server  3 , the chat session is local to that XMPP server  3 . The c2s component  36  receives chat related XMPP stanzas and will forward them to the XMPP session manager  34  via the XMPP stanzas router  35 . The session manager  34  will determine whether the destination Jabber ID is currently available or offline. 
     Offline messages are stored in the VLR data storage  27  and will be delivered once the destination becomes available. If the destination JID is reachable, the session manager  34  forwards the message to the destination, via the stanzas router  35  and the responsible c2s instance of function  36 . 
     The session manager  34  stays in control of the entire chat session. The session manager could report information about the chat session to the charging function  24  in the MSC-S  2 . The operator is now able to charge e.g. duration of the chat, or the number of chat messages. It is also possible (not shown in the figures) to report the details of the chat session to a legal interception point. 
     In case the destination Jabber ID is not registered at the same local XMPP server  3 , the XMPP session manager  34  tries to route the chat message to the destination XMPP server. This is done via the XMPP stanzas router  35  and the s2s component  33 . The s2s component  33  reuses the existing IP core network interface  25  of the MSC-S  2 . Also the same routing functional component  26  of the MSC-S  2  is reused in order to resolve the destination address and determine the appropriate physical core network interface. Also in this case charging information is collected and provided to the charging function  24 , and legal interception, if applicable, can be performed. 
     Similar actions are performed if a remote XMPP client wants to reach the local associated XMPP client  132 . In this case the message arrives at a core network interface  25  of the MSC-S  2 . The routing function  26  determines that this message is targeted to the internal XMPP server  3  and forwards the message to the s2s component  33 , which forwards it via the XMPP stanzas router  35  to the XMPP session manager  34 . 
     In the context of XMPP, a Jingle call is handled in the same way as a chat session. A Jingle call is a peer-to-peer call between XMPP clients, where the negotiation occurs over the XMPP signalling channel and the media is exchanged over a data channel that is usually a dedicated non-XMPP transport channel. Therefore a Jingle call can also be termed as a Voice over IP call. Further information about the Jingle call is mentioned in the XMPP standard XEP-0166. The user plane details are negotiated end-to-end via the XMPP server, without XMPP server involvement. Also the user plane addresses are exchanged directly between the XMPP clients. Therefore the above described use cases for local and remote chats are also applicable for this use case. This applies also for the direction from a remote client towards a local client. Also the data collection for input to the charging function in the MSC-S can be used. The legal interception of the user plane has to be performed by devices in the IP backbone, to mirror the IP packet flow between the clients. Offline correlation is required to relate the collected XMPP Jingle signalling information with the IP flows. 
     One essential benefit of the XMPP enabled MSC-S  2  is that it efficiently allows to provide interworking between XMPP clients using Jingle for call setup and the existing fixed or wireless telephony networks. 
     On the other hand the XMPP server  3  integrated in the MSC-S  2  shall be based as much as possible on existing definitions, in order to allow reuse of already available XMPP server  3  implementations (open source or commercial products). The XMPP-concept of XMPP server component-connections is used to interconnect the MSC-S parts with the XMPP server  3  to provide legacy network breakout. 
     The XMPP standard XEP-0114 defines a Jabber Component Protocol. This protocol allows connecting external server components to a XMPP server  3 . So the GSM Call Control function  23  of the MSC-S  2  uses this protocol to be connected to the XMPP server  3 . When establishing the connection, the GSM Call Control function  23  registers a specific sub-domain of the XMPP server domain. Whenever the XMPP server  3  receives a stanza addressed with this registered sub-domain, the stanza will directly be routed by the stanzas router  35  to the external component GSM Call Control function  23 . 
     For the interworking as such the Gateway Interaction according to the XMPP standard XEP-0100 provides additional information. E.g. when the XMPP client  132  wants to address an E.164 number in a Jingle call, it will use the following format: “E164Address@CSgateway.domain.com”. The term “E164Address” is the telephone number in accordance with the E.164 standard of the ITU-T, “CSgateway” is the sub-domain registered by the GSM Call Control function  23  when connecting as a component to the XMPP server  3 . The term “domain” would be the domain used by the operator for his XMPP service. When the GSM Call Control function  23  received the Jingle call request, it will decide based on a destination number analysis whether to route it to the core network interface  25  located in the MSC-S  2  or, if the destination is a mobile terminal  18  associated to the same MSC-S  2 , terminate it locally. 
     XMPP clients can use the Service Discovery mechanism in accordance with the XMPP standard XEP-0030 to discover the telecom breakout service offered by the XMPP server  3  integrated in the MSC-S  2 . In this scenario the existing charging and legal intercept mechanisms can be fully reused. 
     Instead of storing the XMPP Server related subscriber data into the VLR  27  allocated to the MSC-S  2 , it also possible to store it into an external database. One important embodiment of an external database is the Common Usage Database (CUDB), which is also used in mobile networks to centralize all subscriber data. Access to the CUDB is done via HLR-front-ends in a backward compatible way. If a network deploys a front-end-central database approach it would also prefer to store the XMPP data into such CUDB. The XMPP server data can be stored and access e.g. using a Lightweight Directory Access Protocol (LDAP) or other commonly used database access protocols. 
       FIG. 7  shows another embodiment of the invention. A mobile terminal  711  comprises a CS client  713  which is adapted to establish a communication with a CS mobile communication network over a radio network  17 . In this embodiment the mobile terminal  711  is CS attached  723  over the CS client  713  to a mobile switching node  72 , which can be a MSC-S. The mobile terminal  711  comprises further a communication client  712  which can be a XMPP client or any other instant messaging client which is connected via a XMPP access interface  724  with a communication server  721  which is in this embodiment a XMPP server. The XMPP server is associated to the MSC-S  72 . A further MSC-S  73  exists which also comprises a XMPP server  731  with an XMPP access interface  734 . A further XMPP server  76  is shown in this figure which might be a stand-alone server in the Internet. All XMPP servers  721 ,  731 ,  76  are connected with each other over their server to server (s2s) components  33  via a network (e.g. IP network). The MSC-S  72 ,  73  comprise a Dynamic Domain Name System (DNS) client  722 ,  732  which are connected to a Dynamic DNS server  74 . The Dynamic DNS clients  722 ,  732  are also connected with other components inside the MSC-S  72 ,  73 , especially to the integrated XMPP server  721 ,  731 . The Dynamic DNS server  74  is further connected to the mobile terminal  711  and to the other XMPP server  76 . A central database  75  is connected to the XMPP servers  721 ,  731 . The central database  75 , which could be the Home Location Register (HLR) of a mobile communication network, comprises subscriber related data which can be fetched by the XMPP servers  721 ,  731  or the MSC-S  72 ,  73 . Therefore the XMPP servers  721 ,  731  in the different MSC-S  72 ,  73  are set-up in a way that they do not store subscriber specific data locally but use a central database  75  for dynamic and static data storage. By this it is ensured that any of the XMPP server  721 ,  731  can handle any of the subscribers or mobile terminals  711 . On activation of the XMPP server instance  721 ,  731  it fetches the needed data from the central database  75  and caches them locally (e.g. in the VLR or any other local database) or will always store and retrieve data from the central database  75  directly. 
     The mechanism how a XMPP client  712  finds its responsible server is by DNS resolving the own JID domain. Therefore the XMPP client fetches the address from the Dynamic DNS server  74 . The same mechanism is used by external XMPP servers  76  from different domains to route terminating XMPP traffic between XMPP servers  721 ,  76 . 
     In order to change the DNS resolution of the Jabber ID (MD) domain according to the XMPP server allocation, dynamic DNS is used. To achieve this, the central DNS server entity  74  is upgraded to support real-time dynamic change of the configuration of domain resolution to IP addresses. When a CS client  713  registers into a new MSC-S, e.g. via a location update procedure or an IMSI attach, the registration function in the MSC-S  72 ,  73  will determine the physical address of its integrated XMPP server  721 ,  731 . This IP address information is then fed into the Dynamic DNS client  722 ,  732  in the MSC-S, which then updates the configuration of the Dynamic DNS Server  74  to match the domain of the XMPP client to the IP address resolution. 
     With this dynamic storage of DNS information it is possible to move the responsible XMPP server  721 ,  731  along with the serving MSC-S when the mobile terminal with the integrated XMPP client  712  and the CS client  713  roams between different locations. The responsible XMPP server  721 ,  731  can therefore always uses the local VLR data, MSC-S configuration, local core network interfaces, charging relations and other MSC-S resources. It is assumed that every MSC-S  72 ,  73  have an XMPP server  721 ,  731  integrated as mentioned before.