CallerID and Distinctive Ring together on BT UK?

I have been using Asterisk for quite some time now, and have usually managed to get it to do what I want without too much difficulty. However, I have never managed to get incoming caller ID and Distinctive Ring detection to work at the same time, from a BT line connected to an FXO port.

My current configuration is:

System running Debian squeeze amd64.
asterisk 1.6.2.9 (Debian package version1:1.6.2.9-2+squeeze1)
dahdi 2.2.1.1 (1:2.2.1.1-1) (modules from source version 2.3.0.1 (1:2.3.0.1+dfsg-2))

(together with their dependencies of course).

My card is an effective AEX431E - though the FXS and FXO modules were actually transferred from another card.

The effect I get is always that, if I have both caller ID detection and distinctive ring detection enabled (with or without the option for “after caller ID”), the reported ring pattern is always 0,0,0 - regardless of whether the incoming call is a normal, CallSign or Ringback call.

I have seen the ring patterns detected, but only with caller ID reception not enabled. As caller ID is actually the more important to me, I have left distinctive ring detection off - it does still allow me to detect ringbacks, as they have the caller ID name set to “RINGBACK” - but it might be more efficient to use the distinctive ring detection.

Is there anything I can do to get both of these features working together?