ZRTP on FreeSwitch -> Videobridge call leg


#1

Hi,

We are trying to use zrtp to secure media on a call leg between a FreeSwitch and Jitsi Videobridge (running with rtp-level-relay-type=mixer, raw udp transport), controlled over the REST interface).

The setup works as expected without zrtp. When trying to enable zrtp (from the FreeSwitch side), it can be seen that it is trying to send zrtp HELLOs but is not getting any responses, and after a while it gives up and runs without zrtp.

Basically wondering if this approach is even at all possible? Would we perhaps need to enable something on the Viodeobridge for zrtp? I find this code in the Videobridge RtpChannel.java (and have verified that it hits the accept == false), wondering if that is related …

/*
 * Prior to adding support for DTLS-SRTP to Jitsi Videobridge,
 * the SrtpControl of the MediaStream of this Channel was set to
 * a ZrtpControl. Consequently, the RTP PacketTransformer of
 * ZrtpControlImpl used to swallow the ZRTP messages. For the
 * purposes of compatibility, do not accept the ZRTP messages.
 */
if (v == 0)
{
    if ((data[off] & 0x10) /* x */ == 0x10)
    {
        byte[] zrtpMagicCookie = ZrtpRawPacket.ZRTP_MAGIC;

        if ((data[off + 4] == zrtpMagicCookie[0])
                && (data[off + 5] == zrtpMagicCookie[1])
                && (data[off + 6] == zrtpMagicCookie[2])
                && (data[off + 7] == zrtpMagicCookie[3]))
        {
            accept = false;
        }
    }
}

#2

Hi Jonas,

Sorry for the late reply. Jitsi-videobridge currently does not support ZRTP.

Boris