IAX2 encryption: calls end abrutly due to normal packet loss
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Asterisk |
Unknown
|
Unknown
|
|||
asterisk (Debian) |
Fix Released
|
Unknown
|
|||
asterisk (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: asterisk
As described upstream, IAX2 encryption is broken in the Jaunty version of asterisk:
If an iax channel is encrypted, and a retransmit frame is sent, that packet's iseqno
is updated while it is encrypted. This causes the entire frame to be corrupted. When
the corrupted frame is sent, the other side decrypts it and sends a VNAK back because
the decrypted frame doesn't make any sense. When we get the VNAK, we look through the
sent queue and send the same corrupted frame causing a loop. To fix this, encrypted
frames requiring retransmission are decrypted, updated, then re-encrypted. Since
key-rotation may change the key held by the pvt struct, the keys used for
encryption/
This makes it practically impossible to turn IAX2 encryption in most of my calls
because the connection constantly cuts off. So it's a very serious bug for anybody using
encryption with Asterisk.
I have attached a debdiff which applies the upstream patch on the current Jaunty version.
Related branches
Changed in asterisk: | |
status: | New → Confirmed |
Changed in asterisk (Debian): | |
status: | Unknown → Fix Released |
I have also uploaded a fixed package to my PPA:
deb http:// ppa.launchpad. net/fmarier/ ppa/ubuntu jaunty main