linphone-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Linphone-users] ZRTP on Android


From: Eli Burke
Subject: Re: [Linphone-users] ZRTP on Android
Date: Tue, 18 Jun 2013 08:30:40 -0400

Daniel,

I encountered similar behavior earlier this year. By any chance are you using 
Freeswitch in proxy-media mode? Freeswitch is hard-coded to look for the 
zrtp-hello-hash in order to enable passing ZRTP variables between two call 
legs. If the client does not support sending a zrtp-hello-hash, it can never 
establish a secure call that has Freeswitch in the middle. You may be able to 
verify this by trying ZRTP on a one-legged call to an server-side extension 
that echoes back or plays music, or by switching your config to bypass-media. 

At any rate, stock Linphone does not implement the optional zrtp-hello-hash 
extension. I submitted a patch:
http://lists.nongnu.org/archive/html/linphone-developers/2013-02/msg00031.html
and it was successfully used by someone to modify the Android client:
http://lists.nongnu.org/archive/html/linphone-developers/2013-02/msg00033.html

There is another patch that fixes a sequence number handling issue that COULD 
cause ZRTP compatibility problems with non-Linphone clients:
http://lists.nongnu.org/archive/html/linphone-developers/2013-04/msg00082.html

I should add that my patches have not been integrated back into Linphone; the 
developers reported that it caused a crash when enabling video after 
establishing an audio call. We don't use video so I have not seen this. But in 
my client the audio becomes corrupted when pausing and resuming a call. The 
common element is that both scenarios cause renegotiation of the media streams. 
I suspect that the key is either not being updated, or is zeroed and never 
re-set. It's on my short-list to investigate further, but if you have any C/C++ 
development experience I encourage you to have a look. The patches are pretty 
short and simple, and indicate the exact places in the code where ZRTP is used. 

-Eli

On Jun 18, 2013, at 3:56 AM, address@hidden wrote:
> 
> Date: Tue, 18 Jun 2013 09:56:28 +0200
> From: Daniel Muller <address@hidden>
> To: linphone-users <address@hidden>
> Subject: Re: [Linphone-users] ZRTP on Android
> Message-ID:
>       <address@hidden>
> Content-Type: text/plain; charset="iso-8859-1"
> 
> Thanks I will keep doing only the make now on..
> 
> Yes, the peer is a twinkle on which I made ZRTP calls successfully before
> with a windows build of linphone.
> I will try this evening or some of the next ones with another linphone,
> just in case.. But, well, if twinkle worked with one, it could work with
> other.
> 
> ----
> Daniel Muller, Prague, CZ
> 
> 
> On Tue, Jun 18, 2013 at 9:07 AM, Guillaume Beraudo <
> address@hidden> wrote:
> 
>> Hi,
>> 
>> First, note that you should do "make" to build the application and not
>> run prepare_sources.sh yourself anymore.
>> 
>> 
>> What you see on the traces is that your phone tries to initiate a ZRTP
>> dialog.
>> However it gets no answer for the peer and thus ZRTP fails.
>> 
>> 
>> Do you have ZRTP enabled on peer?
>> 
>> 
>> Guillaume
>> 
>> On Mon, Jun 17, 2013 at 11:10:53PM +0200, Daniel Muller wrote:
>>> Ok, now with r8d
>>> 
>>> I ran make BUILD_GPLV3_ZRTP=1 BUILD_AMRWB=1
>>> and ./prepare_sources.h with same params
>>> also run eclipse that has bult the java projects
>>> tun debugger
>>> configured media_encryption to be zrtp and debug on
>>> and this is ZRT filtered log cat..
>>> 
>>> 06-17 21:06:30.998: I/Linphone(839): Initialized ZRTP context
>>> 06-17 21:06:31.258: I/Linphone(839): Starting ZRTP engine
>>> 06-17 21:06:31.258: I/Linphone(839): sent ZRTP Hello    59827
>>> 06-17 21:06:31.629: I/Linphone(839): sent ZRTP Hello    59828
>>> 06-17 21:06:31.868: I/Linphone(839): sent ZRTP Hello    59829
>>> 06-17 21:06:32.138: I/Linphone(839): sent ZRTP Hello    59830
>>> 06-17 21:06:32.609: I/Linphone(839): sent ZRTP Hello    59831
>>> 06-17 21:06:33.248: I/Linphone(839): sent ZRTP Hello    59832
>>> 06-17 21:06:34.038: I/Linphone(839): sent ZRTP Hello    59833
>>> 06-17 21:06:34.569: I/Linphone(839): sent ZRTP Hello    59834
>>> 06-17 21:06:34.769: I/Linphone(839): sent ZRTP Hello    59835
>>> 06-17 21:06:34.968: I/Linphone(839): sent ZRTP Hello    59836
>>> 06-17 21:06:35.178: I/Linphone(839): sent ZRTP Hello    59837
>>> 06-17 21:06:35.348: I/Linphone(839): Stopping ZRTP context
>>> 06-17 21:06:35.358: I/Linphone(839): Destroying ZRTP wrapper
>>> 06-17 21:06:35.358: I/Linphone(839): Destroying ORTP-ZRTP mutex
>>> 06-17 21:06:35.358: I/Linphone(839): ORTP-ZRTP context destroyed
>>> 
>>> 
>>> Obviously the ZRTP did not hold too long.
>>> What might be wrong now?
>>> Do you think my libs are built well already?
>>> 
>>> 
>>> ----
>>> Daniel Muller, Prague, CZ
>>> 
>>> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]