With recent version of Linphone, linphonerc configuration parameter :
triggers any incoming/outgoing rtp packets to be silently discarded until key negotiation has succeed.
I'll take a closer look at the code you mentioned.
Like Eli, I'm also very interested in what you described. I'd rather have linphone not establish any communication at all if the channel isn't secure, rather than have it start to send and receive unsecured RTP while waiting for the ZRTP negotiation to conclude.
Linphone-developers mailing list