The present invention relates to the communication field, and particularly to a method, a device and a system for implementing Converged IP Messaging (CPM).
Message services deployed on mobile communication networks (such as the second generation (2G) and third generation (3G) mobile communication networks and the multimedia sub-domain) include: Short Message Service (SMS), Multimedia Message Service (MMS), Instant Message (IM) service, and Converged IP Messaging (CPM) service. The message services such as instant message and CPM are based on the Session Initiation Protocol (SIP) technology, and belong to the presence information-based individual-to-individual, individual-to-application, and individual-to-group message types of mobile data services.
The existing message service engines defined by the Open Mobile Alliance (OMA) are separately designed and standardized. Each service provides a single type of user experience, and is limited to a certain medium and application. For example:
As the development of the networks and technologies, many message services have become related and alternative to each other, and have features as follows.
The convergence of the above features needs a single converged messaging platform to adapt different technologies and support a user's different messaging experiences. IP-based converged messaging, i.e. Converged IP Messaging (CPM) is a new message service architecture proposed and specified by the OMA. The CPM provides users with converged messaging experiences such as instant messaging, offline message, multimedia conference, half-duplex/full-duplex voice and video conference. The CPM allows a user to use communication services with different technical features in a unified way, and thus overcomes the “Silos” between non-CPM services due to technical differences and provides the user with a unified service experience on services.
In addition to consolidating the basic capabilities of the existing messaging services, led by the communication technologies such as SIP, the CMP service also converges multiple service characteristics emerging during the mobile data service evolvement. For example,
1. The CMP can manage multiple different media types of sessions which are held simultaneously, and allows a user to set the services according to different devices, contact addresses and media types.
2. The CMP service does not depend on operator networks and user terminals, and thus can provide service in multi-terminal condition.
3. The CMP provides a personal network storage capability for a user to store messages and multi-media contents.
4. The CMP support seamless interconnection with a non-CPM system so as to allow different message types of users to intercommunicate to the maximum extent.
5. CMP not only supports one-to-one and one-to-multiple personal data communication services, but also provides a capability of interacting with a third-party application. In implementing the service capability, the CMP interacts with other functional entities of the OMA such as a presence server and an XML document management entity.
The OMA IM provides SIP-based instant messaging which can support a session for mainly messaging text and discrete media, and can support the function of a message chat room in which multiple parties of users participate, and can also provide temporary storage and notification of an offline message. However, the OMA IM cannot provide simultaneous media sharing in the session, cannot provide sufficient to a multi-party multimedia conference, and cannot achieve message state synchronization in multi-terminal condition. Moreover, the interaction with a non-CPM system (such as an SMS system, an Instant Messaging and Presence Service (IMPS) system) is not completely resolved though it is in progress.
The OMA PoC mainly provides SIP-based half-duplex voice, supports controllable real-time voice session, and can implement group communication and network storage. However, the application scenarios of OMA PoC do not include message exchanging and email receiving and sending, nor include the interconnection with a non-CPM system (such as an SMS system and an MMS system).
It can be seen that the non-CPM services (such as SMS, MMS, IM and PoC) are distinguished according to their respective technologies. However, the technology capabilities of these non-CPM services intersect with each other and the service experiences provided by these non-CPM services to the users also overlap. Consequently this will split the market for mobile data terminals and also cause confusion to the user using different messaging services. In addition, the differences in technologies of the messaging services in turn cause the “Silos” between the messaging services.
The embodiments of the present invention provide a method and a system for implementing converged IP messaging to overcome the intersection of the technology capabilities and the overlapping of user experiences of the non-CPM services and the “Silos” between the non-CPM services.
A method for implementing Converged IP Messaging (CPM) includes:
receiving, by a CPM server, a CPM message;
determining, by the CPM server, a service type according to the CPM message and performing corresponding signaling control, wherein for a service requiring a media transport channel, the CPM server determines a media capability of the service and configures corresponding media resources and establishes the media transport channel according to the media capability; and
processing, by the CPM server, contents of the CPM message according to a processing procedure corresponding to the service type.
A CPM server includes:
a communication interface, configured to receive or send a message;
a control unit, configured to determine a service type according to the received CPM message and perform corresponding signaling control; and
a media unit, configured to perform media capability control and resource management according to an instruction from the control unit.
A CPM terminal equipment includes:
a communication interface, configured to receive or send a message; and
a CPM client, configured to generate a corresponding CPM message according to a service type of a CPM service to be performed and send the CPM message to the communication interface, and process a received CPM message according to a processing procedure corresponding to a service type of the received CPM message.
A CPM system includes:
a CPM client, configured to generate a corresponding CPM message according to a service type of a CPM service to be performed and send the CPM message, and process a received CPM message according to a processing procedure corresponding to a service type of the received CPM message;
a CPM server, configured to determine a service type according to a received CPM message and perform corresponding signaling control and process contents of the CPM message according to a processing procedure corresponding to the service type, wherein for a service requiring a media transport channel, the CPM server determines a media capability of the service and configure corresponding media resources and establish the media transport channel according to the media capability; and
a transport network, configured to transfer CPM messages of the CPM client and the CPM server.
A method for implementing CPM includes:
receiving, by a CPM server, a CPM message;
determining, by the CPM server, a service type according to the CPM message and determine a service server capable of processing the type of service according to the service type; and
generating, by the CPM server, a message and/or session request corresponding to the other service server from the CPM message, sending the generated message and/or session request to the service server for processing, and sending, by the CPM server, a CPM message to a CPM client after receiving the CPM message from the service server.
A CPM server includes:
a communication interface, configured to receive or send a message; and
a signaling controller, configured to determine a service type according to a received CPM message, determine a service server to process the type of service according to the service type, generate a message and/or session request corresponding to the service server from the CPM message and send the generated message and/or session request to the service server, and after receiving a CPM message from the service server, send the CPM message to a CPM client.
A CPM system includes:
a CPM client, configured to generate a corresponding CPM message according to a service type of a CPM service to be performed and send the CPM message, and process a received CPM message according to a processing procedure corresponding to a service type of the received CPM message;
a CPM server, configured to determine a service type according to a received CPM message, determine a service server capable of processing the type of service according to the service type, generate a message and/or session request corresponding to the service server from the CPM message and send the generated message and/or session request to the service server, and after receiving a CPM message from the service server, send the CPM message to the CPM client;
the service servers, configured to process the message and/or session request; and
a transport network, configured to transfer messages between the CPM client and the CPM server and between the service servers and the CPM server.
A CPM client includes:
a service function module, configured to send and receive a CPM message;
a service control module, configured to determine a service type according to a received message and trigger a service function module corresponding to the service type; and
a user interface module, configured to send a received message and a message initiated by a user to the service control module.
After receiving a CPM message, the CPM server according to an embodiment of the present invention determines the service type and performs corresponding signaling control according to the CPM message. For a service requiring a media transport channel, the CPM server determines the media capability of the service, configures corresponding media resources and establishes a media transport channel according to the media capability, and processes the contents of the CPM message according to a process corresponding to the service type. Alternatively, after receiving a CPM message, the CPM server determines the service type according to the CPM message, and determines other service server capable of processing the type of service according to the service type, and generates a message and/or a session request corresponding to the other CPM servers according to the CPM message and sends the generated message and/or session request to the other CPM servers for processing, and when receiving a CPM message from the service server, sends the CPM message to the CPM client. In this way the present invention can provide a converged service experience to users and overcome the overlapping of user experiences due to the intersection of the technology capabilities of the non-CPM services. Therefore the methods according to embodiments of the present invention can improve the user's service experience.
To resolve the intersection of the technology capabilities and the overlapping of user experiences of the non-CPM services and the “Silos” between the non-CPM services, the embodiments of the present invention provide a converged IP messaging (CPM) system.
Referring to
Step 100: A CPM server receives a CPM message. The CPM message contains a service request message such as a message request, a session request, a service request for operating the contents of the CPM message on the network side.
Step 101: The CPM server determines the service type according to the CPM message and performs corresponding signaling control. For a service requiring a media transport channel, the CPM server determines the media capability of the service, configures corresponding media resources and establishes a media transport channel according to the media capability.
Step 102: The CPM server processes the contents of the CPM message according to a process corresponding to the service type.
Referring to
The transport network 12 may be a packet switched public data network, a circuit switched public data network, a network supporting Transmission Control Protocol/Internet Protocol, a general packet radio service network, a digital wireless phone network, an analog wireless phone network, a public switched telephone network, an integrated services digital network or a broadband integrated services digital network. This embodiment takes a SIP/IP core network as an example of the transport network 12.
The CPM client 10 is deployed in a mobile or fixed terminal or an Internet accessing device. A CPM client should support the following functions:
1. performing the processes of registration and authentication from the CPM client to a SIP/IP Core;
2. sending/receiving CPM messages to/from other CPM clients and providing the user with a notification of the arrival of a message or an invitation;
3. allowing the user to set services according to different devices, contact addresses and media types; and
4. providing network-stored messages, multimedia contents and a user local storage and synchronization capability.
The CPM server 11 includes a communication interface 110, a control plane 111 and a media plane 112. The functions of the functional modules and the service logic relations between the functional modules are described hereunder in detail in conjunction with
The control plane 110 includes a signaling manager 30, a message controller 31, a service controller 32, a storage controller 33 and a third-party application controller 34.
The signaling manager 30 is adapted to process received CPM messages and session control signaling.
When receiving a CPM message or session control signaling from the transport network, the signaling manager 30 parses out branch information for further processing the message or session request according to the characteristics of the signaling, that is, determines the controller to which the CPM message or session control signaling is to be forwarded. This processing procedure mainly includes that: the signaling manager 30 parses the signaling request and determines the CPM service request type, for example, a SIP message, and then determines whether this message is a single message in Page Mode or a message of a session in Session Mode according to the Request Uniform Resource Identifier (URI) in this message; then the signaling manager 30 forwards the signaling to the corresponding message controller 31 or session controller 32; the message controller 31 or session controller 32 determines whether the message or the contents of the session need to be stored, and if need, forwards the message or the session control signaling to the storage controller 33 for processing.
When receiving a result of processing the message or session control signaling from other controller, the signaling manager parses out branch information for further processing the message or session control request according to the characteristics of the signaling. This processing procedure mainly includes: if the result is control signaling returned by the message controller 31 or the session controller 32, the signaling manager sends the request to the next hop of the receiving party according to the contents in the head field of the signaling (such as the information carried in the Request URI), for example, forwards the request to the CPM server via the SIP/IP core network; and if the result is control signaling returned by the storage controller 33, the signaling manager establishes a session between the storage controller 33 and a network storage entity for the succeeding message or session access.
The message controller 31 is configured to receive a message forwarded from the signaling manager 30, perform a configurable operation on the contents of the message and then send the message to the message controller. The message controller 31 is also configured to send an accessing request to the storage controller 33 for storing the contents of the message when the message contains a network accessing request.
The session controller 32 is configured to receive session control signaling forwarded by the signaling manager 30, forward a message request in a session to the message controller 31 for processing; perform a configurable operation on the session signaling and then forward the session signaling to the signaling manager 31, and send to the media plane an instruction for performing session media capability control; and when the session contains a request requiring operating the contents of the session, send a request for operating the contents of the session to the storage controller 33.
The storage controller 33 is configured to receive from the message controller 31 and the session controller 32 a request for operating on the network side the contents of a message, the contents of the session history and media data possibly contained in the message and the session history according to the request; and obtain the contents of the session from the media plane when storing the history of the session. The operations include storing, obtaining, deleting and updating.
The third-party application controller 34 receives a message or session control signaling sent by the message controller 31 and the session controller 32 via the signaling manager 30, perform protocol processing and conversion on the message or session control signaling and then send the message or session control signaling to a third-party application; and receive a message or session control signaling send by the third-party application, and perform protocol processing and conversion on the message or session control signaling and then send the message or session control signaling to the message controller 31 or the session controller 32 via the signaling manager 30.
The media plane 112 includes:
a media capability controller 40, configured to determine the session media capability of received session control signaling and request media resource management of a session; and
a user plane 41, configured to provide resource management for a session according to the request of the media capability controller 40.
The media capability controller 40 further includes:
a media capability selecting module 400, configured to receive a request for allocating media resources to a CPM session sent by the control plane, determine the media capability required by the session according to the mission media description in the request signaling, and send the request signaling to a corresponding capability performing module.
Multiple capability performing modules, configured to operate media according to control signaling, and includes:
a message transferring module, adapted to decide a route of the message to the domain of the receiving party and implement message transport according to the SIP URI of the receiving user and the presence information in the received message and information such as the user service setting, and transfer a notification message to the user when a new message arrives;
a full-duplex/half-duplex session module, configured to determine a route to the domain of the receiving party of a session, negotiate media parameters and mix the session policy and the media;
an audio/video streaming media module, configured to decide a route to the domain of the receiving party of a session, and ensure the Quality of Service (QoS) of streaming media transport;
an email sending module, configured to send a email; and
a document transferring module, configured to transfer a document;
The communication interface 110 is configured for the communication between the functional entities in the system, and defined to include the followings.
1. A First Interface (CM-2 Interface)
The first interface is based on the SIP protocol, used for the communication between the CPM server and the SIP/IP core network, and supports:
2. A Second Interface (CM-3 Interface)
The second interface is configured for the communication between the CPM client and the CPM server, and may implement transmission protocols required by media communication, such as Message Session Relay Protocol (MSRP), Real-time Transport Protocol (RTP)/Real-time Transport Control Protocol (RTCP) and Hyper Text Transport Protocol (HTTP), and supports:
3. The Third Interface (CM-4 Interface)
The third interface is based on XML Configuration Access Protocol (XCAP) protocol, used for the communication between the CPM server and the CPM XDMS, and supports:
The Fourth Interface (CM-5 Interface)
The fourth interface is configured for the communication between the CPM server and the network storage entity, and may implement transmission protocols required by the media communication, such as MSRP, RTP and HTTP, and supports:
5. The Fifth Interface (CM-6 Interface)
The fifth interface is based on a specific protocol such as SIP, used for the communication between the CPM server and a third-party application, and supports:
6. The Sixth Interface (CM-7 Interface)
The sixth interface is configured for the communication between the CPM server and an interconnection entity, and supports:
7. A Seventh Interface (CM-10 Interface)
The seventh interface is based on the XCAP protocol, configured for the communication between the CPM server and the Shared XDMS, and supports:
8. An Eighth Interface (CH-x Interface)
The eighth interface is configured for the communication between the CPM server and a charging entity, and supports:
9. A Ninth Interface (CM-8 Interface)
The ninth interface is based on the media transport protocol, configured for the communication between the CPM server and a remote CPM server, and may implement various protocols required by the media communication, such as MSRP, RTP and HTTP, and supports:
10. A Tenth Interface (CM-1 Interface)
The tenth interface is based on the SIP protocol, configured for the communication between the CPM client and the SIP/IP core network, and supports:
11. An Eleventh Interface (CM-9 Interface)
The eleventh interface is based on the media transport protocol, configured for the communication between the CPM client and a remote CPM client, and may implement various protocols required by the media communication, such as MSRP, RTP and HTTP, and supports:
12. A Twelfth Interface (XDM-3 Interface)
The twelfth interface is based on the XCAP protocol, configured for the communication between the CPM XDMS and the SIP/IP core network, and supports:
13. A Thirteenth Interface (XDM-4 Interface)
The thirteenth interface is based on the XCAP protocol, configured for the communication between the CPM XDMS and the XML document management entity, and supports:
14. LF-1 Interface
This interface is configured for the communication between a non-CPM system and the network storage entity, and may implement various protocols required by the media communication, such as MSRP, RTP/RTCP and HTTP, and supports:
15. CL-1 Interface
This interface is configured for the communication between a non-CPM client and the network storage entity, and may implement various protocols required by the media communication, such as MSRP, RTP/RTCP and HTTP, and supports:
16. IP-1 Interface
This interface is based on the SIP protocol, configured for the communication between the SIP/IP core network and a remote SIP/IP core network, and supports:
17. XDM-1 Interface
This interface is based on the SIP protocol, configured for the communication between an XDM client and the SIP/IP core network, and supports:
18. XDM-2 Interface
This interface is based on the XCAP protocol, configured for the communication between the XDM client and the XML document management entity, and supports:
19. XDM-5 Interface
This interface is based on the XCAP protocol, configured for the communication between the presence server and the XML document management entity, and supports:
20. XDM-6 Interface
This interface is based on the SIP protocol, configured for the communication between the Shared XDMS and the SIP/IP core network, and supports:
21. XDM-7 Interface
This interface is based on the XCAP protocol, configured for the communication between the Shared XDMS and the XML document management entity, and supports:
22. PRS-1 Interface
This interface is based on the SIP protocol, configured for the communication between a presence client and the SIP/IP core network, and supports:
23. PRS-2 Interface
This interface is based on the SIP protocol, configured for the communication between the presence server and the SIP/IP core network, and supports:
24. IWF-1 Interface
This interface is based on the HTTP protocol, configured for the communication between the interconnection entity and an IMPS server, and supports:
25. IWF-2 Interface
This interface is based on the HTTP protocol, configured for the communication between the interconnection entity and an MMS Proxy/Relay, and supports:
26. IWF-3 Interface
This interface is based on the Short Message Peer-to-Peer (SMPP) protocol, configured for the communication between the interconnection entity and a Short Message Service Center (SMSC) server, and supports:
The interfaces described in the above sections 16 to 26 have been existed in the existing messaging system but now provide support for the deployment of the CPM service.
The CPM system according to this embodiment also includes the following functional entities.
A network storage entity 13 is configured to collectively store user data, and provides the following functions: a uniform user contact list independent from the communication service technologies, a separate message, history list and multimedia data; all network-stored data may be synchronized to a user terminal and can deploy a corresponding storage capability according to the user service setting and the operator policy.
A CPM XDMS entity 14 is configured to store specific information in XML document format and associated with a CPM service kept by a CPM user.
An XML document management entity 15 is configured to provide access and control of a network-stored XML document for a CPM user and manage a CPM-specific XML document (such as a session history data document collectively stored by CPM or a user contact list in the Shared XDMS) stored on the network side, and provide an access control point of a network-stored XML document for an XDM client and perform authentication of the XDM client, XCAP route requesting and network-stored XML document searching.
A Shared XDMS entity 16 is configured to provide access and control of an XML document shared by OMA service functional entities (OMA Enabler) including the CPM functional entity.
Both the CPM XDMS entity 14 and the Shared XDMS entity 16 serve as an XCAP server to provide XML document management for CPM users.
A presence server 17 is configured to allow a CPM user to distribute and subscribe to presence information (such as the state of online or offline).
A charging entity 18 is configured to receive charging time information reported from a CPM service and provide charging basis for the operator.
An interconnection entity 19 is configured to define standard interfaces for the interconnection between the CPM system and other systems, perform corresponding format conversion between a CPM message and a non-CPM message, and allow seamless interaction between a CPM user and a user of other non-CPM messaging system.
A third-party application entity 20 is configured to provide a third-party application service for a CPM user.
One or more remote CPM servers 21 are configured to perform remote CPM service interaction with the CPM server.
One or more remote CPM clients 22 are configured to perform remote CPM service interaction with the CPM client.
The above functional entities communicate with each other via the communication interfaces as defined above to implement service interaction.
The technical solutions according to the embodiments of the present invention will be described in detail by way of example in conjunction with the accompanying drawings.
Messaging is a basis service function provided by the CPM server. The contents of a converged message may be common text, picture in multimedia format, and a piece of video or audio. An appropriate transport scheme (such as transmission via a SIP MESSAGE or establishment of an MSRP message transport channel) can be selected for the converged message according to the size of the message.
Both CPM users A and B are subscribers to the SIP/IP Core. It is assumed that: the CPM users A and B have the same home network; the CPM user A sends a message but not a session invitation to the CPM user B; the CPM Clients of the two users transfers SIP messages between each other; and CPM Servers A and B are respectively the CPM servers of the home networks of the CPM users A and B. In this example, the CPM server provides message delivery between a CPM user and a user of a non-CPM system and that between a CPM user and a third-party application, based on the support of the interconnection entity and the third-party application interface of the CPM system.
As shown in
Step 1: The CPM Client A sends a CPM message to the SIP/IP Core via a SIP MESSAGE.
Step 2: The SIP/IP Core forwards the SIP MESSAGE to the CPM Server A. Upon receipt of the SIP MESSAGE, a signaling manager in the CPM Server A analyzes the message and determines that the service type is message delivery service, and then sends the message to a message controller in the CPM Server. The message controller applies a message control policy to the message and then returns the message to the signaling manager. The message control policy includes transactions such as updating the message transport state, determining the network storage and reporting the charging time. The specific execution path is determined according to the server policy and the user service setting. The signaling manager determines the next hop of the receiving party according to the message returned by the message controller.
Step 3: The CPM Server A forwards the SIP MESSAGE to the SIP/IP Core.
Step 4: The SIP/IP Core forwards the SIP MESSAGE to the CPM Server B. The CPM Server B performs a processing procedure similar to that performed by the CPM Server A at Step 2, which will not be repeated here.
Step 5: The CPM Server B forwards the SIP MESSAGE to the SIP/IP Core.
Step 6: The SIP/IP Core forwards the SIP MESSAGE to the CPM Client B. If the user B is offline, the CPM Server B simply discards the message or notifies the user B to retrieve the message when the user B is online again, according to a predetermined policy.
Step 7 to Step 10: The CPM Client B sends a response message SIP 200 OK to the CPM Server A via the SIP/IP Core and the CPM Server B. When the CPM Server A receives the response message, the signaling controller in the CPM Server A analyzes the message and determines that the service type is message delivery, and then sends the message to the message controller in the CPM Server A. The message controller applies a message control policy to the message and then returns the message to the signaling manager. The control policy includes transactions such as updating the message transport state, determining the network storage and reporting the charging time. The specific execution path is determined according to the server policy and the user service setting.
Step 11: The CPM Server A forwards the SIP 200 OK to the SIP/IP Core.
Step 12: The SIP/IP Core forwards the SIP 200 OK to the CPM Client A.
The CPM server provides a capability of one-to-one multimedia session between two users, and allows a CPM Client to negotiate and adjust the media type of the session during the life time of the session. The CPM server also supports other user to attend an end-to-end session being held between users. The CPM server can also store the contents of the session on the network side if it is desired.
Both CPM users A and B are subscribers to the SIP/IP Core. It is assumed that: the CPM users A and B have the same home network; and CPM Servers A and B are respectively the CPM servers of the home networks of the CPM users A and B. In this example, the CPM user A sends a chat session request to the CPM user B and a one-to-one multimedia session is made between the two users. As shown in
Step 1: The CPM Client A sends a SIP INVITE to the SIP/IP Core.
Step 2: The SIP/IP Core forwards the SIP INVITE to the CPM Server A. Upon receipt of the SIP INVITE, the CPM Server A performs the following processing: a signaling manager in the CPM Server A analyzes the message and determines that the service type is session invitation. On one hand the signaling manager sends the message to a session controller in the CPM Server. The session controller applies a message control policy to the message and then returns the message to the signaling manager. The message control policy includes transactions such as updating the session state, determining the network storage of the session history and reporting the charging time. The specific execution path is determined according to the server policy and the user service setting. On the other hand, the signaling manager preserves resources such as transport port at the media unit. The signaling manager determines the next hop of the receiving party according to the message returned by the session controller.
Step 3 to Step 6: The CPM Server A forwards the SIP INVITE to the CPM Client B via the SIP/IP Core and the CPM Server B. At that time, the CPM Server B performs a processing procedure similar to that performed by the CPM Server A at Step 2.
Step 7 to Step 10: If the user B is online and accepts the session invitation, the CPM Client B forwards a response message SIP 200 OK to the CPM Server A via the SIP/IP Core and the CPM Server B. Upon receipt of the response message, the CPM Server A performs the following processing: the signaling manager in the CPM Server A analyzes the message and determines that the service type is session invitation. On one hand the signaling manager sends the message to a session controller in the CPM Server. The session controller applies a message control policy to the message and then returns the message to the signaling manager. The message control policy includes transactions such as updating the session state, determining the network storage of a history of the session and reporting the charging time. The specific execution path is determined according to the server policy and the user service setting. On the other hand, the signaling manager preserves resources such as transport port at the media unit. The signaling manager determines the next hop of the receiving party according to the message returned by the session controller.
Step 11 to Step 12: The CPM Server A forwards the SIP 200 OK to the CPM Client A via the SIP/IP Core.
Step 13 to Step 18: The CPM Client A forwards an ACK acknowledgement message to the CPM B via the SIP/IP Core and the CPM Servers A and B. During these steps, when the CPM Servers A and B receive the message, the signaling managers in the servers A and B analyze the received message and determine that the message is a session invitation, and branch the message to the respective session controllers in the servers A and B. The session controllers then perform control policy.
At this time the respective CPM Servers A and B of the users A and B implement session initiation in the signaling control plane, such as media type negotiation, contact addresses of the two parties of the session, and the allocation of a media transport port number for a specific protocol. The CPM Servers A and B implement allocation of communication resources required for session transport in the media plane of the user session. A communication channel for the one-to-one session between the users A and B has been established. In this embodiment it is assumed that the users A and B make a one-to-one text message session on an established MSRP channel, and the MSRP session channel for media content transport between the users A and B passes through the CPM Servers A and B. Alternatively, the MSRP session channel between the users A and B may not pass through the CPM Servers A and B, that is, the users A and B make a message session directly via an end-to-end MSRP channel.
During the above session the users can request to modify the media type used in the session. For example, the user A has a capability of adding an audio or video stream media session on the basis of a message session. As shown in
Step 19 to Step 24: The CPM Client A sends a SIP re-INVITE message to the CPM Client B via the SIP/IP Core, the CPM Server A and the CPM Server B. The message carries an updated session media type.
Step 25 to Step 30: The user B accepts the modification request of the user A. The CPM Client B sends a response message SIP 200 OK to the CPM Client A via the CPM Server B, the SIP/IP Core and the CPM Server A.
Step 31 to Step 36: The CPM Client A sends an ACK acknowledgement message to the CPM Client B via the SIP/IP Core, the CPM Server A and the CPM Server B.
At this time the CPM users A and B make a one-to-one session with the updated media type. When the user A terminates the session, the procedure is implemented as follows.
Step 37 to Step 42: The CPM Client A sends a SIP BYE message to the CPM Client B via the SIP/IP Core, the CPM Server A and the CPM Server B.
Step 43 to Step 48: The CPM Client B sends a response message SIP 200 OK to the CPM Client A via the CPM Server B, the SIP/IP Core and the CPM Server A.
At this time the end-to-end session between the users A and B is terminated. The CPM Servers A and B release respective communication resources.
Multi-party multimedia conference, i.e. multimedia conference is another service provided by the CPM system. This service allows a group of CPM users to make a many-to-many multimedia session under the coordination by a conference control center (which may be a CPM server or other dedicated network entity). In this example two conference scenarios including a predetermined conference and a temporary conference supported by the CPM server are described. The predetermined conference may be initiated by a conference server (such as the CPM server) according to a conference policy or initiated by a participant of the predetermined conference. The temporary conference may be established through a temporary request of a CPM user and allows any other user who is authorized to participate in this conference.
The CPM Server is a CPM server of the home network of CPM users A, B and C. The three users belong to the same home network. All of the users are subscribers to the SIP/IP Core. As shown in
The conference server, i.e. the CPM Server initiates a session invitation to all the participants of the predetermined conference according to a predetermined conference policy. The media plane in the CPM Server reserves resources according to a predetermined conference media policy, and for the participant list, the signaling manager sends a SIP INVITE message to the users A, B and C via the SIP/IP Core.
Step 1: The CPM Server sends a SIP INVITE message to the SIP/IP Core.
Step 2: The SIP/IP Core forwards the SIP INVITE to the CPM Client A.
Step 3: The CPM Client A sends a SIP 200 OK message to the SIP/IP Core.
Step 4: The SIP/IP Core forwards the SIP 200 OK message to the CPM Server. When the CPM Server receives the message, the signaling manager in the CPM Server analyzes the message and determines that the service type is session invitation. On one hand the signaling manager sends the message to a session controller in the CPM Server. The session controller applies a message control policy to the message and then returns the message to the signaling manager. The message control policy includes transactions such as updating the session state, determining the network storage of a history of the session and reporting the charging time. The specific execution path is determined according to the server policy and the user service setting. On the other hand, the signaling manager preserves resources such as transport port at the media unit. The signaling manager determines the next hop of the receiving party according to the message returned by the session controller.
Step 5: The CPM Server sends an ACK acknowledgement message to the SIP/IP Core.
Step 6: The SIP/IP Core forwards the ACK message to the CPM Client A. At this time the user A participates in the predetermined conference successfully.
Step 7 to Step 8: The CPM Server sends a SIP INVITE message to the CPM Client B via the SIP/IP Core.
Step 9 to Step 12: These steps are implemented in the same way as Step 3 to Step 6. At this time the user B participates in the predetermined conference successfully.
Step 13 to Step 14: The CPM Server sends a SIP INVITE message to the CPM Client C via the SIP/IP Core.
Step 15 to Step 18: These steps are implemented in the same way as Step 3 to Step 6. At this time the user C participates in the predetermined conference successfully.
The participants A, B and C of the predetermined conference make a many-to-many session with the established conference communication channel according to the media policy of the conference under the control of the CPM Server. In this example it is assumed that the three users make a stream media conference characterized by audio and video using an established RTP channel.
The CPM Server initially requests to terminate the predetermined conference according to the predetermined conference policy. To do this, the CPM Server sends a SIP BYE message to the Clients A, B and C via the SIP/IP Core. As shown in
Step 19: The CPM Server sends a SIP BYE message to the SIP/IP Core.
Step 20: The SIP/IP Core forwards the SIP BYE message to the CPM Client A.
Step 21: The CPM Client A sends a SIP 200 OK message to the SIP/IP Core.
Step 22: The SIP/IP Core forwards the SIP 200 OK message to the CPM Server. When the CPM Server receives the message, a management entity of the CPM Server analyzes the signaling and determines that the service type is session, and then branches the message to the session control entity of the CPM Server. The session control entity applies a session control policy. The user A terminates the session with the CPM Server.
Step 23 to Step 24: The CPM Server sends the SIP BYE message to the CPM Client B via the SIP/IP Core.
Step 25 to Step 26: These steps are implemented in the same way as Step 19 to Step 20. At this time the user B terminates the session with the CPM Server.
Step 27 to Step 28: The CPM Server sends the SIP BYE message to the CPM Client C via the SIP/IP Core.
Step 29 to Step 30: These steps are implemented in the same way as Step 19 to Step 20. At this time the user C terminates the session with the CPM Server.
At this time the predetermined conference is determined. The CPM Server releases the resources for the conference in the media plane.
The user A requests the conference server to establish a conference. The session media type of the conference includes text message, audio and video stream media. As shown in
Step 1: The CPM Client A sends a SIP INVITE message to the SIP/IP Core to request to establish a temporary conference.
Step 2: The SIP/IP Core forwards the SIP INVITE message to the CPM Server. When the CPM Server receives the message, the signaling manager in the CPM Server analyzes the message and determines that the service type is session invitation. On one hand the signaling manager sends the message to a session controller in the CPM Server. The session controller applies a message control policy to the message and then returns the message to the signaling manager. The message control policy includes transactions such as updating the session state, determining the network storage of a history of the session and reporting the charging time. The specific execution path is determined according to the server policy and the user service setting. On the other hand, the signaling manager preserves resources such as transport port at the media unit. The signaling manager determines the next hop of the receiving party according to the message returned by the session controller.
Step 3: The CPM Server applies a conference control policy through the media plane therein and determines whether to allocate resources for the conference. If the request for establishing the conference is accepted, the signaling manager sends a SIP 200 OK message to the SIP/IP Core.
Step 4: The SIP/IP Core forwards the SIP 200 OK to the CPM Client A.
Step 5 to Step 6: The CPM Client A sends an ACK acknowledgement message to the CPM Server via the SIP/IP Core. At this time the user A establishes the temporary conference successfully. According to a media type negotiated for the conference session, a participant of the temporary conference can chat with a message and share an audio and a video.
Step 7 to Step 12: These steps are implemented in the same way as Step 1 to Step 5. During these steps, the CPM Server applies a similar conference control policy and the user B participates in the temporary conference successfully.
Step 13 to Step 18: These steps are implemented in the same way as Step 1 to Step 5. During these steps, the CPM Server applies a similar conference control policy and the user C participates in the temporary conference successfully.
At this time all the users A, B and C participate in the temporary conference, and make a many-to-many session with the established conference communication channel according to the media policy of the conference under the control of the CPM Server. In this example it is assumed that the three users make a stream media conference characterized by audio and video using an established RTP channel.
During the temporary conference a user requests to quit the temporary conference. As shown in
Step 19: The CPM Client C sends a SIP BYE message to the SIP/IP Core.
Step 20: The SIP/IP Core forwards the SIP BYE message to the CPM Server. When the CPM Server receives the message, the signaling manager analyzes the message and determines that the service type is session invitation. On one hand the signaling manager sends the message to the session controller in the CPM Server. The session controller applies a message control policy to the message and then returns the message to the signaling manager. The message control policy includes transactions such as updating the session state, determining the network storage of a history of the session and reporting the charging time. The specific execution path is determined according to the server policy and the user service setting. On the other hand, the signaling manager preserves resources such as transport port at the media unit. The signaling manager determines the next hop of the receiving party according to the message returned by the session controller.
Step 21: When the CPM Server accepts the quit request of the user C, the signaling manager in the CPM Server sends a SIP 200 OK message to the SIP/IP Core.
Step 22: The SIP/IP Core forwards the SIP 200 OK message to the CPM Client C.
Step 23 to Step 26: These steps are implemented in the same way as the above Step 19 to Step 22. The user B quits the temporary conference.
Step 27 to Step 30: These steps are implemented in the same way as the above Step 19 to Step 22. The user A quits the temporary conference.
At this time the temporary conference is terminated. The CPM Server releases the respective resources for the conference in the media plane.
The network storage for the converged messaging can be implemented according to the requirements of user service customization and the service provider's policies. A session message meeting a specific rule is stored by the messaging system for backup. A user is allowed to freely adjust a storage rule for message or session history via negotiation with the service provider. In operating the service of CPM message contents on the network side, the CPM server operates on the network side the message contents, the session history and the multimedia data that is possibly contained in the CPM message and the session history. The operation includes storing, retrieving, deleting and updating.
During a session, the user A requests the CPM Server to store a history of the session. The CPM system also supports the storage of the message for requesting for implementing a session sent by a user before the session is made, or always implements the network storage of the CPM communication contents according to the service setting of the user. As shown in
Step 1: The CPM Client A sends a SIP REFER message to the SIP/IP Core. The Refer Method is set as “INVITE”.
Step 2: The SIP/IP Core forwards the SIP REFER to the CPM Server.
Step 3: When the CPM Server receives the SIP REFER message, the signaling controller in the CPM Server A analyzes the message and determines that the message is a network storage request for a session, and then branches the message to a storage controller in the CPM Server A to inform the CPM network storage entity to participate in the session being made as a virtual user. At the same time the session controller applies a session control policy which includes transactions such as updating the session state, determining the network storage of the session history and reporting the charging time. The specific execution path is determined according to the server policy and the user service setting. If the CPM Server accepts the network storage request for the session, the signaling manager sends a response message SIP 200 OK to the SIP/IP Core.
Step 4: The SIP/IP Core forwards the SIP 200 OK to the CPM Client A.
Step 5: The session between the user A and the user B continues. The CPM Client A sends a MSRP SEND message to the CPM Server. This message is received and processed by the media plane which has been allocated when the session is established in the CPM Server. Since the network storage entity has participated in the session, the media plane communicates the received MSRP SEND message to the network storage entity under the control of the storage controller, so as to actually store the history of the session. If the message is stored successfully, the storage controller sends a response message SIP 200 OK to the session controller.
Step 6 to Step 8: The media plane in the CPM Server sends the received MSRP SEND message to the CPM Client B via the SIP/IP Core. If the transmission of the message is successful, the CPM Client B returns a response message SIP 200 OK to CPM Client A via the media plane.
Step 9 to Step 12: The CPM Client B sends the MSRP SEND message to the CPM Client A via the CPM Server. Similarly, the storage controller receives the message and stores the message into the network storage entity. Similarly the storage controller receives the MSRP SEND message and stores the message into the network storage entity.
Step 13 to Step 14: The user A requests to terminate storing the history of the session. The CPM Client A sends a SIP REFER request message to the CPM Server via the SIP/IP Core. The Refer Method is set as “BYE”.
Step 15 to Step 16: When the CPM Server receives the SIP REFER, the signaling manager in the CPM Server performs signaling analysis on the message, determines that the message is a session network storage termination request, and branches the message to the storage controller so as to notify the storage controller to quit the session being made. At the same time, the session controller applies a session control policy which includes transactions such as updating the session state, determining the network storage of the history of the session and reporting the charging time. The specific execution path is determined according to the server policy and the user service setting. If the CPM server accepts the session network storage termination request, the signaling manager returns a response message SIP 200 OK to the CPM Client A via the SIP/IP Core.
At this time, the contents of the session between the users A and B will not be stored on the network side by the CPM Server while the session between the CPM users A and B will proceed.
The CPM server is provided with a third-party application controller to support message delivery or session between a CPM user and a third-party application. The CPM Client A makes a session with a third-party application. As shown in
Step 1 to Step 2: The CPM Client A sends a SIP INVITE message to the CPM Server via the SIP/IP Core. When the CPM Server receives the message, the signaling manager in the CPM Server analyzes the message and determines that the message is a session invitation to a third-party application. On one hand the signaling manager branches the message to a session controller in the CPM Server for applying a session control policy to the message. The session control policy includes transactions such as updating the session state, determining the network storage of a history of the session and reporting the charging time. The specific execution path is determined according to the server policy and the user service setting. On the other hand, the signaling manager preserves resources such as transport port at the user plane. In addition, to support interaction with the third-party application, the third-party application controller in the CPM Server performs necessary interfacing operations such as protocol translation and signaling format conversion on the message.
Step 3: The third-party application server in the CPM Server sends an Invite Request message resulting from conversion to the third-party application.
Step 4: The third-party application returns a response message Invite Response to the third-application controller in the CPM Server. Upon receipt of the response message, the CPM Server performs necessary interfacing operations such as protocol translation and signaling format conversion on the message. The signaling manager performs signaling analysis on the message to make a decision, and then branches the message to the session controller and processes the message in cooperation with the session media plane.
Step 5 to Step 6: The signaling controller in the CPM Server sends a response message SIP 200 OK to the Client A via the SIP/IP Core.
Step 7 to Step 8: The CPM Client A sends an ACK acknowledgement message to the CPM Server via the SIP/IP Core. When the CPM Server receives the ACK message, the signaling controller in the CPM Server performs signaling analysis on the message and determines that the message is a session invitation to a third-party application. On one hand the signaling manager branches the message to the session controller for applying a session control policy to the message. The session control policy includes transactions such as updating the session state, determining the network storage of the history of the session and reporting the charging time. The specific execution path is determined according to the server policy and the user service setting. In addition, to support interaction with the third-party application, the third-party application controller in the CPM Server performs necessary interfacing operations such as protocol translation and signaling format conversion on the message.
Step 9: The third-party application controller in the CPM Server sends the response message being converted to the third-party application.
At this time the session between the user A and the third-party application has been established successfully. In this example the CPM Client A and the third-party application make a Messaging session based on an MSRP channel with the support of the media plane and the third-party application controller of the CPM Server.
When the user A terminates the session with the third-party application, the procedure is implemented as follows.
Step 10 to Step 11: The CPM Client A sends a SIP BYE message to the third-party application via the SIP/IP Core and the CPM Server. The third-party application controller in the CPM Server performs interfacing operations such as protocol translation and signaling format conversion similar to those in the above described steps.
Step 12: The third-party application controller in the CPM Server sends a session terminate message Bye Request being converted to the third-party application.
Step 13: The third-party application returns a response message Bye Response to the third-party application controller in the CPM Server.
Step 14 to Step 15: The third-party application controller in the CPM Server translates the response message into a SIP 200 OK message and the signaling manager returns the SIP 200 OK message to the CPM Client A via the SIP/IP Core.
At this time the session between the user A and the third-party application is terminated. The CPM Server releases respective communication resources.
The interaction with the third-party application may be implemented by two approaches. One approach is that the client communicates a converged message with the third-party application. The other approach is that the client makes a session with the third-party application. The processing procedures of the two implementation approaches are similar to the above implementation procedure in principle.
The interconnection of the CPM system and a non-CPM system is relatively simple. The procedures for intercommunication of messages or sessions are similar to the procedures in the above Example 1 and Example 2. An interconnection entity serves as a participant of message delivery or a session. The interconnection entity sends a message to a server of the CPM system or the non-CPM system. The CPM server or the non-CPM server sends the message to the corresponding terminal. In this procedure, the interconnection entity performs protocol conversion and route searching as well as address translation similarly to the corresponding procedures as described in the above examples, which will not be repeated here.
When the CPM users are not in the same home network, the procedures for implementing a CPM service are similar to the procedures as described in the above examples, which will not be repeated here.
As shown in
Step 900: A CPM server receives a CPM message.
Step 901: The CPM server determines the service type according to the CPM message and determines a service server capable of processing the type of service according to the service type.
Step 902: The CPM server generates a message or a session request corresponding to the other service server from the CPM message and sends the message or session request to the service server for processing. Upon receipt of a CPM message from the service server, the CPM server sends the CPM message to the CPM client.
This embodiment provides another converged IP messaging system. As shown in
The service servers 92 are existing service servers including a presence server, an IM server, a PoC server, a voice service server, an audio server, an email server, an IMPS server, an MMS server, an SMS server and the like.
The transport network 93 may be a packet switched public data network, a circuit switched public data network, a network supporting Transmission Control Protocol/Internet Protocol, a general packet radio service network, a digital wireless phone network, an analog wireless phone network, a public switched telephone network, an integrated services digital network or a broadband integrated services digital network. This embodiment takes a SIP/IP core network as an example of the transport network 93.
The CPM client 90 allows a user to access a CPM service and can be deployed in a mobile or fixed terminal or an Internet accessing device. The CPM client supports the following functions:
1. performing the processes of registration and authentication from the CPM client to a SIP/IP Core;
2. sending/receiving CPM messages to/from other CPM clients and providing the user with a notification of the arrival of a message or an invitation;
3. allowing the user to set services according to different devices, contact addresses and media types; and
4. providing network-stored messages, multimedia contents and a user local storage and synchronization capability.
The CPM server 91 is configured to activate a corresponding application server when the client initiates a CPM message or session. The CPM server may be a proxy server and implement management functions such as selecting and distributing.
In implementing functions the CPM server 91 serves as a general proxy of the whole converged messaging service and converges and distributes signaling and media. The CPM server 91 parses the type of the server to which the request is to be sent according to a request of the initiator and selects a corresponding messaging server. The corresponding messaging server forwards the corresponding message or request to a corresponding CPM server 91 according to the received request and the corresponding CPM server 91 forwards the message or request to a corresponding client.
As shown in
The communication 910 is configured for the communication between the functional entities in the system, and defined to include the followings.
1. A First Interface (CM′-2 Interface)
The first interface is based on the SIP protocol, used for the communication between the CPM server and the SIP/IP core network, and supports:
2. A Second Interface (CM′-3 Interface)
The second interface is configured for the communication between the CPM client and the CPM server, and may implement transmission protocols required by media communication, such as Message Session Relay Protocol (MSRP), Real-time Transport Protocol (RTP)/Real-time Transport Control Protocol (RTCP) and Hyper Text Transport Protocol (HTTP), and supports:
3. The Third Interface (CM′-4 Interface)
The third interface is based on the XCAP protocol, used for the communication between the CPM server and the CPM XDMS, and supports:
The Fourth Interface (CM′-5 Interface)
The fourth interface is configured for the communication between the CPM server and the network storage entity, and may implement transmission protocols required by the media communication, such as MSRP, RTP and HTTP, and supports:
5. The Fifth Interface (CM′-6 Interface)
The fifth interface is based on a specific protocol such as SIP, used for the communication between the CPM server and a third-party application, and supports:
6. The Sixth Interface (CM′-7 Interface)
The sixth interface is configured for the communication between the CPM server and an interconnection entity, and supports:
7. A Seventh Interface (CM-10 Interface)
The seventh interface is based on the XCAP protocol, configured for the communication between the CPM server and the Shared XDMS, and supports:
8. An Eighth Interface (CH′-x Interface)
The eighth interface is configured for the communication between the CPM server and a charging entity, and supports:
9. A Ninth Interface (CM′-8 Interface)
The ninth interface is based on the media transport protocol, configured for the communication between the CPM server and a remote CPM server, and may implement various protocols required by the media communication, such as MSRP, RTP and HTTP, and supports:
10. A Tenth Interface (CM′-1 Interface)
The tenth interface is based on the SIP protocol, configured for the communication between the CPM client and the SIP/IP core network, and supports:
11. An Eleventh Interface (CM′-9 Interface)
The eleventh interface is based on the media transport protocol, configured for the communication between the CPM client and a remote CPM client, and may implement various protocols required by the media communication, such as MSRP, RTP and HTTP, and supports:
12. A Twelfth Interface (XDM′-3 Interface)
The twelfth interface is based on the XCAP protocol, configured for the communication between the CPM XDMS and the SIP/IP core network, and supports:
13. A Thirteenth Interface (XDM-4 Interface)
The thirteenth interface is based on the XCAP protocol, configured for the communication between the CPM XDMS and the XML document management entity, and supports:
14. LF′-1 Interface
This interface is configured for the communication between a non-CPM system and the network storage entity, and may implement various protocols required by the media communication, such as MSRP, RTP/RTCP and HTTP, and supports:
15. CL′-1 Interface
This interface is configured for the communication between a non-CPM client and the network storage entity, and may implement various protocols required by the media communication, such as MSRP, RTP/RTCP and HTTP, and supports:
16. IP′-1 Interface
This interface is based on the SIP protocol, configured for the communication between the SIP/IP core network and a remote SIP/IP core network, and supports:
17. XDM′-1 Interface
This interface is based on the SIP protocol, configured for the communication between an XDM client and the SIP/IP core network, and supports:
18. XDM′-2 Interface
This interface is based on the XCAP protocol, configured for the communication between the XDM client and the XML document management entity, and supports:
19. XDM′-5 Interface
This interface is based on the XCAP protocol, configured for the communication between the presence server and the XML document management entity, and supports:
20. XDM′-6 Interface
This interface is based on the SIP protocol, configured for the communication between the Shared XDMS and the SIP/IP core network, and supports:
21. XDM′-7 Interface
This interface is based on the XCAP protocol, configured for the communication between the Shared XDMS and the XML document management entity, and supports:
22. PRS′-1 Interface
This interface is based on the SIP protocol, configured for the communication between a presence client and the SIP/IP core network, and supports:
23. PRS′-2 Interface
This interface is based on the SIP protocol, configured for the communication between the presence server and the SIP/IP core network, and supports:
24. IWF′-1 Interface
This interface is based on the HTTP protocol, configured for the communication between the interconnection entity and an IMPS server, and supports:
25. IWF′-2 Interface
This interface is based on the HTTP protocol, configured for the communication between the interconnection entity and an MMS Proxy/Relay, and supports:
26. IWF′-3 Interface
This interface is based on the Short Message Peer-to-Peer (SMPP) protocol, configured for the communication between the interconnection entity and a Short Message Service Center (SMSC) server, and supports:
The interfaces described in the above sections 16 to 26 have been existed in the existing messaging system but now provide support for the deployment of the CPM service.
The CPM system according to this embodiment also includes the following functional entities.
A network storage entity 94 is configured to collectively store user data, and provides the following functions: a uniform user contact list independent from the communication service technologies, a separate message, history list and multimedia data; all network-stored data may be synchronized to a user terminal and can deploy a corresponding storage capability according to the user service setting and the operator policy.
A CPM XDMS entity 95 is configured to store specific information in XML document format and associated with a CPM service kept by a CPM user.
An XDM document management entity 96 is configured to provide access and control of a network-stored XML document for a CPM user and manage a CPM-specific XML document (such as a session history data document collectively stored by CPM or a user contact list in the Shared XDMS) stored on the network side, and provide an access control point of a network-stored XML document for an XDM client and perform authentication of the XDM client, XCAP route requesting and network-stored XML document searching.
A Shared XDMS entity 97 is configured to provide access and control of an XML document shared by OMA service functional entities (OMA Enabler) including the CPM functional entity.
Both the CPM XDMS entity 95 and the Shared XDMS entity 97 serve as an XCAP server to provide XML document management for CPM users.
A charging entity 98 is configured to receive charging time information reported from a CPM service and provide charging basis for the operator.
An interconnection entity 99 is configured to define standard interfaces for the interconnection between the CPM system and other systems, perform corresponding format conversion between a CPM message and a non-CPM message, and allow seamless interaction between a CPM user and a user of other non-CPM messaging system.
A third-party application entity 100 is configured to provide a third-party application service for a CPM user.
One or more remote CPM servers 101 are configured to perform remote CPM service interaction with the CPM server.
One or more remote CPM clients 102 are configured to perform remote CPM service interaction with the CPM client.
The above functional entities communicate with each other via the communication interfaces as defined above to implement service interaction.
The technical solutions according to the embodiments of the present invention will be described in detail by way of example in conjunction with the accompanying drawings.
The CPM Servers A and B are respectively CPM servers of the home networks of the CPM users A and B, the IM Servers A and B are respectively instant messaging servers of the home networks of the CPM users A and B, and the SIP/IP Cores A and B are respectively SIP signaling transport networks of the home networks of the users A and B. As shown in
Step 1: The users A and B want to chat with each other, and the CPM Client A sends a SIP MESSAGE to the SIP/IP Core A of its home network. The SIP MESSAGE can carry a CPM Feature Tag such as Accept-Contact: +g.cpm. The SIP/IP Core A identifies according to the feature tag that the SIP MESSAGE belongs to a CPM service.
Step 2: The SIP/Core A identifies according to the Accept-Contact: +g.cpm that the message is a CPM service request, and forwards the message to the CPM Server A.
Step 3: The CPM Server A receives the SIP MESSAGE and analyzes this message to determine that it is a message delivery request, and determines that the existing IM service can meet the requirements of message delivery. Then the CPM Server A adds a CPM reuse IM Feature Tag such as Accept-Contact: +g.cpmonim to the SIP MESSAGE and sends the message to the SIP/IP Core A.
Step 4: The SIP/Core A identifies according to the feature tag Accept-Contact: +g.cpmonim that the message is a CPM reuse IM message request and forwards the message to the IM Server A.
Step 5 to Step 7: Upon receipt of the SIP MESSAGE, the IM Server A processes the message according to a formal IM service logic, obtains the domain of the home network of the target user B by analyzing the Request URI in the message, and routes the SIP MESSAGE to the IM Server B in the home network of the user B via the SIP/IP Cores A and B.
Step 8: Upon receipt of the SIP MESSAGE, the IM Server B processes the message according to a formal IM service logic and then sends the message to the SIP/IP Core B.
Step 9: The SIP/IP Core B identifies according to the feature tag Accept-Contact: +g.cpm that the message is a CPM service request, and forwards the message to the CPM Server B.
Step 10 to Step 11: The CPM Server B forwards the SIP MESSAGE to the CPM Client B via the SIP/IP Core B.
Step 12 to Step 13: The CPM Client B sends a response message SIP 200 OK to the CPM Server B via the SIP/IP Core B.
Step 14 to Step 15: The CPM Server B sends the SIP 200 OK to the IM Server B via the SIP/IP Core B.
Step 16 to Step 18: The IM Server B sends a SIP 200 OK to the IM Server A via the SIP/IP Core B and the SIP/IP Core A.
Step 19 to Step 20: The IM Server A sends a SIP 200 OK to the CPM Server A via the SIP/IP Core A.
Step 21 to Step 22: The CPM Server A sends the SIP 200 OK to the CPM Client A via the SIP/IP Core A.
The CPM Servers A and B are respectively CPM servers of the home networks of the CPM users A and B, the IM Servers A and B and the PoC Servers A and B are respectively instant messaging servers and PoC servers of the home networks of the CPM users A and B, and the SIP/IP Cores A and B are respectively SIP signaling transport networks of the home networks of the users A and B.
In this embodiment it is assumed that a multimedia session initiated by the user A involves a text message and a half-duplex voice session. The existing IM and PoC services can meet the requirements of such a session and thus the service capabilities of the IM and PoC servers can be reused. As shown in
Step 1: The user A wants to initiate a multimedia session with the user B. The CPM Client A sends a SIP INVITE request to the SIP/IP Core A of its home network. The SIP INVITE message can carry a CPM Feature Tag such as Accept-Contact: +g.cpm. The SIP/IP Core A identifies according to the feature tag that the SIP INVITE belongs to a CPM Service.
Step 2: The SIP/IP Core A identifies according to the Accept-Contact: +g.cpm that the message is a CPM service request, and forwards the message to the CPM Server A.
The CPM Server A analyzes the received SIP INVITE and generates a SIP INVITE request for establishing a text message session and a SIP INVITE request for establishing a half-duplex voice session respectively according to the session establishment parameters contained in the received SIP INVITE, and sends the generated SIP INVITE requests to the exiting IM server and PoC server. There are a special IM Feature Tag and a special PoC Feature Tag are respectively added to the generated SIP INVITE messages to indicate special setting for IM and PoC services reused by the CPM server. These two generated SIP INVITE also include the same session identifier and sequence numbers indicating the SIP INVITE messages newly generated by the CPM server. For example, in the present embodiment, the CPM Server A newly generates the two SIP INVITE according to the received SIP INVITE request, and the sequence number of the SIP INVITE to be sent to the IM Server may be set as 1/2 and the sequence number of the SIP INVITE to be sent to the PoC Server may be set as 2/2.
Step 3 to Step 4: The CPM Server A adds CPM reuse IM Feature Tag such as Accept-Contact: +g.cpmonim to one of the newly generated SIP INVITE messages and send the SIP INVITE message to the IM Server A via the SIP/IP Core A (the SIP/IP Core A learns to send the SIP INVITE to the IM Server A according to the IM Feature Tag).
Step 5 to Step 6: The CPM Server A adds CPM reuse PoC Feature Tag such as Accept-Contact: +g.cpmonpoc to the other of the newly generated SIP INVITE messages and send the SIP INVITE message to the PoC Server A via the SIP/IP Core A (the SIP/IP Core A learns to send the SIP INVITE to the PoC Server A according to the PoC Feature Tag).
Step 7 to Step 9: Upon receipt of the SIP INVITE request, the IM Server A processes the request according to a formal IM service logic, obtains the domain of the home network of the target user B by analyzing the Request URI in the request, and routes the SIP MESSAGE to the IM Server B in the home network of the user B via the SIP/IP Cores A and B.
Step 10 to Step 12: Upon receipt of the SIP INVITE request, the PoC Server A processes the request according to a formal PoC service logic, obtains the domain of the home network of the target user B by analyzing the Request URI in the request, and routes the SIP MESSAGE to the PoC Server B in the home network of the user B via the SIP/IP Cores A and B.
Step 13 to Step 14: Upon receipt of the SIP INVITE request, the IM Server B processes the request according to a formal IM service logic and sends the request to the SIP/IP Core B. The SIP/IP Core B identifies according to the Accept-Contact: +g.cpm that the request is a CPM service request and forwards the request to the CPM Server B.
Step 15 to Step 16: Upon receipt of the SIP INVITE request, the PoC Server B processes the request according to a formal PoC service logic and sends the request to the SIP/IP Core B. The SIP/IP Core B identifies according to the Accept-Contact: +g.cpm that the request is a CPM service request and forwards the request to the CPM Server B.
Step 17 to Step 18: After subsequently receiving two SIP INVITE requests with the same session identifier, the CPM Server B determines in conjunction with the respective subsequence numbers contained in the SIP INVITE requests that these two SIP INVITE requests are generated from the same CPM SIP INVITE. The CPM Server B restores the SIP INVITE request initiated by the user A according to the session establishment parameters carried in the two SIP INVITE requests, and forwards the restored SIP INVITE request to the CPM Client B via the SIP/IP Core B.
Step 19 to Step 20: The CPM Client B returns a response message SIP 200 OK to the CPM Server B via the SIP/IP Core B.
Step 21 to Step 22: The CPM Server B sends the SIP 200 OK to the IM Server B via the SIP/IP Core A according to the CPM reuse IM Feature Tag such as Accept-Contact: +g.cpmonim contained in the SIP 200 OK.
Step 23 to Step 24: The CPM Server B sends the SIP 200 OK to the PoC Server B via the SIP/IP Core A according to the CPM reuse PoC Feature Tag such as Accept-Contact: +g.cpmonpoc contained in the SIP 200 OK.
Step 25 to Step 27: Upon receipt of the SIP 200 OK response, the IM Server B processes the response according to a formal IM service logic and sends a SIP 200 OK to the IM Server A in the home network of the user A via the SIP/IP Cores A and B.
Step 28 to Step 30: Upon receipt of the SIP 200 OK response, the PoC Server B processes the response according to a formal PoC service logic and sends a SIP 200 OK to the PoC Server A in the home network of the user A via the SIP/IP Cores A and B.
Step 31 to Step 32: Upon receipt of the SIP 200 OK response, the IM Server A processes the response according to a formal IM service logic, identifies that the response corresponds to the CPM service request according to the Accept-Contact: +g.cpm, and returns a response to the CPM Server A via the SIP/IP Core A.
Step 33 to Step 34: Upon receipt of the SIP 200 OK response, the PoC Server A processes the response according to a formal PoC service logic, identifies that the response corresponds to the CPM service request according to the Accept-Contact: +g.cpm, and returns a response to the CPM Server A via the SIP/IP Core A.
Step 35 to Step 36: After subsequently receiving two SIP 200 OK responses with the same session identifier, the CPM Server A determines in conjunction with the respective subsequence numbers contained in the SIP 200 OK responses that these two responses are responses for the same CPM SIP INVITE. The CPM Server A generates a new SIP 200 OK corresponding to the initial CPM SIP INVITE request from the two received responses, and forwards the new SIP 200 OK message to the CPM Client A via the SIP/IP Core A.
Step 37 to Step 54: Similar to the procedure for processing the SIP INVITE message as described above, the CPM Client A returns an acknowledgement message ACK to the CPM Client B.
At this time a session channel involving a text message and a voice session has been established. The CPM Clients A and B can make a session through the MSRP channels established between the CPM Clients A and B and the respective IM Servers and the RTP channels established between CPM Clients A and B and the respective PoC Servers.
When a CPM user requests to terminate the session, the client of the CPM user sends a SIP BYE request to the client of the target user. The procedure for processing the message transferred between the two clients are similar to that for processing the SIP INVITE message as described above and will not be repeated here.
The CPM Servers A and B are respectively CPM servers of the home networks of the CPM users A and B, the IM Server A, and the PoC Server A and the VoIP Server A are respectively instant messaging server, PoC server and VoIP server of the home network of the CPM user A. The CPM server initiates a conference and sends a message to the IM server, the PoC server and the VoIP server respectively to activate the conference. The service servers establish different types of sub-conferences. For example, the IM server establishes a basic message type of conference, the PoC server establishes a half-duplex conference and the VoIP server establishes a voice or video conference. The CPM server converges the conferences into one conference stream and sends the conference stream to a corresponding CPM client. As shown in
Step 1 to Step 4: The CPM Server A activates the conference according to a predetermined conference policy. The CPM Server A finds that the service required by the conference includes a message session and a half-duplex voice session, and sends SIP REFER messages respectively to the IM Servers A and B and the PoC Server A to invite the users A, B1 and B2 to participate in the conference. The messages each carry a CPM Feature Tag and are designated with respective sequence numbers.
Step 5 to Step 8: The IM Server A and the PoC Server A establish their respective conference Focuses, and sends a SIP INVITE message to each participant of the conference via the CPM server since the received messages each carry a CPM Feature Tag. The SIP INVITE messages carry the same CPM conference Feature Tag. Since the received SIP INVITE messages targeted to the client A in the local domain carry the same CPM conference Feature Tag, the CPM server A converges the two SIP INVITE messages according to the subsequence numbers and the Feature Tag until receiving the two SIP INVITE messages and then forwards the converged message to the client A. The IM Server A and the PoC Server A obtain the routes to the client B1 and B2 by searching and sends the invitation message to the IM Server B and the PoC Server B.
Step 9: The CPM Server B converges the two invitation messages targeted to the clients B1 and B2 into one invitation message and modifies the IM and PoC Feature Tags to be a CPM Feature Tag in the converged invitation message, and sends the converged invitation message to the CPM client B1.
Step 10 to Step 19: The CPM Client B1 sends a response message to the IM Server A and the PoC Server A via the CPM Server B and the IM Server B and the PoC Server B, participates in the conference and establishes a conference session media channel. The procedure for the CPM Client B2 to participate in the conference and establish a conference session media channel is similar to that for the CPM Client B2 as described above and will not be repeated here.
Step 20 to Step 28: The IM Server A and the PoC Server A invite the CPM Client A to participate in the conference by sending a SIP INVITE message to the CPM Client A and finally establishes a conference session media channel between the conference Focus and the CPM Client A.
At this time the CPM Clients A, B1 and B2 participate in the message session conference held by the IM Server A and the half-duplex voice session conference held by the PoC Server A respectively under the control of the CPM Servers A and B. The users communicate with each other through the conference session channels as established above.
For the CPM system according to the second embodiment, when to operate contents of a message, a history of a session and media data contained in the message and the history of the session on the network side, the service servers specifically operate the contents of the CPM message, the history of the session and the media data contained in the CPM message and the history of the session stored in the network storage entity according to the signaling requests of the CPM Server. For example, when a separate SIP MESSAGE is sent, the unified storage portion in the network stores the CPM message into itself via the interfaces with the IM server and the PoC server according to the setting and preference of the user. When to store the contents of a session, the unified storage portion stores the corresponding message or history of the session into the network storage unit via the interfaces with the IM server and the PoC server.
In the present embodiment, when communicating with a third-party application, the CPM server communicates with the third party via an interface and the SP. The third-party application equals to a participant of the session or message intercommunication. The detailed procedure for this will not be repeated here.
A CPM system for implementing converged IP messaging is provided in this embodiment. As shown in
The service servers 131 are existing service servers including a presence server, an IM server, a PoC server, a voice service server, an audio server, an email server, an IMPS server, an MMS server, an SMS server and the like.
The transport network 132 may be a packet switched public data network, a circuit switched public data network, a network supporting Transmission Control Protocol/Internet Protocol, a general packet radio service network, a digital wireless phone network, an analog wireless phone network, a public switched telephone network, an integrated services digital network or a broadband integrated services digital network. This embodiment takes a SIP/IP core network as an example of the transport network 132.
The CPM client 130 includes: a service function module 1300, configured to send a CPM message and receive a CPM message; a service control module 1301, configured to determine the service type according to the received message and trigger a corresponding service function module according to the service type; and a user interface module 1302, configured to send the received message and the message initiated by the user to the service control module.
The service function module 1300 includes one or more of an XDM module, a PRS module, an IM module, a PoC module, a voice module, an audio module, an email module, an SMS module, an MMS module and an IMPS module.
As shown in
Step 140: After editing a message through the user interface module, a user sends the message to the service control module.
Step 141: The service control module determines the service type and determines a service function module to process the type of service according to the service type.
Step 142: The service control module sends the message with a corresponding sending mode.
As shown in
Step 150: A user initiates a session and selects a media type in the session through the user interface module.
Step 151: The service control module determines the service type of the session according to the media type and triggers a service function module to process the service. If the user selects a half-duplex voice session, the service control module selects to trigger the PoC function module. If the user selects to make an instant chat with text, the service control module selects the IM service function module. If the user selects video and text simultaneously, the service control module triggers the video function module and the IM function module simultaneously.
Step 152: The service function module initiates a corresponding session. When a session with multiple service types such as the IM service and the video service, the user interface module converges the two services into one service in the user plane. Accordingly the user can make video chat and text chat simultaneously.
As shown in
Step 160: The user interface module receives a session request and sends the session request to the service control module.
Step 161: The service control module determines the service type according to the session request and triggers a corresponding service function module.
Step 162: The service function module processes the session.
In the embodiments of the present invention, after receiving a CPM message, the CPM server determines the service type according to the CPM message and performs corresponding signaling control. For a service requiring media transport channel, the CPM server determines the media type of the service, configures corresponding media resources and establishes a media transport channel according to the media type, and processes the contents of the CPM message according to a processing procedure corresponding to the service type. Alternatively, after receiving a CPM message, the CPM server determines the service type according to the CPM message and determines other service server capable of processing the service according to the service type, generates a message and/or session request corresponding to the other service server from the CPM message and sends the generated message and/or session request to the other service server for processing, and after receiving a CPM message from the service server, sends the CPM message to the CPM client. In this way the present invention can provide a converged service experience to users and overcome the overlapping of user experiences due to the intersection of the technology capabilities of the non-CPM services. Therefore the methods according to the embodiments of the present invention can improve the user's service experience.
It is apparent that those skilled in the art can make various modifications and variations to the present invention without departing from the spirit and scope of the present invention. Therefore the present invention intends to cover the modifications and variations if these modifications and variations are within the scope of the claims of the present invention and the equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2007 10001162.7 | Jan 2007 | CN | national |
2007 10000419.7 | Feb 2007 | CN | national |
This application is a continuation of International Application No. PCT/CN2008/000104, filed on Jan. 15, 2008, which claims priority to Chinese patent application No. 200710001162.7, filed on Jan. 19, 2007 and Chinese patent application No. 200710000419.7, filed on Feb. 5, 2007, all of which are incorporated herein by reference in their entireties.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2008/000104 | Jan 2008 | US |
Child | 12504007 | US |