The present invention relates to a voice-over-internet method and system.
Voice-Over-Internet protocol (VoIP) is a method of enabling voice communications using the Internet as the audio transport medium. All devices wanting to participate in VoIP communications need to be able to be connected to the IP network. Since radios typically do not have an IP network interface, a VoIP radio gateway is used as an interface between the radios and the IP network. The VoIP radio gateway allows radio voice communications over the Internet by performing audio encoding, audio decoding and call signaling. Audio encoding is the process of converting the analog radio signal to a digital form which can be transmitted in a IP network. Audio decoding is the process of generating the analog signal from digital audio packet received from the IP network. Call signaling refers to the control data being exchanged between the operator console and the VoIP gateway to set up the radio call.
If the VoIP radio gateway fails, there will not be any connectivity between the IP network and the radios. This may not be a desirable situation for applications requiring uninterrupted radio communications. One approach to this problem is to design a VoIP radio gateway with very low failure rate. This low level failure rate can be achieved by incorporating redundant hardware components. However, designing a gateway with redundant hardware components will result in higher cost of design and manufacturing. Apart from the higher cost per gateway, this approach does not address the issue of survivability, in that the redundancies built in will still be lost if the entire gateway is being destroyed by a catastrophic event.
The object of the present invention is to provide a method and apparatus which address the above drawbacks.
The invention provides a voice-over-internet system comprising:
Thus, according to the invention, since the gateways are remote from one another, if one of the gateways should suffer a catastrophic event and become unusable, the other gateway can be used to supply the voice signal over the internet to the user terminal. The selection device can communicate with both gateways to determine the status of the gateways and whether they are operating and facilitate selection of one of the gateways to transmit the signal.
Preferably each gateway has a radio communication path connecting the gateway to the internet.
Preferably the selection device comprises a processor for determining whether one of the gateways is operating and the communication path associated with that gateway is therefore operating so that one of the gateways can be selected for supplying the voice signal to the internet.
Preferably one of the gateways is designated a master gateway and is selected by the selection device for transmitting the voice signal and the selection device enables that gateway to transmit the signal if the gateway is operative, and the selection device polls the master gateway to determine whether the master gateway is operative and if not, switches communication between the radio device and the internet to the other gateway.
Preferably the processor is for synchronising data between the gateways so that both gateways contain operational data so that if communication is changed from one gateway to another gateway, the another gateway includes the communication data required to continue the communication between the gateway and the terminal.
Preferably the processor is also for causing one of the gateways to request all operational data from the other gateway before the other of the gateways assumes a standby mode.
Preferably the processor is for determining which of the gateways is to be an active gateway and supply the communication by a virtual IP address which is to be owned by the active gateway.
Preferably the processor comprises a processor at each of the gateways.
The invention also provides a voice-over-internet communication method comprising:
Preferably each gateway has a radio communication path connecting the gateway to the internet.
Preferably the user terminal connects to the gateways.
Preferably the gateway providing the communication to the terminal does so by using a virtual IP address owned by that gateway and if that gateway fails, the other gateway assumes active status by claiming ownership of the virtual IP address.
Preferably the gateways form a cluster and one of the gateways is an active gateway supplying the communication and the other gateway can insert into the cluster at any time to be in a standby mode without disrupting the active gateway's function. Thus, the gateways can provide continuous radio communication services by allowing a faulty gateway to be removed and a new gateway to be reinserted into the cluster without disruption.
Preferably the method further comprises designating one of the gateways a master gateway, and selecting that gateway to transmit the voice signal if that gateway is operative, and polling the master gateway to determine whether the master gateway is operative and if not, switching communication between the radio device and the internet to the other gateway.
Preferably the method further comprises synchronising data between the gateways by an active gateway of the gateways sending operational data to the other gateway when the other gateway is in standby mode.
Preferably, before a gateway assumes a standby mode, the gateway requests all operational data to be copied from the active gateway.
Preferably the data synchronisation is implemented by transmission of the data using the physical IP addresses of the gateways.
A preferred embodiment of the invention will be described, by way of example, with reference to the accompanying drawings, in which:
In
In
The two gateways 40 and 50 inter-operate to determine which assumes the active status and which assumes the standby status. The active gateway is responsible for providing all the radio communication services. This selection process requires one of the gateway to be designated MASTER and the other SLAVE. The designation of MASTER and SLAVE is stored in a non-volatile memory (not shown) of the gateways 40 and 50. There is no requirement to assign a particular gateway to be MASTER. This embodiment only requires one gateway to be assigned MASTER designation and the other SLAVE designation if these two gateways are to be paired together.
The two gateways communicate with each other using their physical IP addresses to execute this selection protocol.
The active gateway selection protocol ensures the orderly way of determining which gateway can assume the active mode and claims the virtual IP address. The protocol starts when the gateway is powered-up.
At step 71, initial start-up takes place and the gateway (say gateway 50) which has just started up, sends a message “I want to be active gateway” to the other gateway 40. This message is retransmitted a plurality of times if no response is received (step 72). If there is no reply after N transmissions, the gateway 50 becomes the stand-alone active gateway, as per step 73. Thus, if no response is received from the other gateway 40, it is deemed to be out of service and the start-up gateway 50 can safely assume the active gateway status.
If the signal is received at step 72 back from the other gateway 40, indicating “I am the active gateway”, the gateway 50 assumes the standby mode because the other gateway 40 is deemed to be in the active mode, as per step 74.
If at step 72 the other gateway 40 responds with a signal “I want to be active gateway”, a decision is made at step 75 as to whether gateway 50 is the designated master gateway. If no, a signal is transmitted “You can be the active gateway”, the gateway 50 goes to standby mode and the other gateway 40 is the active gateway, as per step 74. If the answer at step 75 is yes (as in this example), the master gateway 50 transmits a signal “I am the active gateway” and the gateway 50 assumes the active mode and the other gateway 40 is in the standby mode as per step 76.
When the designated master gateway 50 receives a “I want to be an active gateway” message, it will always deny the request with the “I am the active gateway” message after which it will assume the active state.
When the designated slave gateway 40 receives a “I want to be an active gateway” message, it will always grant the request with the “You can be the active gateway” message, after which it will assume the standby state.
The purpose of designating the master and slave status to the gateways is to ensure that one gateway (the master) can always be selected to be the active when both gateways request to assume active status at the same time. This scenario will arise when both gateways are powered up at the same time.
When a gateway assumes the active state, it will always remain in that state, providing all radio communication services through the virtual IP address. When it receives the message “I want to be active gateway”, it will always deny the request with the message “I am the active gateway”.
After the gateways assume the active or standby state, a heart beat process begins where the gateways will regularly poll each other for life signs. This heartbeat process is necessary for the standby gateway to determine if the active gateway has broken down. When the active gateway is deemed to have broken down, the standby gateway needs to initiate the take over process to claim the virtual IP address and assume the active role. To realize the heart beat process, the gateways send life-check data packet to each other using the physical IP addresses. The gateway shall respond to the life-check packet within a pre-configured time frame (M milli-seconds). If the gateway fails to respond within the designated time frame for N consecutive times, it is deemed to have failed and the sender will initiate the take over process. The values of M and N are configurable.
Factors affecting the choice of values for M
Factors affecting the choice of values for N
The time interval of sending the regular life-check message is dependent on the switch-over time requirement.
When the standby gateway is deemed to have broken down (Failed to respond to life-check message from the active gateway), the active gateway takes no action and will continue to provide the radio communication services.
In order for the radio gateway to provide radio communication services over the internet, it requires to maintain a set of operational information in the form of data in its read-only memory (RAM) (not shown). This set of data is required for the radio gateway to be able to maintain the user terminal's audio connections to the radios. For the standby gateway to be able to assume the role of the active gateway, it needs to have an exact copy of the operational data residing in the active gateway all the time. The copying of data from the active gateway to the standby gateway is termed as data synchronization.
Data synchronization occurs under two scenarios:
Scenario One: (See
This scenario is when both gateways are already operating, one in active mode and the other in standby mode. Only changes in the operational data need to be sent from the active gateway to the standby gateway to maintain data synchronization.
Scenario Two: (See
Radio gateway cluster is operating using a single standalone active gateway. When the other gateway in the cluster starts operating, it will be in standby mode. Before it can assume its role as standby gateway, it has to request for all operational data to be copied from the active gateway.
Data synchronization is implemented by transmission of the data using the physical IP addresses of the gateways.
A take-over procedure is executed when the heart beat process indicates that the current active gateway has become non-operational. The take-over procedure consists of:
The standby gateway assumes active mode by first claiming ownership of the virtual IP address. It will respond to all future Address-Resolution Protocol (ARP) request for ethernet address corresponding to the virtual IP address (See
When the user terminal subsequently requests for ethernet address corresponding to the virtual IP address, the new active gateway will respond.
Once the new mapping between the virtual IP address and the ethernet address of the current active gateway (which has taken-over from the defunct gateway) is established, the redundant communication path to the radios is also established.
Before the standby gateway fully assumes active mode, it will re open all radio communication channels between the user terminals and the radio 12. From this point onwards, the radio communication between the user terminals and the radio 12 will resume.
Since modifications within the spirit and scope of the invention may readily be effected by persons skilled within the art, it is to be understood that this invention is not limited to the particular embodiment described by way of example hereinabove.
In the claims which follow and in the preceding description of the invention, except where the context requires otherwise due to express language or necessary implication, the word “comprise”, or variations such as “comprises” or “comprising”, is used in an inclusive sense, i.e. to specify the presence of the stated features but not to preclude the presence or addition of further features in various embodiments of the invention.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/SG2005/000421 | 12/15/2005 | WO | 00 | 10/16/2008 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2007/070009 | 6/21/2007 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
6631416 | Bendinelli et al. | Oct 2003 | B2 |
6868059 | Jones et al. | Mar 2005 | B1 |
6928576 | Sekiguchi | Aug 2005 | B2 |
7647422 | Singh et al. | Jan 2010 | B2 |
20040047345 | Joseph et al. | Mar 2004 | A1 |
20050195795 | Aoki et al. | Sep 2005 | A1 |
20060221912 | Olivier et al. | Oct 2006 | A1 |
20070019540 | Biswas et al. | Jan 2007 | A1 |
Number | Date | Country |
---|---|---|
2 411 074 | Aug 2005 | GB |
0135579 | May 2001 | WO |
Number | Date | Country | |
---|---|---|---|
20090279516 A1 | Nov 2009 | US |