Jitsi - Technologies

Technologies

Jitsi is mostly written in Java which helps reuse most of the same code over the various operating systems it works on. Its GUI is based upon Swing. The project also uses native code for the implementation of platform specific tasks such audio/video capture and rendering, IP address selection, and access to native popup notification systems such as Growl.

The project uses the Apache Felix OSGi implementation for modularity.

Among others Jitsi uses the JAIN-SIP protocol stack for SIP support and the Jive Software Smack library for XMPP.

The fact that Jitsi properly handles IPv6 is especially interesting for direct PC-to-PC (peer-to-peer) communication, for instance, if both sides are 'trapped' behind NAT routers, but obtain a reachable IPv6 address via a tunnel-broker.

The Jitsi community has also completed an ICE implementation called ice4j.org, which it uses to provide NAT traversal capabilities, and assist IPv4 to IPv6 transition.

Read more about this topic:  Jitsi