   SEMS
     * [1]Main Page
     * [2]Related Pages
     * [3]Namespaces
     * [4]Data Structures
     * [5]Files
     * [6]Directories
     * [7]Examples

   ZRTP encryption

Introduction

   ZRTP is a key agreement protocol to negotiate the keys for encryption
   of RTP in phone calls. It is an [8]informational RFC - RFC6189 ZRTP:
   Media Path Key Agreement for Unicast Secure RTP.

   Even though it uses public key encryption, a PKI is not needed. Since
   the keys are negotiated in the media path, support for it in signaling
   is not necessary. ZRTP also offers opportunistic encryption, which
   means that calls between UAs that support it are encrypted, but calls
   to UAs not supporting it are still possible, but unencrypted. The
   actual RTP encryption is done with [9]SRTP.

   ZRTP is one of the widest (if not the widest) supported end-to-end
   encryption methods for VoIP. Popular SIP clients that support ZRTP are
   [10]Jitsi, CSipSimple, Twinkle, Linphone.

   For more information about ZRTP, see the [11]Zfone project, the [12]RFC
   and the [13]wikipedia article.

ZRTP in SEMS

   Since the version 1.0 SEMS supports ZRTP with the use of the [14]Zfone
   SDK.

   Currrently, the newest version of the ZRTP SDK, and the one that works
   with SEMS, is available at [15]https://github.com/traviscross/libzrtp.

   To build SEMS with ZRTP support, install the SDK and set WITH_ZRTP=yes
   in Makefile.defs, or build with
 $ make WITH_ZRTP=yes

   The conference application is enabled to tell the caller the SAS phrase
   if it is compiled with WITH_SAS_TTS option, set in
   apps/conference/Makefile. For this to work, the [16]flite
   text-to-speech synthesizer version 1.2 or 1.3 is needed.

How to use ZRTP in your application

   Have a look at the conference application on how to add ZRTP support in
   your application. There is a void AmSession::onZRTPEvent(zrtp_event_t
   event, zrtp_stream_ctx_t *stream_ctx) event that is called with the
   appropriate ZRTP event type and the zrtp stream context, if the state
   of the ZRTP encryption changes. The zrtp_event are defined in the Zfone
   SDK, e.g. ZRTP_EVENT_IS_SECURE.

Licensing

   The Zfone SDK is licensed under the Affero GPL v3. As SEMS is licensed
   under GPL 2+, you may use SEMS under GPLv3 and link with libZRTP under
   Affero GPL v3. You may use the resulting program under the restrictions
   of both GPLv3 and AGPLv3.

   Note that due to the nature of the GPL, without written consent of the
   authors of SEMS as with any other non-free library, it is not possible
   to distribute SEMS linked to specially licensed commercial version of
   the libZRTP SDK, nor the AGPL version. If in doubt, talk to your
   lawyer.

Phones with ZRTP

     * [17]Zfone turns every softphone into a secure phone by tapping into
       the RTP sent and received
     * [18]Jitsi
     * [19]Twinkle is a very good free softphone for Linux. It can speak
       ZRTP with the use of GNU [20]libzrtpcpp.
     __________________________________________________________________


    Generated by  [21] doxygen 1.7.6.1

References

   1. file://localhost/home/stefan_plain/devel/sems/zrtp/sems/doc/doxygen_doc/html/index.html
   2. file://localhost/home/stefan_plain/devel/sems/zrtp/sems/doc/doxygen_doc/html/pages.html
   3. file://localhost/home/stefan_plain/devel/sems/zrtp/sems/doc/doxygen_doc/html/namespaces.html
   4. file://localhost/home/stefan_plain/devel/sems/zrtp/sems/doc/doxygen_doc/html/annotated.html
   5. file://localhost/home/stefan_plain/devel/sems/zrtp/sems/doc/doxygen_doc/html/files.html
   6. file://localhost/home/stefan_plain/devel/sems/zrtp/sems/doc/doxygen_doc/html/dirs.html
   7. file://localhost/home/stefan_plain/devel/sems/zrtp/sems/doc/doxygen_doc/html/examples.html
   8. http://tools.ietf.org/html/rfc6189
   9. http://www.ietf.org/rfc/rfc3711.txt
  10. http://www.jitsi.org/
  11. http://zfoneproject.com/
  12. http://tools.ietf.org/html/rfc6189
  13. http://en.wikipedia.org/wiki/ZRTP
  14. http://zfoneproject.com/prod_sdk.html
  15. https://github.com/traviscross/libzrtp
  16. http://cmuflite.org/
  17. http://zfoneproject.com/
  18. http://www.jitsi.org/
  19. http://twinklephone.com/
  20. http://www.gnutelephony.org/index.php/GNU_ZRTP
  21. http://www.doxygen.org/index.html
