Project revival: TwoSquares is preserving GNU Telephony's history and preparing an open-source revival. Contributors and collaborators are welcome.
GNU Telephony
Open-source telephony, preserved and being revived
From the historical GNU Telephony project

GNU ZRTP How-To: Compilation and Integration

A step-by-step technical guide for compiling libzrtpcpp, linking it against GNU ccRTP and GNU Common C++, and verifying ZRTP session establishment.

Obsolete Build Instructions

These instructions reference legacy compilers (GCC 4.x), outdated distribution repositories, and obsolete build flags. They are preserved strictly for archaeological and forensic build reproducibility.

ProjectGNU ZRTP
Doc TypeHistorical Deployment & Compilation Guide
Original Date2008-01-20 (Revised 2011-06-15)
RestoredOctober 2026
LicenseGFDL 1.2+
SourceHistorical Archive

§1Historical Build Prerequisites

To compile `libzrtpcpp` from source on a contemporary GNU/Linux system (such as Debian 6.0 Squeeze or Ubuntu 10.04 Lucid Lynx), the following development packages were required:

# Historical apt-get command for Debian/Ubuntu (c. 2010)
sudo apt-get install build-essential cmake pkg-config     libcommoncpp2-dev libccrtp-dev libssl-dev libgcrypt11-dev

Note: Later releases of `libzrtpcpp` (version 2.0+) transitioned from GNU Common C++ to GNU uCommon C++ (`libucommon-dev`).

§2Compiling libzrtpcpp from Tarball

Download the authoritative source archive from the GNU mirror:

tar -xzvf libzrtpcpp-4.6.6.tar.gz
cd libzrtpcpp-4.6.6
./configure --prefix=/usr --enable-shared --with-crypto=gcrypt
make
sudo make install
sudo ldconfig

To verify the library installation: ```bash pkg-config --modversion libzrtpcpp # Expected output: 4.6.6 (or contemporary release) ```

§3Verifying ZRTP in Client Endpoints

When integrating with SIP endpoints such as Twinkle or GNU SIP Witch:

1. Enable ZRTP in client audio preferences. 2. Dial an echo test or another ZRTP-capable client. 3. Observe terminal output: ```text [ZRTP] Hello packet sent... [ZRTP] Hello received from peer. [ZRTP] Negotiating DH-3072 key exchange. [ZRTP] SRTP session established using AES-CFB-128. [ZRTP] Short Authentication String: "bakers-dog" ``` 4. Verbally confirm the SAS words with the remote peer and press the "Verify" key to store the retained secret.

This page reconstructs material originally published at gnutelephony.org. It has been formatted and annotated for archival preservation.
Licensing & Attribution

Historical source: GNU ZRTP. Reproduced or adapted under the GNU Free Documentation License (GFDL) 1.2 or later where stated.

Document Revision Record

Historical revision date: 2008-01-20 (Revised 2011-06-15). Restored to permanent static archive in October 2026.