CELP, as proposed by Brian Degenhardt of Switchvox, is a perfect solution to this. Not sure what the current status is of this, but I know it is implemented in Switchvox and was being worked on externally.