Parking Bug On Asterisk 1.6.1

It seems that we have uncovered a bug in Asterisk in relation to parking.

I called in from telephone number (PSTN) to DID in the system. The DID is pointed directly to telephone line 1133133.

Call is parked by dialing #*7, I was given “7-0-1” and hold music. However, when the hold music played it was very distorted. While the hold music is distorted, I cannot hang up the call on my Aastra phone. I waited for about 40 seconds and the hold music cleared up and I was able to press the “Goodbye” key on the phone to complete the park.

I was able to duplicate the issue and perform a wireshark capture on the problem. We found that while the Hold audio is distorted to the phone, it is actually FLOODING the phone with RTP. So much that a call recording of a 1:53 call is 104 MB uncompressed! Also when we performed a I/O analysis of the Wireshark capture, you will see the call goes from 80kbps to 15Mbps in the matter of seconds.

Something else to note is that while the packet flood is occurring, EVERY phone that is holding for Park across the system gets the RTP flood. We duplicated this with physically separate locations and different phone manufactures.

Another note, while watching TOP on the Asterisk server the CPU Jumps from around 95% to 215% in seconds and the load average on the server jumps as well.

To recap, when the issue occurs, Asterisk sends huge amounts of RTP traffic as if it is attempting to send the entire hold audio file via RTP as quickly as possible. We have captured this AND it is recorded in the call recording.

Has anyone else experienced this issue? This is crippling us since several of our customer rely on Parking calls.

I will just give you some back ground.

We use a Server configuration for scalability called Enswitch

Server Farm:
Asterisk Server (8 Core 2.4 GHz CPU, 8GB RAM, CentOS)
Asterisk Server (4 Core 2.4 GHz CPU, 4 GB RAM, CentOS)
OpenSIPS Server (4 Core 2.4 GHz CPU, 4 GB RAM, CentOS)
MYSQL Server (8 Core 2.4 GHz CPU, 8GB RAM, RHEL)
NFS Server (4 Core 2.4 GHz CPU, 2GB RAM, DEBIAN)
Web Server (4 Core 2.4 GHz CPU, 2GB RAM, CentOS)

1)We record 80% of the calls into our switch which we write directly to another server with NFS. (Customer’s love this feature)
2) We offer BLF to every phone on our switch
3) We also are offering inbound fax to e-mail to our customers as well.

Unfortunately, 1.6.1 is no longer supported. You will need to either reproduce this on 1.6.2.latest, or analyze it and create a case that there have been no code changes that would have fixed it.

For reference, the only MOH/Parking problems we have had related to upstream PABXes which are re-invited to an external bridge. You can end up with both Asterisk and the PABX sending MOH to the same place.

To be honest, we originally were on 1.6.1 and then upgraded to 1.6.2 try and solve the issue. When we were on, we still had the problem.

If you’ve got the problem on 1.6.2, you’ll want to open an issue report on: