Abstract:
Disclosed herein is a system and method for Voice over Internet Protocol (VoIP) communication using an instant messenger (IM). The disclosed system sets up a phone terminal connected with the IM and set up a phone control module inside the IM. The disclosed method generally carries out the sending and receiving of instructions as well as carrying out voice processing through said phone terminal so as to accomplish voice-information communications between the calling and called terminals. The disclosed system and method provide a more practical technique, inasmuch as the set phone terminal may connect with the IM via a USB port or IEEE 1394 port. With the disclosed method and system, the drawbacks of current methods of phone communications using IM are overcome while the operation remains simple.

Description:
CROSS-REFERENCES TO RELATED APPLICATIONS  
       [0001]     This is a continuation of International Application No. PCT/CN2004/000897, which was filed on Aug. 4, 2004, and which, in turn, claimed the benefit of Chinese Patent Application No. 03140102.3, which was filed on Aug. 7, 2003, the entire disclosures of which are hereby incorporated herein by reference. 
     
    
     BACKGROUND OF THE DISCLOSURE  
       [0002]     1. Field of the Technology  
         [0003]     The present invention relates to communications technology and, more particularly, to a system and method for Voice over Internet Protocol (VoIP) communication using an instant messenger.  
         [0004]     2. Background of the Invention  
         [0005]     Network Instant Messaging is a communications service based on the Internet and is provided primarily for instant communications on the network. Instant messaging has been widely applied and recognized on the Internet and is implemented by means of an instant messenger (IM), which is popular to numerous network users for its fast speed, various functions, stable application, compactness and high capability. Internet IM is extending to the combined application with virtual network community, which represents the trend of network IM. With IM, users are able to perform various operations, such as sending and receiving information, transmitting files, making voice/video phone calls, and sending short information to mobile phones.  
         [0006]     There are two methods for implementing communications with IM. One method is that the IM in a client&#39;s terminal implements communications via an IM server. The other method is that the IM in a client&#39;s terminal implements communications with the IM in the opposite client on the network without the involvement of an IM server when the client has a fixed IP address or the current IP address or port number of the client to be communicated has been obtained through other communication means. Further description of the foregoing is provided below using the former method as an example.  
         [0007]      FIG. 1  is a schematic diagram illustrating a system architecture for VoIP by means of IM in the prior art. This system includes IM server  1  and the client  2  including IM  20 , audio device  30 , and keyboard  40 . IM  20  in the client  2  includes the data transmission module  21  and Qphone (phone information processing) module  22 , and Qphone module  22  includes the main control module  221 . Qphone module  22  in the IM  20 , after receiving the input information from the keyboard  40 , controls the audio device  30  to make the processing of digitalized compression for the signals from the microphone, and transmit the processed signal to IM server  1  via the data transmission module  21 . IM server  1  then transmits this signal to the network side, i.e., to the telephone gateway closest to the destination, which will convert the digital signal into the analog signal that can be transmitted on the public telephone network for transmission, or the data transmission module  21  receives the signal from IM server  1  and transmits the signal to Qphone module  22  in the IM  20 . Qphone module  22  controls the audio device  30  to convert the digital signal to analog signal which is used as the voice information received by the called.  
         [0008]     As for the method by which the IM in the client contacts with the network side to implement communications, the working principle is the same as the foregoing example except that no IM server is needed to be involved. Thus, no further description is given here.  
         [0009]     It follows from the foregoing process of communication implementation that, when implementing voice phone communications through the Internet by means of IM, the user usually uses the earphone as a speaker, the microphone as a recorder, and the keyboard to input the phone number. Such manner of communication is not in line with the daily habit of communications and the operation is rather complicated. Therefore, it is quite inconvenient for people who are used to making phone calls with traditional phone sets or mobile phones.  
       SUMMARY OF THE INVENTION  
       [0010]     In accordance with certain aspects of the disclosure, a system and method are provided for VoIP communication using instant messenger such that the shortcoming of not conforming with the usual communication habit and rather complicated operation of the prior art can be overcome.  
         [0011]     In accordance with one aspect of the disclosure, a system is useful for VoIP using instant messenger. The system includes a client which contains the instant messenger (IM), where IM includes the data transmission module and the Qphone module including the main control module. The data transmission module in IM transmits the information received from the main control module in Qphone module to the network side, or transmits the information received from the network side to the main control module in Qphone module, the system further including phone control module and phone terminal, where the phone control module connects with the main control module and phone terminal, converting instructions transmitted between the main control module and phone terminal to make the instructions mutually identifiable; and the phone terminal connects with the main control module, receiving and sending voice information.  
         [0012]     The phone control module may be located inside Qphone module, or is an independent module.  
         [0013]     In some cases, the phone terminal includes the phone device control interface, the audio device, pad device and indicator. The phone device control interface may connect with the phone control module, audio device, pad device and indicator, respectively, the phone device control interface receiving the executable control instruction from the phone control module, driving the audio device to start or stop ringing, and driving the indicator to light on or light off, or receiving the instructions from the pad device, and transmitting the instructions to the phone control module. The audio device may connect with the main control module, the audio device receiving the digital information from the main control module, and converting it into the voice information, or converting the received voice information into digital information and sending it to the main control module.  
         [0014]     In some cases, the Qphone module further includes audio input/output control module, which connects with the main control module, the audio device contained in the client and the audio device inside phone terminal, respectively, and controls, according to the instructions of the main control module, the audio device contained in the client or the audio device inside phone terminal to send or receive voice information.  
         [0015]     In some cases, the client further includes the video device, which connects with the main control module, receives and displays the video information from the main control module, or transfers to the main control module the video information to be sent.  
         [0016]     The phone terminal may connects with the phone control module and main control module via a USB port or an IEEE 1394 port.  
         [0017]     In some cases, the system further includes an IM server, which receives the information from the data transmission module, and sends the information to the network side, or transmits the received information from the network side to the data transmission module.  
         [0018]     In accordance with another aspect of the disclosure, a method for VoIP using instant messenger (IM) includes the steps of connecting the IM in the client with phone terminal, and the phone terminal initiating a call instruction converted into information identifiable to the IM, and sending the call instruction to the IM connected with the phone terminal. The method further includes the IM initiating a call request to the network side according to received information, and setting up a call connection with the called terminal. The method still further includes the phone terminal communicating with the called terminal via the set-up call connection. In some cases, the call instruction originated by the phone terminal contains the unique identifier of the called terminal.  
         [0019]     The unique identifier may be acquired from the information inputted by the calling user, or from the configured address book in the IM according to the instruction of the calling user.  
         [0020]     The called terminal may be a common phone terminal or a phone terminal connected with the IM in another client.  
         [0021]     In some embodiments, the step of the IM initiating a call request to the network side according to the received information and setting up a call connection with the called terminal includes either the IM initiating a call request directly to the network side according to the received information and setting up a call connection with the called terminal, or the IM initiating a call request via an IM server to the network side and setting up a call connection with the called terminal.  
         [0022]     The phone terminal may connect with the IM via a USB port or 1394 port.  
         [0023]     In accordance with yet another aspect of the disclosure, a method is useful for VoIP using instant messenger, and includes the step of connecting the IM in the client with phone terminal. The IM, after receiving the call connection request from the calling terminal, converts the information of call connection request into the information identifiable to the phone terminal before transmitting the information to the phone terminal. The method further includes the phone terminal setting up a call connection with the calling terminal according to the information of connection request, and the phone terminal communicating with the calling terminal via the set-up call connection.  
         [0024]     The calling terminal may be a common phone terminal or a phone terminal connected with the IM in another client.  
         [0025]     In some cases, the step of the phone terminal setting up a call connection with the calling terminal according to the information of connection request includes the phone terminal setting up a call connection with the calling terminal via the IM in the client connected with the phone terminal, or the phone terminal setting up a call connection via an IM server with the calling terminal through the IM in the client connected with the phone terminal.  
         [0026]     The phone terminal may connect with the IM via a USB port or 1394 port.  
         [0027]     Certain aspects of the disclosure are directed to setting a phone terminal connected with the IM in the client and setting in the IM a phone control module. The disclosed method implements the exchange of voice information between the calling and called terminals by sending and receiving instructions and carrying out voice processing through the phone terminal. As it is via a universal USB or 1394 port that the set phone terminal connects with the IM, the disclosed technique is more practical. With this technique, the drawback of the prior art in not keeping with the daily habit of making phone calls is overcome and operation is simplified. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0028]      FIG. 1  is a schematic diagram illustrating a system architecture in accordance with a prior art approach for VoIP using instant messenger.  
         [0029]      FIG. 2  is a schematic diagram illustrating a network architecture in accordance with one aspect of the disclosure for VoIP using instant messenger.  
         [0030]      FIG. 3  is a schematic diagram illustrating the network architecture of a first embodiment for VoIP using instant messenger.  
         [0031]      FIG. 4  is a schematic diagram illustrating the network architecture of a second embodiment for VoIP using instant messenger.  
         [0032]      FIG. 5  is a flowchart in accordance with one aspect of the disclosure for VoIP using instant messenger.  
         [0033]      FIG. 6  is a flowchart for a phone control module to perform instructions from a phone terminal in accordance with one embodiment.  
         [0034]      FIG. 7  is a flowchart for a phone control module to send instructions to control the phone terminal to carry out operation in accordance with one embodiment.  
         [0035]      FIG. 8  is a flowchart for the phone terminal to receive instructions in accordance with one embodiment.  
         [0036]      FIG. 9  is a flowchart for the phone terminal to send instructions in accordance with one embodiment. 
     
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0037]     The disclosed system and method are hereinafter described in detail with reference to the accompanying drawings, where like reference numerals refer to like elements throughout.  
         [0038]      FIG. 2  is a schematic diagram illustrating the network architecture in accordance with one embodiment for VoIP using instant messenger. The phone terminal is connected with the IM inside the client while the client accesses the wide area network (WAN) via the local area network (LAN) and is further connected with a Public Switched Telephone Network (PSTN) via the gateway. When a user desires to implement phone communications via the Internet using an IM, it is possible to do so using the above phone terminal and the IM without the need of such devices as earphone and microphone. Moreover, this phone terminal which is connected with the IM inside the client can not only implement communications with another phone terminal which is also connected with the IM inside the client, but implement communications with ordinary phone terminals. Therefore, with one embodiment, phone communications via the Internet using an IM become in keeping with the common habit of making phone calls and the operation is easy.  
         [0039]      FIG. 3  is a schematic diagram illustrating the network architecture of a first embodiment for VoIP using instant messenger. The system in this embodiment includes IM server  1  and the client  2  including IM  20 , where IM  20  includes the data transmission module  21  and Qphone module  22 . The data transmission module  21  in IM  20  sends the received information from Qphone module  22  to IM server  1 , which will send this information to the network side, or IM server  1  sends the received information from the network side to the data transmission module  21 , which will send this information to Qphone module  22 . Qphone module  22  contains the main control module  221 . The above system also includes the phone control module  222  and the phone terminal  3 .  
         [0040]     The phone terminal  3  connects with the main control module  221  and the phone control module  222 , converting the received voice information into digital signals before transmitting the signal to the main control module  221 , and transmitting instructions to the phone control module  222 ; or, receiving the digital information from the main control module  221  and converting it into voice information, and receiving the control instruction from the phone control module  222  and driving itself to execute the instruction.  
         [0041]     The aforesaid phone control module  222  may be located in Qphone module  22 , or not in Qphone module  22  to be an independent module as long as it is connected with the main control module  221  and is able to perform the following operations: receiving instructions from the phone terminal  3 , converting the received information into the instruction that is executable by the main control module  221 , and then sending the instruction to the main control module  221 , or receiving the control instruction from the main control module  221 , converting it into the control instruction that is executable by the phone terminal  3 , and then sending it to the phone terminal  3 .  
         [0042]     The main control module  221  connects with the data transmission module  21  in IM  20  in the client  2 , receiving from the phone control module  222  the control information to be sent and from the phone terminal  3  the voice information to be sent, and sending the information to be sent to the data transmission module  21 , or receiving from the data transmission module  21  the voice and control information, and sending the voice information directly to the phone terminal  3  and the control information to the phone control module  222 .  
         [0043]     In other words, the phone terminal  3  is typically a digital phone set, mainly for use in dialing, as well as receiving and transmitting voice information while the phone control module  222  is mainly for use in converting instructions transferred between the main control module  221  and the phone terminal  3  so as to make the instructions identifiable to each other.  
         [0044]     The phone terminal  3  includes phone-device control interface  31 , audio device  32 , pad (the simplified form for dial pad) device  33 , and indicator device  34 , where phone-device control interface  31  connects with phone control module  222 , audio device  32 , pad device  33 , and indicator device  34 , respectively, receiving the executable control instructions from phone control module  222 , driving audio device  32  to start or stop ringing, and driving indicator device  34  to light on or off; or, receiving the instructions from pad device  33  and transmitting the information to phone control module  222 . The audio device  32  also connects with the main control module  221 , receiving the digital information from the main control module  221  and converting the information into voice information to broadcast, or converting the received voice information into digital information and sending the information to the main control module  221 . The phone terminal  3  connects with the phone control module  222  and the main control module  221  via a USB or 1394 port.  
         [0045]      FIG. 4  is a schematic diagram illustrating the network architecture of a second embodiment for VoIP using instant messenger. In this embodiment, an audio input/output control module  223  is added in Qphone module  22  on the basis of the embodiment as shown in  FIG. 3 . This audio input/output control module  223  connects with the main control module  221 , the audio device  30  contained in the client  2 , and the audio device  32  inside the phone terminal  3 , respectively, and controls the audio device  30  contained in the client  2  or the audio device  32  inside the phone terminal  3  to send or receive voice information. Here, according to the selection of the user, the main control module  221  can make the audio device  30  contained in the client  2  or the audio device  32  inside the phone terminal  3  enabled, i.e. the user can either use the audio device  30  contained in the client  2  or use the audio device  32  inside the phone terminal  3  to send or receive voice information.  
         [0046]     In addition, in this embodiment, video device  50  is added in the client. This video device  50  connects with the main control module  221 , receives and displays the video information from the main control module  221 , or sends to the main control module  221  the video information to be sent. Then, the user will achieve the implementation of video-phone communications.  
         [0047]     If the client has a fixed IP address or the current IP address of the opposite party has been acquired through other communication means, the system in all the above-described embodiments may not include IM server  1 , i.e., IM  20  in the client  2  can implement communications with the IM in the client of the opposite party through the network and IM server  1  is no longer needed.  
         [0048]     Specific description is hereinafter given to the method for implementing communications with the system in accordance with further aspects of the disclosure.  
         [0049]      FIG. 5  is the flowchart of an embodiment for VoIP using instant messenger. In this embodiment, phone terminal A connects with IM A inside client A while phone terminal B connects with IM B inside client B, and IM A and IM B are connected by an IM server. Phone terminal A is the calling terminal while phone terminal B is the called terminal.  
         [0050]     In step  501 , phone terminal A sends a call instruction to the phone control in IM A inside client A. This call instruction contains the unique identifier of client B.  
         [0051]     The unique identifier may be directly inputted by the calling user using phone terminal A. For instance, the calling user may input through phone terminal A the unique identifier “the characteristic symbol + the phone number of phone terminal B”.  
         [0052]     The unique identifier may also be acquired from the address book configured in IM A according to the instruction inputted to phone terminal A by the calling user. The implementation specifically includes the following step: IM A, after receiving the instruction of calling the address book from phone terminal A and deciding that phone terminal A is a terminal legally logged-in, displaying the address book to the calling user and acquiring the unique identifier of client B according to the user&#39;s selection.  
         [0053]     In step  502 , after the phone control in IM A converts the received instruction into the calling information identifiable to IM A, IM A inside client A sends a call connection request to the IM server according to the converted information. This call connection request contains the unique identifiers of client A and client B. If IM A receives a response information of success from the IM server, then set up the conversation channel between IM A and IM B and continue with the subsequent steps. If IM A receives a response information of failure from the IM server, then end this process.  
         [0054]     In step  503 , IM A sends to phone terminal B via IM B a request for setting up a call connection according to the information of the conversation channel. If IM A receives a response information of success from phone terminal B, then set up the call connection between phone terminals A and B and the phone control inside IM B in client B, after converting the received information into the information identifiable to phone terminal B, sends to phone terminal B the control instruction, for example, switching on the audio device inside phone terminal B, controlling phone terminal B to ring or turn on the in-coming call indicator, so as to implement the communication and continue with the subsequent steps. If IM A receives a response information of failure from phone terminal B or has not received a response information from phone terminal B within the preset period of time, then IM A instructs the IM server to disconnect from the conversation channel already set up and end this process.  
         [0055]     In step  504 , after the conversation ends, IM A or IM B, after receiving the signal indicating the end of conversation, instructs the IM server to disconnect from the conversation channel between IM A and IM B.  
         [0056]     In step  505 , the phone control in IM A and the phone control in IM B send the control instruction to the phone terminals connected therewith, respectively, for example, the instruction of switching off the audio device in the phone terminal, controlling the phone terminal to turn off the conversation indicator or turn on the conversation-end indicator, and end the conversation.  
         [0057]     In connection with the embodiment shown in  FIG. 5 , if the calling and called terminals have fixed IP addresses or the calling terminal has acquired the current IP address of the called terminal through other means of communications, then IM A and IM B may communicate directly, i.e. IM A and IM B implement direct communications between them through the network without the need of the involvement of the IM serer.  
         [0058]     In addition, when the calling party is a phone terminal connected with an IM, the called party may be a phone terminal connected with an IM or an ordinary phone terminal. Then the client where the calling party is may set up a connection with the called party through an IM server, or connects with the called party after acquiring the IP address of the called through other means without the need of the IM server. Likewise, if the called party is a phone terminal connected with an IM, the calling party may be a phone terminal connected with an IM or an ordinary phone terminal. Then the calling party may set up a connection with the client where the called party is through an IM server, or connect with the called party after acquiring the IP address of the called through other means without the need of the IM server.  
         [0059]     In all the above embodiments, the phone terminal is connected with the IM in the client through a USB or 1394 port.  
         [0060]     The instructions received by the phone control from the phone terminal include standard instructions and non-standard instructions. The non-standard instructions are such instructions as the instruction of phone device abnormal. The standard instructions include character-key information instructions and non-character-key information instructions. The non-character-key information instructions include hang-up instruction, dial instruction, address-book instruction, etc.  FIG. 6  is the flowchart for the phone control to perform the instructions from the phone terminal.  
         [0061]     In step  601 , after receiving an instruction from the phone terminal, the phone control will translate the instruction and decide whether this is a standard instruction, and if yes, execute step  602 , and otherwise execute step  621 .  
         [0062]     Step  602  decides whether the main program window that calls Qphone is currently in the minimized state, and if yes, execute step  603 , restore to the displaying state of the main program window, and end this procedure, and otherwise execute step  604 .  
         [0063]     Step  604  decides whether the current input is a character-key information, and if yes, execute step  605 , input directly in the input block the character information, and end this procedure; and otherwise execute step  606 , and differentiate the instruction. If it is a hang-up instruction, execute step  607 , and if it is a dial instruction, execute step  614 , and if it is an address-book page-up/page-down instruction, execute step  618 .  
         [0064]     Step  607  decides whether the phone terminal is currently in conversation, and if yes, execute step  608 , send to the phone terminal the instruction of ending the conversation and end this procedure, and otherwise execute step  609 , decide whether the address-book has been opened, and if yes, execute step  610 , close the address-book and end this procedure; otherwise execute step  611 , decide whether there is character in the number-input block, and if yes, execute step  612 , delete the last character, and end this procedure, and otherwise execute step  613 , minimize the current application window and end this procedure.  
         [0065]     Step  614  decides whether the phone terminal is currently in conversation, and if yes, end this procedure, and otherwise execute step  615 , decide whether there is the signal for in-coming call and the ringing, and if yes, execute step  616 , receive the call, and end this procedure, and otherwise execute step  617 , dial a call and end this procedure.  
         [0066]     Step  618  decides whether the address book is currently open, and if yes, execute step  619 , carry out the operation of address-book page-up/page down and end this procedure, and otherwise execute step  620 , open the address book and end this procedure.  
         [0067]     Step  621  decides the abnormal type of the non-standard instruction, and if it is an unidentifiable instruction of abnormality, end this procedure, and if it is an instruction of abnormality for plugging-in phone terminal, end this procedure as well. If it is an instruction of abnormality for plugging-out phone terminal, execute step  622 , decide whether this phone terminal is currently in conversation, and if yes, execute step  623 , end this procedure, and otherwise end this procedure.  
         [0068]     The instructions sent by the phone control include starting conversation, ending conversation, there being an in-coming call, and completing processing of in-coming call, i.e. accepting or rejecting in-coming call. See  FIG. 7 , which is the flowchart for the phone control module to send instructions to control the phone terminal to perform operation.  
         [0069]     The phone control module decides the type of the received instruction, if it is an instruction of starting conversation, send to the phone terminal the instruction of lighting up the phone terminal indicator, i.e. the instruction “Light On”; if it is an instruction of ending conversation, send to the phone terminal the instruction of putting off the indicator, i.e. the instruction “Light Off”; if it is an instruction of there being an in-coming call, send to the phone terminal the instruction of starting ringing, i.e. the instruction “Ring Start”; if it is an instruction of completing processing of in-coming call, i.e. accepting or rejecting an in-coming call, send to the phone terminal the instruction of stopping ringing, i.e. the instruction “Ring Stop”.  
         [0070]      FIG. 8  is the flowchart for the phone terminal to receive instructions. The phone terminal decides whether the received instruction is an instruction executable by this terminal, and if yes, execute this instruction and end this procedure, and otherwise end this procedure directly.  
         [0071]      FIG. 9  is the flowchart for the phone terminal to send instructions.  
         [0072]     In step  901 , the phone terminal decides whether there is a key pressed and released within the time of pressing a key once, and if yes, execute step  902 , send the key-value once, and end this procedure, and otherwise, execute step  903 , decide whether the key has not been released yet within the time interval for pressing a key once, and if yes, execute steps  904 - 905 , send the key-value once, wait for the next detection of key-pressing, and repeat step  903 , and otherwise, execute step  906 , send the key-value once, and end this procedure.  
         [0073]     The above description sets forth but a few of the total number of possible embodiments of the disclosed system and method, and should not be construed as limiting the scope of the invention. Any modification, equivalent substitution, and improvement without departing from the spirit and principle of this invention should be included in the protective scope thereof.