ZAP channel 'answered' but caller still hears ringing tone

I have 8 FXO and 4 FXS modules on on 3 TDM4xxP cards. The FXS modules are not installed on the same PCI card as the FXO modules. I’m using AMPortal 1.10.010.
They are installed on my 2.0GHz AMD Athlon64 machine (nForce 3 chipset, 512MB RAM)

The problem I’m facing is that the FXO modules seem to die after just a couple of months of use. Here are the symptoms I’ve seen

  • A caller calls in
  • The asterisk command line interface sees the incoming call, answers it and plays the pre-recorded message/IVR.
  • However, the caller still hears the ringing tone as if no one has answered the call.

Upon replacing the bad module with a new one, everything goes back to normal, so I know the configuration files are correct.

  • Caller calls in
  • The asterisk command line interface sees the incoming call, answers it and plays the pre-recorded message/IVR.
  • Caller hears pre-recorded message/IVR.
    And it will function correctly for a few months until another module randomly goes bad again.

I’ve tried moving the modules around to be sure that it’s not a bad TDM board/port.

When the FXO module goes bad, I can still dial out through that module. zttool sees all the modules. I only have zttool and ztcfg.

I’m at a loss as to why this happens. The modules look ok, and don’t have any short circuit/burn out signs. Is there a way to ‘reset’ the module? Has anyone else faced this problem? I’ve RMA’d every module that goes bad and Digium just sends me a new one.

I will include my conf files if it’s needed to diagnose this problem.

Additional info:

This is a live system so I can’t easily upgrade to a newer version of AMPortal/FreePBX/Asterisk