Ekiga is an open source Voice over IP phone with video conferencing and instant messaging capabilities. It is interoperable with many other standard compliant softwares, hardwares and service providers as it uses both the major telephony standards (SIP and H.323).
Ekiga is the VoIP client used by the CTTC MONET department as test bed for their on-going research in seamless terminal mobility, call admission control and intelligent interface selection.
New Features Implemented
The core client was taken as the starting point to develop the following extra features for research purposes.
Following the guidelines given in RFC-3665, when performing an horizontal handover the Re-INVITE procedure is executed. This is, the mobile node is able to produce the new INVITE SIP message and the correspondent node is able to process it appropriately. This transaction triggers the necessary actions in both sides to perform correctly the hand over.
Three different handover strategies had been implemented.
The socket in use is closed, a new one using the new interface is opened and then the Re-INVITE process is performed.
This is the most straightforward solution, but the packets send while signalling the change will be all lost.
A new socket is created using the new interface. The old one keeps being used for sending an receiving data and the Re-INVITE is performed through the new one. Once the procedure is successfully executed, the new socket starts being used to send and receive data and the old one is closed.
This is a more refined solution and no packets are lost. However, the mobile node keeps using the old interface while processing the Re-INVITE. This is longer than required, specially if the network is being switched because it is not fulfilling the QoS requirements.
this former strategy is basically a soft handover but the mobile node starts sending data through the new interface as soon as the socket is created (while the Re-INVITE is taking place) but the old socket remains open for data reception until the process is finished.
With this we left the network as soon as possible (in uplink and downlink), jeopardizing the QoS requirements as little as possible.
Although interface selection decision is taken by an independent process, Ekiga has been provided with the IPC mechanisms to disseminate the network interfaces and codecs (available and in use) as well as the mechanism to intercept an interface switching command, triggering the necessary SIP process and performing the handover.
The Ekiga client has been successfully employed as the main VoIP application in DESSERT.
This software has been developed for internal use of the area. However, we are always open to collaborations so do not hesitate in contacting us at firstname.lastname@example.org to explore possible ways to join efforts.