linphone-developers
[Top][All Lists]
Advanced

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

Re: [Linphone-developers] Failure to establish ZRTP sessions using linph


From: Werner Dittmann
Subject: Re: [Linphone-developers] Failure to establish ZRTP sessions using linphone-iphone built from source
Date: Sat, 02 Feb 2013 08:02:39 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0

Am 01.02.2013 22:19, schrieb Eli Burke:
> Peter,
> 
> I'm glad to know I'm not alone in this! The silence here and on the 
> Freeswitch mailing list has been somewhat discouraging.
> 
> Like you, I had also tried disabling the CRC check and observed the garbled 
> audio.. I think it's due to the progressive nature of the hash on the ZRTP 
> packets..
> once it goes wrong, it stays wrong.
> 
> Today I observed something interesting while examining ZRTP hello packets 
> with Wireshark. When I establish a connection between two Groundwire clients, 
> the ZRTP
> Hello packet is passed through Freeswitch unaltered. When I use two 
> Linphones, or one of each as either the caller or callee, that's when I see 
> the SSRC change
> as it passes through Freeswitch.
> 
> My new speculation is that some detail setting in the ZRTP hello packet is 
> responsible. I'll be looking at it more next week, but FWIW, here are the 
> respective
> bits of packet, starting immediately after the ZID:

It's not a problem in ZRTP packets, it's the way FreeSwitch (FS) works if I'm 
not completely mistaken.
FS terminates the RTP session from the SIP client and opens a new RTP session 
to the other client, thus
FS it's not "transparent" with regard to RTP. Obviously both RTP sessions have 
different SSRCs which is
correct according to the RTP spec (RFC 3550).

I'm not sure about the current implementation of FS (you may ask on the FS 
mailing list), however since some
time FS permits transparent RTP handling if both clients add the "zrtp-hash" 
attribute to the SIP/SDP
data. If FS detects this attribute it knows that both clients support ZRTP and 
that it shall just passthru
the RTP packets. Groundwire adds this SIP/SDP attribute. You may have a look at 
the SIP data that
Groundwire sends and compare it with Linphone's data.

Or you configure FS to bypass media (as noted in the email below) if your 
network configuration
permits it.

A short time ago someone on this list stated that Linphone does not support the 
"zrtp-hash" attribute
in SIP/SDP. That's an optional attribute but some switches (FS, maybe Astrisk) 
use it the change their
internal handling of RTP dynamically.

Werner

> http://tools.ietf.org/html/rfc6189#section-5.2
> 
> Here is Linphone:  
> 00050                            00 01 12 21 53 32 35 36            ...!S256
> 00060   41 45 53 31 48 53 33 32  48 53 38 30 44 48 33 6b    AES1HS32HS80DH3k
> 00070   4d 75 6c 74 42 33 32 20  7b a2 28 be dd b5 b1 70    MultB32 {.(....p
> 00080   0d 69 39 db                                         .i9.
> 
> And here is Groundwire: 
> 00050                            00 02 32 12 53 32 35 36            ..2.S256
> 00060   53 33 38 34 41 45 53 33  41 45 53 32 41 45 53 31    S384AES3AES2AES1
> 00070   48 53 33 32 48 53 38 30  44 48 33 6b 42 32 35 36    HS32HS80DH3kB256
> 00080   42 33 32 20 5a 9d dc 01  57 32 72 72 08 51 18 b4    B32 Z...W2rr.Q..
> 
> Off the top of my head I see variations in the hash, and the passive flag, 
> among others.
> 
> -Eli
> 
> On Jan 31, 2013, at 12:00 PM, address@hidden <mailto:address@hidden> wrote:
> 
>> Date: Thu, 31 Jan 2013 01:37:00 +0000
>> From: Peter Kosztolanyi <address@hidden <mailto:address@hidden>>
>> To: address@hidden <mailto:address@hidden>
>> Subject: Re: [Linphone-developers] Failure to establish ZRTP sessions
>> usinglinphone-iphone built from source
>> Message-ID: <address@hidden <mailto:address@hidden>>
>> Content-Type: text/plain; charset=us-ascii
>>
>> I have exactly the same problem with the same scenario. I made some 
>> additional investigations, maybe it can help to find the what's going wrong.
>>
>> 1) Enabling proxy-media in freeswitch, disabling the ZRTP CRC check in oRTP 
>> and recompiling linphone onto two devices (android & iPhone):
>> Result: Connection is encrypted, same SAS on both legs but serious problem 
>> with the voice. It's scratching and beeping.
>>
>> 2) Enabling bypass-media in freeswitch and using the original oRTP for 
>> linphone:
>> Result: Connection is encrypted, same SAS on both legs, clear voice. Btw it 
>> works only if the two devices on the same network but this is normal.
>>
>> So I think linphone works correctly and we have to look around what 
>> proxy-media is really doing in freeswitch and why it is modifying the 
>> packets.. but any
>> other idea welcomed.
> 
> 
> 
> _______________________________________________
> Linphone-developers mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/linphone-developers
> 


-- 
----------------------------------------------
Werner Dittmann    address@hidden
Tel +49 173 44 37 659
PGP key: 82EF5E8B



reply via email to

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