|Subject:||[Linphone-developers] patch to fix ZRTP sequence number handling|
|Date:||Tue, 30 Apr 2013 12:46:12 -0400|
Attached is a patch to oRTP that fixes incorrect handling of ZRTP sequence numbers. We encountered a consistent error when connecting between Linphone and Groundwire using ZRTP (note: compatibility with Groundwire requires my previously submitted zrtp-hash patch).
Bug details: Linphone sends ZrtpHello and receives Groundwire's ZrtpHelloAck, followed by ZrtpHello with a lower sequence number. This packet gets dropped with the error "Discarding received out of order zrtp packet:..." and Linphone never completes the ZRTP handshake.
Though you may conclude that Groundwire is misbehaving, it is in fact in compliance with the RFC, which simply says:
The Sequence Number is a count that is incremented for each ZRTP packet sent. The count is initialized to a random value. This is useful in estimating ZRTP packet loss and also detecting when ZRTP packets arrive out of sequence.
I have confirmed with Werner Dittmann (author of ZrtpCpp) that the sequence number is only intended for diagnostic purposes and not for enforcing any kind of packet ordering.
Description: Text document
|[Prev in Thread]||Current Thread||[Next in Thread]|