Abstract:
A voice over internet protocol (VOIP) system and method are provided. The VOIP method includes steps of generating a phone number for a first terminal device, and a domain name corresponding to that phone number, transmitting the domain name and an internet protocol (IP) address to a dynamic domain name service (DDNS) server for registration, applying the same procedure to second and third terminal devices, generating a name of a group for the first, second, and third terminal devices, generating a domain name corresponding to the name of the group, and transmitting the domain name and the IP address for registration, and acquiring the domain name for the required name of the group, thus allowing calls to be made and available within the group.

Description:
BACKGROUND 
     1. Technical Field 
     The present disclosure relates to voice communications systems and, particularly, to a voice over internet protocol (VOIP) system and a method. 
     2. Description of Related Art 
     In a prior art, when an VOIP phone A is called by another VOIP phone B, and the user of the VOIP phone A is not available to answer the call, another user can help the user of the VOIP phone A to receive the call. However, if a distance between another user and the VOIP phone A is far away, it is very inconvenient for the another user to get the VOIP phone to receive the call. 
     Therefore, what is needed is a new voice over internet protocol system and method to overcome the above described limitations. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a schematic diagram of a voice over internet protocol system which is applied to a first terminal device, at least one second terminal device, at least one third terminal device, and a dynamic domain name service server, in accordance with an exemplary embodiment. 
         FIG. 2  is a block diagram of the hardware infrastructure of the voice over internet protocol system of  FIG. 1 , in accordance with an exemplary embodiment. 
         FIG. 3  is a flowchart of a voice over internet protocol method implemented by the voice over internet protocol system of  FIG. 1 , in accordance with an exemplary embodiment. 
     
    
    
     DETAILED DESCRIPTION 
     Referring to  FIG. 1 , a VOIP system  100  which is applied to a first terminal device  101 , at least one second terminal device  102 , at least one third terminal device  104  and a dynamic domain name service (DDNS) server  103  is provided. In one embodiment, the first terminal device  101 , the at least one second terminal device  102  and the at least one third terminal device  104  may be Internet-capable phones, notebook computers, desktop computers, or the like. It should be noted that the terminal devices  101 ,  102 , and  104  may be directly connected to a VOIP network without an integrated access device (IAD) if each of the terminal devices  101 ,  102 , and  104  have a function of accessing the VOIP network. 
     Referring to  FIG. 2 , the VOIP system  100  includes one or more processors  101  and a number of modules to be executed by the one or more processor  101 . The number of modules includes a first registration module  11 , a second registration module  12 , a first controlling module  14 , a second controlling module  15 , a third registration module  13  and a third controlling module  17 . The first registration module  11  generates a phone number for the first terminal device  101  and a domain name corresponding to the phone number of the first terminal device  101  according to a predefined rule, and transmits the domain name corresponding to the phone number and an IP address of the first terminal device  101  to the DDNS server  103  to be registered in the DDNS server  103 . The first registration module  11  further generates a name of a group (e.g., “0944Group1”) of the first terminal device  101  and a domain name (e.g., “0944Group1.myvoip.net”) corresponding to the name of the group of the first terminal device  101  according to the predefined rule, and transmits the domain name corresponding to the name of the group and the IP address of the first terminal device  101  to the DDNS server  103  to be registered in the DDNS server  103 . In one embodiment, each terminal device  101 ,  102 , and  104  converts a media access control (MAC) address of each terminal device  101 ,  102 , and  104  into a phone number for each terminal device  101 ,  102 , and  104  according to a hash function. The hash function is applied to the last six numbers of the MAC address. The predefined rule includes combining the phone number with a predefined string such as “.myvoip.net” to form a called domain name. For example, if the respective MAC addresses of the terminal devices  101 ,  102  are 11:12:31:23 and 11:45:64:56, then the phone numbers allocated to the terminal devices  101 ,  102  are respectively 123123 and 456456. If an area code is 918, then the final phone numbers of the terminal devices  101 ,  102  will be, respectively, 918123123 and 918456456. Accordingly, the respective domain names of the terminal devices  101 ,  102  may be “918123123.myvoip.net” and “918456456.myvoip.net”. 
     The second registration module  12  generates a phone number of each of the at least one second terminal devices  102  and a domain name corresponding to the phone number of the second terminal device  102  according to the predefined rule, and transmits the domain name corresponding to the phone number and an IP address of the second terminal device  102  to the DDNS server  103  to be registered in the DDNS server  103 . The second registration module  12  further acquires the domain name corresponding to the name of the group of the first terminal device  101 , and transmits the acquired domain name corresponding to the name of the group of the first terminal device  101  and IP address of the second terminal device  102  to the DDNS server  103  to be registered in the DDNS server  103 . In one embodiment, the first registration module  11  runs in the first terminal device  101 , and the second registration module  12  runs in the second terminal device  102 . 
     The first controlling module  14  controls the second terminal device  102  to send a group applying request for applying to join in the group which includes the first terminal device  101 , to the first terminal  101 . The second controlling module  15  controls the first terminal device  101  to receive the group applying request from the second terminal device  102 , and to send the domain name corresponding to the name of the group of the first terminal device  101  to the second registration module  12  in response to the received group applying request. 
     In a first embodiment, the second controlling module  15  further controls the first terminal device  101  to generate a name of the group of the first terminal device  101 , and the domain name corresponding to the name of the group of the first terminal device  101  according to the predefined rule, transmit the domain name corresponding to the name of the group of the first terminal device  101  and an IP address of the first terminal device  101  to the DDNS server  103  to be registered in the DDNS server  103 , and to send the domain name corresponding to the name of the group of the first terminal device  101  to the second registration module  12  in response to the received group applying request. In a second embodiment, the second controlling module  15  further detects whether the first terminal device  101  is part of a group, controls the first terminal device  101  to generate a name of the group of the first terminal device  101  and the domain name corresponding to the name of the group according to the predefined rule when the first terminal device  101  is not part of a group, transmit the domain name corresponding to the name of the group and an IP address of the first terminal device  101  to the DDNS server  103  to be registered in the DDNS server  103 , and to send the domain name corresponding to the name of the group of the first terminal device  101  to the second registration module  12  in response to the received group applying request. 
     The third registration module  13  generates a phone number of each of the at least one third terminal devices  104  and a domain name corresponding to the phone number of the third terminal device  104  according to the predefined rule, and transmits the domain name corresponding to the phone number and an IP address of the third terminal device  104  to the DDNS server  103  to be registered in the DDNS server  103 . The third controlling module  17  controls the third terminal device  104  to acquire the phone number of the first terminal device  101 , to generate the domain name corresponding to the phone number of the first terminal device  101  according to the predefined rule, to search the IP address of the first terminal device  101  associated with the domain name corresponding to the phone number of the first terminal device  101  in the DDNS server  103 , and to send a call request to the searched IP address of the first terminal device  101  when the third terminal device  104  calls the first terminal device  101 . The second controlling module  15  controls the first terminal device  101  to receive the call request from the third terminal device  104 , to search for the group which contains the first terminal device  101  based on the received call request, to acquire the IP address of the second terminal devices  102  within the group which has been found, and to send the call request to the second terminal devices  102  according to the acquired IP address. The first controlling module  14  further controls one of the second terminal devices  102  which receives the call request to send a call-received notification to other second terminal devices  102  which do not receive the call request, and to transmit the IP address of the second terminal devices  102  which do receive the call request to the first terminal device  101 . The second controlling module  15  controls the first terminal device  101  to receive the IP address of the second terminal device  102 , and to transmit the IP address of the second terminal device  102  to the third terminal device  104 . The third controlling module  17  further controls the third terminal device  104  to receive the IP address of the second terminal device  102 , and to send the call request to the second terminal device  102  according to the IP address. The first controlling module  14  further controls the second terminal device  102  to receive the call request from the third terminal device  104 , and to transmit an open-for communication instruction to the third terminal device  104  based on the received call request. The third controlling module  17  further controls the third terminal device  104  to establish a communication connection with the second terminal device  102  when the third terminal device  104  receives the open-for communication instruction from the second terminal device  102 . In one embodiment, the first controlling module  14  runs in the second terminal device  102 , the second controlling module  15  runs in the first terminal device  101 , and the third controlling module  17  runs in the third terminal device  104 . 
     For example, there are three terminal devices B1, B2, and B3 within a group which is established by terminal device A, and when a terminal device C calls terminal device A within a VOIP network, the terminal device A transmits the call request to all of the three terminal devices B1, B2, and B3. When one of the three terminal devices B1, B2, and B3 receives the call request, the terminal device which receives the call request transmits a notification to the other terminal devices which do not receive the calling request to inform that a call request has been received; thereby preventing the other terminal devices from receiving the call request. 
       FIG. 3  is a flowchart of a voice over internet protocol method implemented by the voice over internet protocol system of  FIG. 1 , in accordance with an exemplary embodiment. 
     In step S 601 , the first registration module  11  generates a phone number of the first terminal device  101  and a domain name corresponding to the phone number of the first terminal device  101  according to a predefined rule, and transmits the domain name corresponding to the phone number of the first terminal device  101  and an IP address of the first terminal device  101  to the DDNS server  103  to be registered in the DDNS server  103 . 
     In step S 602 , the second registration module  12  generates a phone number of each of the at least one second terminal devices  102  and a domain name corresponding to the phone number of the second terminal device  102  according to the predefined rule, and transmits the domain name corresponding to the phone number of the second terminal device  102  and an IP address of the second terminal device  102  to the DDNS server  103  to be registered in the DDNS server  103 . 
     In step S 603 , the first registration module  11  further generates the name of a name of the group for the first terminal device  101  and a domain name corresponding to the name of the group of the first terminal device  101  according to the predefined rule, and transmits the domain name corresponding to the name of the group of the first terminal device  101  and the IP address of the first terminal device  101  to the DDNS server  103  to be registered in the DDNS server  103 . 
     In step S 604 , the second registration module  12  acquires the domain name corresponding to the name of the group of the first terminal device  101 , and transmits the acquired domain name corresponding to the name of the group of the first terminal device  101  and IP address of the second terminal device  102  to the DDNS server  103  to be registered in the DDNS server  103 . 
     The method further includes the following substeps: the first controlling module  14  controls the second terminal device  102  to send a group applying request for applying to join in the group which contains the first terminal device  101 . The second controlling module  15  controls the first terminal device  101  to receive the group applying request from the second terminal device  102 , and to send the domain name corresponding to the name of the group of the first terminal device  101  to the second registration module  12  in response to the received group applying request. 
     In a first embodiment, the second controlling module  15  further controls the first terminal device  101  to generate a name of the group of the first terminal device  101  and the domain name corresponding to the name of the group of the first terminal device  101  according to the predefined rule, to transmit the domain name corresponding to the name of the group of the first terminal device  101  and an IP address of the first terminal device  101  to the DDNS server  103  to be registered in the DDNS server  103 , and to send the domain name corresponding to the name of the group of the first terminal device  101  to the second registration module  12  in response to the received group applying request. In a second embodiment, the second controlling module  15  further detects whether the first terminal device  101  is part of a group, controls the first terminal device  101  to generate a name of the group of the first terminal device  101  and the domain name corresponding to the name of the group according to the predefined rule when the first terminal device  101  is not part of a group, to transmit the domain name corresponding to the name of the group and an IP address of the first terminal device  101  to the DDNS server  103  to be registered in the DDNS server  103 , and to send the domain name corresponding to the name of the group of the first terminal device  101  to the second registration module  12  in response to the received group applying request. 
     The method further includes the following substeps: The third registration module  13  generates a phone number of the third terminal device  104  and a domain name corresponding to the phone number of the third terminal device  104  according to the predefined rule, and transmits the domain name corresponding to the phone number and an IP address of the third terminal device  104  to the DDNS server  103  to be registered in the DDNS server  103 . The third controlling module  17  controls the third terminal device  104  to acquire the phone number of the first terminal device  101 , to generate the domain name corresponding to the phone number of the first terminal device  101  according to the predefined rule, to search for the IP address of the first terminal device  101  which is associated with the domain name corresponding to the phone number of the first terminal device  101  in the DDNS server  103 , and to send a call request to the searched IP address of the first terminal device  101  when the third terminal device  104  calls the first terminal device  101 . The second controlling module  15  controls the first terminal device  101  to receive the call request from the third terminal device  104 , to search for the group which contains the first terminal device  101  based on the received call request, to acquire the IP addresses of the second terminal devices  102  within the group which has been found, and to send the call request to the second terminal devices  102  according to the acquired IP addresses. The first controlling module  14  further controls the particular one of the second terminal devices  102  which receives the call request to send a call-received notification to the other second terminal devices  102  which do not receive the calling request, and to transmit the IP address of the second terminal device  102  which receives the call request to the first terminal device  101 . The second controlling module  15  controls the first terminal device  101  to receive the IP address of the second terminal device  102 , and to transmit the IP address of the second terminal device  102  to the third terminal device  104 . The third controlling module  17  further controls the third terminal device  104  to receive the IP address of the second terminal device  102 , and to send the call request to the second terminal device  102  according to the IP address. The first controlling module  14  further controls the second terminal device  102  to receive the call request from the third terminal device  104 , and to transmit an open-for communication instruction to the third terminal device  104  based on the received call request. The third controlling module  17  further controls the third terminal device  104  to establish a communication connection with the second terminal device  102  when the third terminal device  104  receives the open-for communication instruction from the second terminal device  102 . 
     Although the present disclosure has been specifically described on the basis of the embodiments thereof, the disclosure is not to be construed as being limited thereto. Various changes or modifications may be made to the embodiments without departing from the scope and spirit of the disclosure.