Coder management problems

We use external AudioCodes FXO/FXS for voip, and are using Asterisk 1.2.0 as a call router. This had been working fine, and we were using G723.1 as coder since it is supported by the FXO/FXS and is very efficient (in the fxs->fxo direction we have rather low bandwidth).

However, now we want to (in fact, need to) start using * as a pbx - in other words, having it deliver messages to the caller, and receive the entered extensions before looking them up and forwarding the call. We still want the actual calls to use g723, but asterisk itself needs to use gsm for delivering the messages. This seems to be a problem…

If I use this in my sip.conf:
; set up codecs
disallow=all
allow=g723.1
allow=g729
allow=gsm

Asterisk displays an error message about the message that it wants to deliver (can’t convert gsm to g723) and terminates the call.

However, if I use:

; set up codecs
disallow=all
allow=gsm
allow=g723.1
allow=g729

Everything works fine, but the call goes through using gsm, rather than g723.

Is there some way I can make this whole system work the way I want here??