How to add Zorg to PJSIPFirst, you need:
Then:
This should be enough! To actually enable ZRTP, remember to add the following line to your pj/config_site.h before building:#define PJMEDIA_HAS_ZRTP 1RequirementsWindows buildVisual Studio 2005 or later is required to build PJSIP with Zorg. Symbian buildThe S60 SDK (either 3rd or 5th edition) and the OpenC/C++ plugin are required to build PJSIP with Zorg. OpenC/C++ is only required to build PJSIP with Zorg, Zorg doesn't actually depend on the OpenC/C++ runtime. The OpenC/C++ SDK plugin has a bug: manually patch the SDK as described in the Open C incorrectly implements offsetof knowledge base article. Known issuesThe patch includes an update to libsrtp; zrtp.org might work with an older version, but it hasn't been tested. The Windows build environment only supports Visual Studio 2005 and later The UNIX build environments is currently unsupported. The Symbian build environment is broken by default, and needs to be patched by hand; see the Symbian build section above for more information. Description of the changesBuild systemThe integration adds the following new build-time configuration macros:
PJMEDIAThe integration adds a new media (RTP) transport to PJMEDIA, which will automatically try to enable ZRTP security on every stream (unless disabled). PJSUA-LIBAll features of the ZRTP transport are available from PJSUA-LIB, either as extensions to the PJSUA call object or as new global functions. PJSUACommand line optionsNew per-account command line options: --zrtp-use=N Use ZRTP? 0:disabled, 1:optional, 2:mandatory (def:1) --zrtp-id=IN ZRTP ZID (24 hexadecimal characters, or '*' for random) --zrtp-flags=FLAGS ZRTP flags: (def:cSdO) C/c enable/disable allowclear S/s enable/disable autosecure D/d enable/disable disclose_bit O/o enable/disable discovery_optimization --zrtp-cachettl=S Set TTL of cached ZRTP secrets to S seconds (def:30 days) --zrtp-masquerade=N Masquerade ZRTP messages as media packets? 0:no, 1:yes, 2:always (def:0)New global command line options: --zrtp-global-id=IN Default ZRTP ZID (24 hexadecimal characters, or '*' for random) --zrtp-clientid=ID ZRTP peer id --zrtp-cache=FILE ZRTP secrets cache fileHere's what they do:
Run-time commandsNew commands available while PJSUA is running: | z Toggle ZRTP secure/clear mode ZV Set ZRTP SAS Verified flag |And here's what they do:
|

