Jabber has been replaced by XMPP.
libjingle is a collection of open-source C++ code and sample applications that enables you to build a peer-to-peer application. The code handles creating a network connection (through NAT and firewall devices, relay servers, and proxies), negotiating session details (codecs, formats, etc.), and exchanging data. It also provides helper tasks such as parsing XML, and handling network proxies. You could build the following programs with libjingle:
A multi-user voice chat application
A multi-user video conferencing application
A multi-user live music streaming application
A peer-to-peer file sharing application
I do not have extensive C or C++ skills either or I would be giving the combination of libjingle and XMPP serious consideration. I quit programming in C with the introduction of the .Net Framework. Contrary to popular belief, it is capable of producing applications that perform as well as C++ apps but in half of the development time.
Google has assembled alot of documentation and sample code here that would be helpful to Martin since he is proficient in and prefers C++:
http://code.google.com/apis/talk/libjingle/index.htmlI myself, because of my .Net background am considering a solution based on the Windows Communication Foundation (WCF).
If you guys wind up using XMPP / Jingle, I will look into creating a .Net based implementation of it for the Commander project so that it would be compatible.
However, in order to implement any such tool, you will need some type of web service that performs authentication for whatever your chat client ends of being. When Martin and I initially attempted to discuss a chat project, we could not seem to agree that a webservice would be produced on your end for authentication. Therefore, I decided that if I could not authenticate users of the menu system to an X-Sim account, that I would need to create my own authentication mechanism that is web services based. This is mostly complete and has an extrememely robust role / membership model that I am pleased with.
In any case, before you give too much consideration to VOIP protocols, etc.. please consider how you will authenticate members to whatever this chat client winds up being.
If I can help in some way please let me know.