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!

22 thoughts on “End of the year, 7 years of Ekiga

  1. dr88dr88

    Will there be colaboration between telepaty and ekiga in the near future. It would be cool if ekige would be the telecommunication interface of telepathy .

    Reply
  2. Damien Sandras Post author

    dr88dr88: indeed, it would provide a solid basis for SIP support. I would really like to see this happen !

    Reply
  3. troll

    Damien, this work that you (and others?) have done is simply wonderful. The new features are spot on!

    Reply
  4. Peteris Krisjanis

    Damien, best for you and rest of Ekiga team in next year, and let’s hope Ekiga 3.0 release will finally bring you recognition you and your team deserve.

    We need kickin ass SIP software for GNOME and Linux in general, so big thanks for doing what you do.

    Reply
  5. Rui

    Hey Damien, this is just to send you a big thank you for keeping developing a vital piece of telecomunications infrastructure on the free desktop. Happy 2008!

    Reply
  6. buzzz

    Thanks for this nice software.
    For the future onference calls with >3 people would be really great. Is it possible for ekiga to support such a feature in the future. I mean the clients ad hoc doing the audio mixing in conferences without the need for a server. Or is such a thing outside the scope of ekiga?

    Reply
  7. Damien Sandras Post author

    buzzz: it could be implemented but it is not on my todo list right now.

    Reply
  8. José

    buzzz : this would be bad to bandwidth : one machine would have to receive all sounds, mix them, and send them to all conferencers. This would grow bandwidth needs very quickly. As for now, VLVC (VideoLan Video Conference) can do it.

    Reply
  9. buzzz

    José: Conferences do require some bandwidth but on the audio side you can save bandwidth by doing audio mixing. So every client only receives and sends one audiostream. Only the mixer client has to communicate with every other client. VLVC does not seems to do audio mixing as far as I can tell (just browsed the documentation for a few minutes).
    If ekiga could do audiomixing it would become a really good skypekiller 😉
    For the videopart of conferences mixing does not seems to be an option.

    Reply
  10. Code Master

    The SIP protocol is not NAT-friendly and it can be difficult to set up SIP access (across the internet) where multiple computers are behind a single NAT when the router does not support SIP VOIP.

    So in Ekiga 3.x, are there any plans to include support of NAT-friendly protocols such as IAX2?

    Reply
  11. Damien Sandras

    Code Master: IAX2 is not more NAT-friendly than SIP, it is a legend. It forces the trafic to go through the server. You can do that with SIP too, and NAT problems go away in that case.

    We have an IAX2 patch.

    Reply
  12. Code Master

    that’s great! How can we do that in SIP so that the protocol become port independent? The NAT problem is the only thing which stop me from ditching SKYPE

    Reply
  13. Praedor Atrebates

    I am a new poster with ekiga and all but really like ekiga (it being the ONLY voip app I have found thus far that suffers no echo problems on either of my computers, just plain works, etc). Being new to posting here and there about ekiga, I tend to have a single issue: encryption.

    With the US government (and others, no doubt at all) spying on virtually everything we send on the net without a warrant and regardless of your location and citizenship, I simply cannot stand simply allowing “Big Brother” to have easy access to even my most inane, contentless emails or voip calls. I want encryption!

    Please please please, give us some privacy protection and add encryption sooner rather than later. I appreciate your work on ekiga, particularly because it is so robust and solid as compared to Skype or Gizmo, but beg that encryption be added…perhaps using zfone.

    Reply
  14. MR Silk

    Ekiga is great, I use direct IP addresses to communicate with friends instead of using SIP, please remember the users of direct IP users like us, who think all the hassle of SIP servers and such is unneccesary if you have a static IP. I think static IP’s will become the standard soon (with IPv6) and
    lots of people will simply use direct IP addresses for their voip communications, with their IP also being their phone number.

    Reply
  15. MR Silk

    I like to watch movies with my computer and I cannot hear an incoming call unless I use software mixing such as the ESD server, which then introduces latency into the audio stream so the movie is out of sync with the audio. Could Ekiga have an option to beep the computers speaker instead? That would be great!

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *