[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
>>>
>>>
- [Linphone-users] ZRTP on Android, Daniel Muller, 2013/06/04
- Re: [Linphone-users] ZRTP on Android, Guillaume Beraudo, 2013/06/05
- Re: [Linphone-users] ZRTP on Android, Daniel Muller, 2013/06/05
- Re: [Linphone-users] ZRTP on Android, Alexander Kozyrev, 2013/06/05
- Re: [Linphone-users] ZRTP on Android, Guillaume Beraudo, 2013/06/05
- Re: [Linphone-users] ZRTP on Android, Daniel Muller, 2013/06/17
- Re: [Linphone-users] ZRTP on Android, Guillaume Beraudo, 2013/06/18
- Re: [Linphone-users] ZRTP on Android, Daniel Muller, 2013/06/18
- Re: [Linphone-users] ZRTP on Android,
Eli Burke <=