In order to have a big leverage on the resources provided by underlying platform, Java implementation is based on a zorg.platform.Platform abstraction.

Architecture

Zorg java has been succesfully integrated in a custom J2ME version of MjSIP inside our PrivateGSM product. We do not provide here the whole SIP/RTP stack, but only the security protocol implementation, namely ZRTP and SRTP.

Main and relevant classes/interfaces are:

  • ZRTP: protocol implementation, state machine and messages
  • SRTP: protocol implementation
  • RtpStack: interface to be implemented by VoIP stack to send ZRTP messages
  • RtpPacket: interface to be implemented by VoIP stack to extraxt fields from RTP packets
  • ZrtpListener: interface to be implemented to receive ZRTP session events
  • Platform: all underlying interfaces requires an implementation specific to working platform

TODO: publish a working sample with 2 in-memory zorg sessions, establishing a ZRTP handshake

Platform abstraction


Basically it abstracts Crypto utils, logging, RandomGenerator, Addressbook integration and persistent storage for ZRTP cache.

Blackberry back-end

Along with ZRTP protocol implementation, we provide sources for blackberry backend implementation. 

J2SE back-end

We do not provide a J2SE back-end but it should be fairly simple and quick to develop. We encourage community to do it and to share it.

  • No labels