Category Archives: Ekiga

Ekiga 3.1.0 available

The first beta of Ekiga 3.1.0 is now available on GNOME FTP.

Please note that I started the development of Ekiga 9 years ago.

Here is the list of changes :

  • Added support for the G.722 audio codec: G.722 is a 16 kHz wideband audio codec advertised as HD Voice by the famous Polycom. It is a great boost in quality and interoperability.
  • Added support for the CELT ultral-low delay audio codec: CELT delivers high quality audio at 32 kHz or 48 kHz, allowing to transmit music in high quality, with low delay and low bitrate.
  • Added support for SIP dialog-info notifications: they allow displaying notifications of incoming calls in the roster. With software like kamailio or Asterisk, it allows being informed of incoming calls reaching your colleagues.
  • Largely improved LDAP support: the OpenLDAP guys contributed several patches to provide state-of-the-art LDAP support in the Ekiga address book. The new code even supports authentication.
  • Added support to disable STUN detection: some routers do not need it anymore as they implement NAT traversal for SIP.
  • Killed the gconf_test_age test: when GConf was released, Ekiga was among the first to adopt it. That annoying ‘gconf error’ was a relique of those early times.
  • More efficient memory handling using gmref_ptr.
  • Better handling of multiple network interfaces with dynamic addition and removal.
  • libgnome is not required anymore when using GTK+ 2.14.
  • Many code cleanups, new GObjects, …

The Ekiga developers team is also working on interesting new features that should be available after the 3.2 release :

  • XCAP support & Resource List support: It allows storing the contacts list on the server.
  • GStreamer audio and video capture support.

Stay tuned for more news!

Thanks to all contributors and welcome to Eugen Dedu, our new release manager!

Andy, I’m sure there are more than 100 new features in Ekiga 3.00. I’m ready to write them down.

However, I’m not sure to have enough spare time (yes, I’m not paid to work on Ekiga) to finish everything at perfection for the next release of GNOME. Do you want to join forces ?

End of the year, 7 years of Ekiga

7 years of Ekiga

We are at the end of the year again. I have spent the Christmas break coding on Ekiga.

I just committed a 10 000 lines patch.

Few people know that I started coding on Ekiga (GnomeMeeting) during the Christmas break in 2000. It means that the oldest lines of code are 7 years old. What an old VVoIP project!

EE, aka the Ekiga Engine

We already committed several components of the Engine, related to Presence or to Address Book support. I have spent the break working on the part of the engine handling calls.

Currently, we have the following objects :

  • The Call: A Call object represents a call. You can trigger actions on that Call (hangup, hold, pause streams, …), and you can also listen to signals (cleared, established, held, retrieved, …). We have an OPAL implementation of that object.
  • The CallManager: The CallManager object handles calls. It has few actions because most actions are implemented by the Call object itself. You can for example create a call, and once that call has been created, you can use the Call object API directly. We have an OPAL implementation of that object
  • The CallCore: The CallCore is the object managing the CallManager’s. It relays signals emitted by the various Call’s handled by the CallCore using various CallManager’s. Implementers will usually only use the CallCore and the Call API’s.

There are several advantages to that modularisation :

  • The GUI does not depend on OPAL anymore. It depends on the CallCore which can handle OPAL CallManager’s and OPAL Call’s. It means we could use other CallManager’s for a different set of protocols. It also means that it is easy to write alternative user interfaces to Ekiga, for example targetted at the embedded world.
  • The engine does not depend on the GUI. That means that it can be reused easily by other projects.
  • Everything is done through signals. It means that it is easy to write new components reacting accordingly to those signals without having to touch to the core of the program. I’m thinking to DBUS, sound events, …
  • Ekiga now has a call-centric approach. Every part of the GUI is a view of a Call. That means that it will be very easy to make it handle concurrent calls for advanced IP Telephony usage.

We are doing our best to give Ekiga the best future possible.

Ekiga 1.00 was a revolution because it was the first videoconferencing for the Linux Desktop.
Ekiga 2.00 was a revolution because it was supporting a new protocol, namely SIP.
We hope Ekiga 3.00 will be another revolution thanks to advanced features (presence, great video codecs, modern user interface…) but also thanks to the new enhanced engine.

Happy New Year

And I will conclude by wishing a Happy New Year to all Ekiga enthousiasts and to the growing Ekiga team!