Abstract:
A system and method to allow voice conference to pass through Internet/Intranet, which include network address translator (NAT). The system also includes an Internet Phone device, a regular PSTN phone, a VoIP gateway and a conference server. The server sends command and data either using transmission control protocol (TCP) or user datagram protocol (UDP), depending on the configuration and protocol requirements of each server. This method is compatible with existing communication standards, such as ITU H.323, session initiation protocol (SIP), media gateway control protocol (MGCP) and media gateway control (MEGACO).

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     This invention relates to a transmission method for voice data communications over a network. More particularly, the present invention relates to a transmission method and system to enable voice data communication through corporate Intranets or the Internet.  
         [0003]     2. Related Art of the Invention  
         [0004]     Voice/video over Internet Protocol (VoIP) is a vital application over the Internet and corporate intranets. Most of the major telecommunication carriers are ready for the mass deployment of VoIP services. Voice conference is one of the major applications for VoIP. Traditionally, callers use analog/digital phone to make call through PSTN conference bridge for conferencing. This type of traditional voice conference can not handle calls originating from the Internet that conform to standard VoIP protocol such as H323, and SIP.  
       SUMMARY OF THE INVENTION  
       [0005]     The present invention is to provide a method and system enabling voice conference via conference servers, which allows communication between callers.  
         [0006]     The present invention supports callers originating from regular PSTN or the Internet using VoIP.  
         [0007]     The present invention supports one caller calling through Internet Phone and the other caller through PSTN.  
         [0008]     The present invention supports Internet VoIP caller using transmission control protocol (TCP) or user datagram protocol (UDP) for transmitting command and voice data.  
         [0009]     The present invention supports voice communication between callers ultilizing any of the existing communication protocols, such as H.323 (a standard approved by the International Telecommunication Union, reference ITU-T H.323), session initiation protocol (SIP, reference IETF RFC 2543), media gateway control protocol (MGCP, reference IETF RFC 2705), and media gateway control (MEGACO, reference ITU-T H.248).  
         [0010]     The present invention supports voice conference through conference server that performs digital mixing of voice data.  
         [0011]     The present invention supports voice over IP gateway that accepts regular call through PSTN.  
         [0012]     The present invention supports voice data, after digitally mixed by conference server, sent to VoIP gateway and Internet Phone. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0013]     These, as well as other features of the present invention, will become apparent upon reference to the drawings wherein:  
         [0014]      FIG. 1  is a block diagram depicting conference server which includes signal server and media server.  
         [0015]      FIG. 2  is a block diagram depicting one method of the VoIP data transmission through network according to a preferred embodiment of the present invention.  
         [0016]      FIG. 3  is a block diagram depicting one method of the VoIP data transmission through PSTN according to a preferred embodiment of the present invention  
         [0017]      FIG. 4  is a printout displaying the format of real-time transport protocol (RTP) with header extensions according to the present invention. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0018]     Callers  10  and  20  go to the web conference login page by using a browser, such as Microsoft Internet Explore (IE). Caller  10  chooses the intended conference session and login the conference session. After callers  10  and  20  login, the web server will download Internet Phone software (softphone) to callers  10  and  20 s&#39; PC and connect callers  10  and  20  to the conference server  50  with a unique identification (ID) for each caller and the session number.  
         [0019]     While making the connection, commands are sent from callers  10  and  20  to the conference server  50 . The conference server  50  saves relevant information of each caller, e.g. session number and ID. The conference server  50  then sends the “acknowledge” commands to caller  10  using a protocol supported by caller  10 , for example, UDP or TCP. Conference server  50  can be one of the many standard conforming servers such as H.323 Gatekeeper (a standard approved by the International Telecommunication Union, reference ITU-T H.323, which can be easily obtained in the internet, for example, the website http://www.itu.int), session initiation protocol Proxy server (SIP, reference IETF RFC 2543, which can be easily obtained in the internet, for example, the website link http://www.ietf.org), media gateway control protocol callagent server (MGCP, reference IETF RFC 2705, which can be easily obtained in the internet, for example, the website link http://www.ietf.org), and media gateway control callagent server (MEGACO, reference ITU-T H.248, which can be easily obtained in the internet, for example, the website link http://www.ietf.org). A response is then sent back to callers  10  and  20  by the conference server  50 .  
         [0020]     The conference server  50  saves the caller&#39;s unique ID, session number, IP address and the user datagram protocol (UDP) port number of the endpoint in order to communicate with callers. This allows the media server  40  to know which caller the data is coming from.  
         [0021]     Caller can join a conference by calling from regular PSTN analog/digital phone. The call will go through PSTN and connect to a VoIP compliant telephony gateway  60 . A gateway is a device that translates VoIP signals into signals that can be understood by traditional phone system and vise versa. Each caller will be instructed to enter the conference number and assigned a unique ID.  
         [0022]     VoIP gateway  60  will send voice command and data to conference server  50 .  
         [0023]     Conference server  50  can select one of two methods to mix voice data from callers. One method is the traditional way, by mixing all of the voice data and send the mixed voice data to each caller. The other method is to put all of the voice data together and send to each caller for mixing.  
         [0024]     To make conference server  50  highly scalable and low CPU consumption, the conference server  50  will detect if each caller is capable of mixing voice data. If the caller calls from a regular phone, it does not have the capability to mix voice data. If the caller calls from an Internet Phone device with the capability to mix voice data, then conference server  50  will mark this caller with a flag as being a special device.  
         [0025]     If all of the callers are capable of mixing voice data, conference server  50  will put all of the voice data together and send the combined data to each caller device for mixing. Voice data is encapsulatd in RTP. Each caller voice data has its own RTP header. In this case, conference server  50  can handle large number of users in the hundreds and thousands depending on available computer resources, such as CPU power, memory speed and size, and network speed.  
         [0026]     The Internet Phone device can be hardware device or software only. The Internet Phone device must have enough CPU power to perform voice compression and decompression. To reduce Internet bandwidth consumption, voice codec, such as g.723.1, g.729, or any low bit rate codec can be used. Voice silence detection (VAD) can also be utilized to reduce the amount of voice data transmission. Internet phone device can be configured to send voice packet every 10˜100 ms. Each packet sent to conference server  50  can have one frame or multiple frames of voice data. Voice data is encapsulated in the RTP format. A unique user ID is also encapsulated in the RTP data.  
         [0027]     After conference server  50  receives RTP data from callers, it will check the number of callers in the same conference session. If the session has only two callers, conference server  50  will send RTP data from one caller to the other caller without mixing the voice data. If the session has more than 2 callers, conference server  50  will determine if all of the callers are capable of mixing voice data. If they are capable of mixing voice data, conference server  50  will put all of the arriving RTP data together excluding the one from the sending caller and send the combined RTP data to all callers. If one caller, such as regular phone device, can not mix voice data, the conference server  50  will decompress all of the arriving voice data to 16-bit mono PCM data first. After decompression is completed, conference server  50  then mixes the voice data, and compresses the mixed voice data using user-defined codec. After the mixed voice data is compressed, conference server will encapsulate the data into RTP format and send the RTP data to the right caller.  
         [0028]     When Internet Phone device receives RTP data, it will check if the voice data needs mixing or not. If the voice data does not require mixing, the Internet Phone device will retrieve voice data from the RTP packet, decompress the data if necessary and then send the final data to the sound device for playback. If the voice data requires mixing, the Internet Phone device will retrieve every voice data and its corresponding user ID in the RTP packet first and then decompresses and saves each voice data to memory. Every user ID has its own memory buffer for storing the voice data. After decompression, the Internet Phone device will mix all of the voice data and send the mixed data to the sound device for playback.  
         [0029]     When VoIP gateway  60  receives RTP data from conference server  50 . It retrieves voice data from RTP packet and decompresses to a format that regular phone device can play, such as Mu-Law in US. After decompression, gateway  60  sends the voice data through PSTN to the caller&#39;s phone device.  
         [0030]     In this embodiment the endpoints,  10  and  20 , send commands and voice data using TCP or UDP. The command sent by the original endpoint includes voice data and the private or public IP address, port number, and identification of the destination endpoint.  
         [0031]     It will be apparent to those skilled in the art that various modifications and variations can be made to the structure of the present invention without departing from the scope or spirit of the invention. In view of the foregoing, it is intended that the present invention cover modifications and variations of this invention provided they fall within the scope of the following claims and their equivalents.