Choppy music on hold over IAX trunk

I have an interesting issue. All calls that traverse my IAX trunk have choppy music on hold. The best I can describe it is as though it’s just canceling out every half-second or so. It gets quiet and then comes back several times per second.

I don’t have any hardware connecting to the PSTN, so my first thought was a timing issue, but the DAHDI pseudo device seems to be working fine, I get an average rating of 99.99% through dahdi_test.

My second thought was an improper codec for the music, but I’ve tried everything! GSM, ulaw, even MP3, they all sound the same.

Curiously, this only seems to affect calls over the IAX channel, I created a temporary SIP trunk between the two PBXs and routed a test call across them with hold music and it sounded just fine.

Once the call over IAX establishes I don’t notice any problems though, it only seems to happen while the call is ringing. I even put my headphones up to the headset and played music across the established call and it sounded great on the other end.

Also, a standard ring tone over the IAX channel works just fine, it only seems to affect music. I know the music is being played from the receiving PBX (as dictated in my dialplan logic), which I’m assuming is the problem, although I don’t really understand why. I know I could write an AGI to handle the music on the local PBX, but I feel like there should be an easier way around this.

Anybody have any ideas?

Bump? Anybody?