Zorg implements all the mandatory features of the ZRTP protocol, and the following notable optional features:
Additionally, Zorg supports the following extensions to the ZRTP specification:
Support for the following optional features depends on the SRTP implementation used:
In the interest of providing a compact implementation of ZRTP for secure peer-to-peer communications only, Zorg does not implement GoClear/ClearACK, nor any proxy or MitM feature.
The SRTP implementation and all cryptographic primitives are implemented as modules with an abstract binary interface. Default implementations are provided, but any compliant implementation can be substituted, for example:
Zorg lets applications tune the (otherwise hardcoded by the ZRTP specification) retransmission schedule, to meet the requirements of mobile networks.
The Java implementation is designed to run with minimal Java API support (it runs on J2ME MIDP 2.0) and to have a very low memory footprint by reducing JVM garbage collector runs.
Keep in mind that running VoIP realtime applications in
on a JVM require extreme care about the garbage collection to avoid getting frequent hole in secure audio flow or even mobile phone reboot.