The present invention relates to the communication field, and particularly to a method of calling between terminals applying different communication protocols in a packet-based multimedia communication system.
As the Internet is developing rapidly, packet-based data services are becoming more and more important. Many conventional voice services will be substituted by or integrated into packet-based services, which is the development direction of a Next Generation Network (NGN). Voice over IP (Internet Protocol), for example, is to provide conventional voice services based upon packet-based transmission over the Internet.
In a conventional telephone system, certain signaling is required to cooperate from setting up a system connection till releasing the connection so as to complete a call. Similarly, in the Voice over IP (VoIP), a signaling system, i.e. a protocol, is also required as to how to discover a called party, how to make a reply, and how to transmit data in accordance with data processing capabilities of both parties. Presently in the world, influential protocols for the VoIP include the packet-based multimedia communication system (H. 323) protocol put forth by the Internet Telecommunication Union-Telecommunication Standardization Sector (ITU-T) and the Session Initial Protocol (SIP) put forth by the Internet Engineering Task Force (IETF).
In order to deploy a multimedia conference over a packet switching network that does not guarante Quality of Service (QoS), the 15th study group of the ITU presented the H. 323 Ver.1 in 1996 and the H. 323 Ver.2 in 1998. The H. 323 constitutes a standard for a multimedia communication system over non-QoS guaranteed Packet-Based Networks (PBN), which dominate today's desktop network systems, including the Ethernet based upon TCP/IP and IPX packet switching, the fast Ethernet, the token network, and the FDDI technique. Therefore, the H.323 standard provides a technical basis and guarantee for multimedia communication applications over internets such as a LAN, a WAN, etc.
The H.323 provides a multimedia communication standard for existing PBN (e.g., an IP network). Once combined with other IP techniques, such as the Resource Reservation Protocol (RSVP) of the IETF, the H. 323 would be able to implement a multimedia communication over the IP network. The IP-based LAN is becoming increasingly powerful and its bandwidth is increasing continuously. Since the H. 323 provides interoperation capabilities between devices, between applications, and between providers, it will guarantee a interoperabilities between all H. 323-compatible devices.
As a whole, the H. 323 is a framework construction which relates to contents of terminal devices, video/audio/data transmission, communication controls, network interface, as well as devecies such as multipoint control units, multipoint controllers, multipoint processors, gateways, gate keepers and the like, which form a multipoint conference. Its fundamental component element is a “domain”, one domain comprising at least one terminal and necessarily possessing only one gate keeper. In a H. 323 system, various logical component parts are referred to as H. 323 entities, including the terminals, the gateways, etc, wherein the terminals, the gateways, and the multipoint control units are terminal devices in the H. 323 system and logical units in the network. The terminal devices can make a call or be called, while some entities, such as the gate keepers, can not be called. The H. 323 involves an end-to-end connection method between the H. 323 terminals and other terminals over different networks.
The SIP is an application control (signaling) protocol put forth by the IETF, for initiating a session. It can be used to create, modify and terminate a multimedia session process in which multiple participants participate. Members who participate in the session can communicate with each other in a way of multicasting, monocasting networking, or a combination of both. There are a client and a server in the SIP. The client refers to an application program that establishes a connection with the server in order to send a request to the server. The client is included in a user agent and a proxy. The server is an application program that provides a service and returns a reply to the request from the client.
For the SIP, there are four kinds of basic servers: a user agent server which communicates with a user upon receipt of an SIP request and returns a response on behalf of the user; a proxy server which initiates a request on behalf of other clients, and serves as both a server and an intermediary program for the clients, and can modify contents in an original request message prior to forwarding the request; a redirect server which receives an SIP request and maps an original address in the request to none or multiple new addresses, and returns the new addresses to a client; and a registration server which receives a registration request from a client and accomplishes a registration of a user address. A user terminal program is usually required to include the user agent client and the user agent server. It can be seen that the proxy server, the redirecting server and the registration server are public network servers.
In terms of the SIP design, its extendable adaptability to other protocols has been taken into sufficient consideration. The SIP supports various address descriptions and addressing, including descriptions such as a user name@host address, a called number@PSTN (Public Switching Telecommunication Networks) gateway address, a common telephone number, etc. Thus, a SIP calling party can identify the location of a called party in a conventional telephone network according to a called address, and then initiates and establishes a call through a gateway connected to the conventional telephone network. The most powerful feature of the SIP is a function of locating a user. The SIP itself has a function of registering with the registration server, and the function of locating can be enhanced by means of location services provided by other location servers.
The SIP defines six kinds of signaling: INVITE, ACK, CANCEL, OPTIONS, BYE, and REGISTER, wherein INVITE and ACK are used to establish a call and accomplish handshaking three times, or to modify a session attribute after the establishment; BYE is used to terminate a session; OPTIONS is used to query for the capability of a server; CANCEL is used to cancel a request that has been issued but not yet ended ultimately; REGISTER is used for a client to register information such as user location or the like with the registration server.
The H.323 protocol was presented earlier and its major idea of design was based upon a conventional telephone mode, while the SIP protocol was presented later and uses the idea of design from the Internet Protocol for reference. At present, the H. 323 protocol is widely used in the VoIP. However, it is certain in the long term that the H.323 will be substituted by the SIP. Therefore, the intercommunication between the two major protocols of H.323 and SIP becomes important in the current transition period. Although they are from two different organizations and are different in the idea of design, they are almost identical in content, i.e. foucsing on various signaling of telephones, only different in the ways they are implemented. At present, the intercommunication between the H.323 and the SIP can be implemented through the technique of soft switch. Nevertheless, some problems have to be solved in practical applications, because the two major protocols differ from each other in many aspects.
A H.323 terminal can be classified as two kinds, i.e., a normal-start terminal and a fast-start terminal, depending on different startup process thereof. Upon initiation of a connection, the normal-start terminal does not carry media information which is obtained through subsequent negotiation, while the fast-start terminal carries the media information, and thus the startup thereof is faster. Since the H.323 fast-start terminal carries the media information upon initiation of a connection, the H.323 terminal can be called through a SIP relay. A PBN in which an H.323 call is made through a SIP relay includes two soft switches, a calling H.323 terminal and a called H.323 terminal. Here, the calling H.323 terminal initiates a call, through the H.323, to the soft switch at the calling side, which in turn converts the call into an SIP call to the soft switch at the called side, which then converts the call back into H. 323 signaling, until the H. 323 terminal is called.
Due to limitations of the protocol, the normal-start H.323 terminal can not call a H.323 terminal through the SIP relay. The reason is that when the H. 323 normal-start terminal initiates a call, media information can not be provided during the startup, and therefore Session Description Protocol (abbreviated as “SDP”) information can not be created in an SIP session such that the SIP relay can not continue. Particularly, when the normal-start H.323 terminal initiates a call, the Q.931 call signaling SETUP, which is sent by the normal-start H.323 terminal to the soft switch, carries no Open Logic Channel information representative of the media information. The soft switch at the calling side maps the message to an INVITE message of the SIP which is sent to the soft switch at the called side. Since no Open Logical Channel information is received from the normal-start H.323 terminal, the INVITE message sent to the soft switch at the called side by the soft switch at the calling side carries no SDP information. Upon receipt of the INVITE message sent from the soft switch at the calling side, the soft switch at the called side maps the message into a SETUP message of the H.323 which is sent to the called H.323 terminal. Likewise, this SETUP message carries no Open Logical Channel information either. After the called H.323 terminal receives the SETUP message, no Open Logical Channel information can be carried in a subsequent CONNECT message that is sent to the soft switch at the called side, due to the absence of the Open Logical Channel information. Upon receipt of the CONNECT message from the called H.323 terminal, the soft switch at the called side shall map the message to a 200 OK message of the SIP which is sent to the soft switch at the calling side. However, due to the absence of the Open Logical Channel information in the CONNECT message, the mapped 200 OK message of the SIP contains no SDP information, which does not comply with the SIP specifications. Thus, the call has to be released by the soft switchs, with the entire call being unsucessful.
In view of the forgoing, an embodiment of the present invention provides a method of calling between terminals in packet-based multimedia communication system, by which a normal-start H.323 terminal can call a H. 323 terminal through SIP relay.
An embodiment of the present invention provides a method of calling between terminals in a packet-based multimedia communication system, wherein when a calling H.323 terminal is a normal-start terminal, the method includes the steps of:
A) a calling H.323 terminal and a called H.323 terminal initiating a call and sending back a response respectively, during which a conversion between H.323 signaling and Session Initiation Protocol (SIP) signaling is performed through an SIP domain;
B) a logic function entity at the called side constructing Session Description Protocol (SDP) information, and forming and sending a SIP message to a logic function entity at the calling side through the SIP domain; and
C) the calling H.323 terminal and the called H.323 terminal obtaining information of and establishing communication with each other.
Preferably, the logic function entity may be a soft switch or an IMS (IP Multimedia Subsystem).
Preferably, the SIP domain may include a process of SIP relay performed by the logic function entity at the calling side and the logic function entity at the called side; or the SIP domain may include multiple processes of SIP relay performed by multiple logic function entities including the logic function entity at the calling side and the logic function entity at the called side.
Preferably, the step of constructing the SDP information in step B) may include the step of creating virtual SDP information.
Preferably, the SDP information constructed by the logic function entity at the called side may include information of coding/decoding capabilities of the called H. 323 terminal, a call signaling address of the logic function entity at the called side, and a call signaling port number of the logic function entity at the called side.
Preferably, the step of constructing the SDP information in step B) may be performed based upon information related to an H. 245 connection established by the called H. 323 terminal.
Preferably, step C) may further include the steps of:
C1) the logic function entity at the calling side obtaining and sending the information of the calling H. 323 terminal to the logic function entity at the called side;
C2) the logic function entity at the called side obtaining and sending the information of the called H. 323 terminal to the logic function entity at the calling side; and
C3) the calling H. 323 terminal obtaining real media information of the called H. 323 terminal through a meida redirection so as to establish a normal call.
Preferably, the step of constructing the SDP information in the step B) is performed based upon information related to a H. 245 connection established by the called H. 323 terminal;
step C1) may include the steps of: the logic function entity at the calling side establishing the H. 245 connection with the calling H. 323 terminal, and obtaining the information of the calling H. 323 terminal through an interaction of H. 245 signaling;
step C2) may include the steps of: the logic function entity at the called side continuing the interaction of H. 245 signaling with the called H. 323 terminal, and obtaining and sending the information of the called H. 323 terminal to the logic function entity at the calling side; and
step C3) may include the steps of: the logic function entity at the calling side performing a media redirection process with the callig H.323 terminal which obtains the information of the called H. 323 terminall; and the calling H.323 terminal and the called H.323 terminal establishing a normal communication.
Preferably, the step of constructing the SDP information in step B) may include the steps of: creating the SDP information comprising H. 245 address information of the called H. 323 terminal; and setting a flag for identifying that the SDP information includes the H.245 address information.
Preferably, the step of constructing the SDP information in step B) may be performed based upon the H.245 address information included in a message from the called H. 323 terminal.
Preferably, the set flag may be voice coding/decoding information in the SDP information.
Preferably, the step C) may include the steps of:
the logic function entity at the calling side obtaining the H. 245 address information of the called H. 323 terminal in accordance with the flag, and sending a message to notify the calling H. 323 terminal;
the calling H. 323 terminal and the called H. 323 terminal establishing an H. 245 connection and negotiating a media communication.
Preferably, the method may further include the steps of: in case the negotiation is unsucessful, the calling H. 323 terminal sending a RELEASE message to the logic function entity at the called side to release the SIP connection between the logic function entity at the calling side and the logic function entity at the called side.
The main difference between the technical solutions of the present invention and those of the prior art lies in that, during an SIP relay process, according to the embodiements, a logic function entity at a called side constructs SDP information, and forms and sends an SIP message to a logic function entity at a calling side, enabling the SIP relay to continue. Thus, calling and called terminals can obtain a knowledge of each other during a subsequent process, and establish a normal call, so that the problem of calling from an H. 323 normal-start terminal to an H. 323 terminal is solved, the applications of the H. 323 in various networks are generalized, the qualities and performances of network services are improved, and particulary, an integral solution for the NGN is optimized.
In a preferred embodiment of the present invention, virtual SDP information is constructed and added in an SIP 200 OK message so that the SIP relay may be continued. An H.245 interaction process is divided so that information such as capabilities, an address, a port number and the like of an H. 323 terminal may be obtained. Both parties may have the knowledge of each other through a media redirection, and a normal call can thus be established. Alternatively, the specific SDP information for carrying H.245 address information of the called H. 323 terminal is identified by specific coding/decoding information, and sent to the calling H. 323 terminal through the SIP relay. Both of the parties can establish a media communication through a negotiation. Obvious and beneficial effects may result from the present invention, that is, due to the implemention of a SDP information construction and an SIP relay call, the problem of calling from a H. 323 normal-start terminal to an H. 323 terminal is solved, the applications of the H. 323 in various networks are generalized, the qualities and performances of network services are improved, and particulary, an integral solution for the NGN is optimized.
Hereafter, the technical solutions and advantages of the present invention will become more apparent by describing in further details the embodiments of the present invention with reference to the drawings.
In general, the principle of the present invention lies in that, virtual SDP information may be constructed and added in an SIP 200 OK message which is sent back to a logic function entity (e.g, a soft switch, and for clarity, we will take a soft switch as an example hereinafter) at a calling side from a logic function entity (e.g, a soft switch, and for clarity, we will take a soft switch as an example hereinafter) at a called side, so that an SIP signaling interaction is able to be performed normally. In addition, a communication process of the H. 245, i.e., the control protocol of H.323, may be divided into multiple sub-processes that are used respectively to obtain information of a calling terminal at the soft switch at the calling side and to obtain information of a called terminal at the soft switch at the called side. In the end, the calling terminal can obtain real media information of the called terminal through a media redirection, and thereby a normal call is established.
Alternatively, special SDP information can be constructed, and information such as H.245 address information or the like, which is sent back from the called terminal, may be added to the special SDP information at the soft switch at the called side, and a flag may be set to notify the soft switch at the calling side that the SDP information has transfered the H.245 address information. The calling terminal and the called terminal negotiate with each other in accordance with the H.245 address and communicate with each other in accordance with the result of the negotiation. The SIP communication will be canceled if the negotiation fails.
According to the H.323 standard, upon initiation of a call to an H.323 terminal, a calling H.323 normal-start terminal sends a SETUP message to a soft switch at a calling side first. Upon the receipt of the SETUP message, the soft switch at the calling side convertes it into a SIP INVITE message which is sent to a soft switch at a called side. Upon the receipt of the INVITE message, the soft switch at the called side converts it into an H.323 SETUP message which is sent to a destined called H.323 terminal. Thus, an H.323 call is called successfully from the calling H.323 terminal to the called H.323 terminal through the translation and the forwarding at the soft switches at the calling and the called sides. At this time, through the same path, an ALERTING from the called H.323 terminal is translated into an SIP 180 message by the soft switch at the called side, and the SIP 180 message is forwarded to the soft switch at the calling side, until the ALERTING is sent back to the calling H.323 normal-start terminal.
Next, upon receipt of a CONNECT message from the called H.323 terminal, the soft switch at the called side establishes an H.245 connection with the called H.323 terminal. The called H.323 terminal sends a Terminal Capability Set (TCS) message. Upon receipt of the TCS message, the soft switch at the called side will return a TCS Acknowledgement (TCSACK) message to the called H.323 terminal according to the protocol.
Also, the soft switch at the called side creates virtual SDP information, which includes real capabilities of the called H.323 terminal as well as a call signaling address and a port number of the soft switch at the called side. Based upon the virtual SDP information, the soft switch at the called side can send an SIP 200 message in which the virtual SDP information is included to the soft switch at the calling side according to the SIP protocol. Thus, the message conforms to the SIP protocol standard, and will not be cancelled.
After that, upon receipt of the SIP 200 message from the called side, the soft switch at the calling side sends a CONNECT message to the calling H.323 terminal. In the CONNECT message, an H.245 Address field is filled with the address of the soft switch at the calling side, and the calling H.323 terminal receives the CONNECT message and thereby establishes an H.245 connection with the soft switch at the calling side. Through the H.245 connection, the soft switch at the calling side, using the virtual media information, exchanges H.245 messages with the calling H.323 terminal, and then obtains real media information including the capabilities, the logical channel address, the port number and the like of the calling H.123 terminal. Here, the H.245 interaction process includes signaling interaction processes such as TCS/TCSACK, Master Slave Determination (MSD)/MSDACK, Open Logical Channel (OLC)/OLCACK, etc.
The soft switch at the calling side sends the real media information of the calling H.323 terminal, through a ACK message, to the soft switch at the called side, which in turn continues to finish the interaction process of H.245 messages, including signaling interaction procedures such as TCS/TCSACK, MSD/MSDACK, OLC/OLCACK and the like, with the called H.323 terminal. Thus, the called H.323 terminal obtains the real media information of the calling H.323 terminal.
Also, through the interaction process of H.245 messages between the soft switch at the called side and the called H.323 terminal, the soft switch at the called side also obtains the real media information of the called H.323 terminal, and in turn sends it to the soft switch at the calling side through an INVITE message.
In the end, the soft switch at the calling side performs a media redirection process with the calling H.323 terminal which obtains the real media information of the called H.323 terminal through the media redirection. Thus, the calling and the called H.323 terminals has the knowledge of the real media information of each other, and a normal call can thereby be established.
In another embodiment of the present invention, the calling and the called H.323 terminals can negotiate directly according to H.245 address information of the terminals and perform a further communication according to the result of the negotiation, by means of constructing special SDP information to carry the H.245 address information and transferring it between each other through a SIP 200 OK message.
In fact, a major reason for a call failure lies in that, the soft switch at the called side, upon sending the SIP 200 OK message, does not obtain logical channel information of the called H.323 terminal, and thus it is impossible to construct the SDP information. To solve the problem, it is critical as to how to construct the SDP information to enable the SIP 200 OK message to be sent back successfully to the soft switch at the calling side. It can be seer from an analysis of the H.323 protocol that the CONNECT message sent by the called H.323 terminal includes no logical channel information, but includes H.245 connection address information of the terminal, including an IP address and a port number and the like. Therefore, in another embodiment of the present invention, the SIP interaction is continued by constructing the special SIP information to carry the H.245 address information.
According to the H.323 standard, upon initiation of a call to an H.323 terminal, a calling H. 323 normal-start terminal sends a SETUP message to a soft switch at a calling side first. Upon the receipt of the SETUP message, the soft switch at the calling side convertes it into an SIP INVITE message which is sent to a soft switch at a called side. Upon the receipt of the INVITE message, the soft switch at the called side converts it into an H.323 SETUP message which is sent to a destined called H.323 terminal. Thus, an H.323 call is called successfully from the calling H. 323 terminal to the called H. 323 terminal through the translation and the forwarding at the soft switches at the calling and the called sides. At this time, through the same path, an ALERTING from the called H. 323 terminal is translated into an SIP 180 message by the soft switch at the called side, and the SIP 180 message is forwarded to the soft switch at the calling side, until the ALERTING is sent back to the calling H.323 normal-start terminal.
Next, upon the receipt of a CONNECT message from the called H.323 terminal, the soft switch at the called side obtains H.245 address information of the called H.323 terminal according to the CONNECT message, stores the H.245 address information in SDP information, and sets a flag indicating that the SDP information bears the H.245 address information. In a preferred embodiment of the present invention, voice coding/decoding information in the SDP information is used as the flag. For instance, a specific internal value, which has been negotiated between the soft switches at the calling and the called sides, may be filled to identify that information in the SDP information is used to store the H.245 address information of the called H.323 terminal. Information such as an address, a port number or the like in the SDP information may be filled with the H.245 address information, and other information in the SDP information may be a default value. With such SDP information, the soft switch at the called side can send an SIP 200 message, which includes the identified SDP information, to the soft switch at the calling side according to the SIP protocol. Therefore, the message complies with the SIP protocol standard and will not be canceled.
Accordingly, upon the receipt of the 200 OK message from the soft switch at the called side, the soft switch at the calling side can know, in accordance with the voice coding/decoding value in the SDP information, that SDP contents in the message are not general SDP contents but contains the H.24 address information of the called H.323 terminal, and thus can extract the H.245 address information of the called H.323 terminal from the SDP information. Then, the soft switch at the calling side can send the H.245 address information to the calling H.323 terminal through a CONNECT message. Also, the soft switch at the calling side is required to send an SIP ACK message to the soft switch at the called side.
Upon the receipt of the CONNECT message containing the H.245 address information of the called H.323 terminal, the calling H.323 terminal starts the H.245 negotiation. The calling and the called H.323 terminals finally perform a voice/video communication using the result of the negotiation. Also, the soft switch at the calling side sends the SDP information in the received 200 OK message to the soft switch at the called side through an ACK message, and thus the soft switch at the called side can know, from the voice coding/decoding value in the SDP, that the SDP is different from a general SDP.
If the negotiation between the calling and the called H.323 terminals is not successful in the end, the calling H.323 terminal sends a RELEASE message to the soft switch at the calling side, which in turn sends an SIP Bye message to the soft switch at the called side, releasing the called side and the SIP connection.
Alternatively, the soft switch described above may be replaced by an IMS (IP Multimedia Subsystem) or other logic function entities, which is obvious to the skilled in the art.
In another embodiment of the present invention, the SIP domain between a calling H.323 terminal and a called H.323 terminal may include multiple processes of SIP relay which are performed by multiple logic function entities including a soft switch at the calling side and a soft switch at the called side, as will be appreciated by those skilled in the art.
While the present invention has been illustrated and described with reference to some presently preferred embodiments of the present invention, those skilled in the art shall appreciate that various changes, variations, modifications, alterations, substitutions or the like in any aspect can be made without departing from the spirit and scope of the present invention as defined by the accompanying claims.
Number | Date | Country | Kind |
---|---|---|---|
200510034410.9 | Apr 2005 | CN | national |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN06/00358 | Mar 2006 | US |
Child | 11482189 | Jul 2006 | US |