[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