Encrypting (S)RTP via ZRTP (key exchange in RTP)
ZRTP is a method for the end-to-end exchange of encryption keys. Caller and callee will directly exchange the keys that will be used to encrypt the audio stream, without any third-party intervention. No proxy is involved; no information is exchanged in SIP(S) or SDP: Key exchange is peer-to-peer via Diffie-Hellmann, in the RTP stream itself, in its initial phase.
ZRTP is compiled by default in FreeSWITCH. If clients support ZRTP, the session will be encrypted in the safest mode possible.
ZRTP is a young protocol, and is already implemented by some softphones (Blink, CSipSimple, iCall, Jitsi, Linphone, Phoner, SFLPhone, Twinkle, Zfone, and Zoiper has announced) but by almost no hardphone or ATA.
There are two ways to solve the lack of hardware devices implementing ZRTP. If you're using a softphone that does not support ZRTP, you can install on the client machine "Zfone", a software utility that will act as a "filter", encrypting and decrypting...