Hi,
We just released version 1.1.6 of Mumble (http://mumble.sourceforge.net), which is a low-latency VoIP tool for social gaming. Mumble's server component (called murmur) uses ICE as a RPC mechanism, allowing remote integration with other programs.
So far, we ship small examples of listing connected users through a PHP page, as well as simple remote administration. I know some of the users have developed game-server linking using ICE; they use it to match groups and teams on the VoIP server with the in-game equivalent, making sure you communicate with the right people (and not the "enemy").
The only technical challenge when implementing ICE was that our code uses as few mutexes as possible, and was designed with an event-based approach for network communication (default Qt thread). Also, Qt didn't like it when we started Qt threads from non-Qt threads. We solved this by using AMD and packaging function calls with boost::bind which could then be sent as events to the original thread. This allowed the code to remain lock-free, and allows the critical part of the server (handling the VoIP clients) to remain the top priority for dispatching.
I must say I really like ICE. Unlike other RPC mechanisms we've tried, it has worked without any problems on all our platforms (Win32, OSX and Linux) with all the supported languages. It's also actively maintained in quite a few Linux distros, which makes deployment much easier. Additionally, questions and bugreports have been answered and fixed in a matter of hours. Great work![]()

Reply With Quote
