TDM24xxP DTMF problem

hi,

if there is people who can help me solving my problem

i am using :

-asterisk 1.4.23
-tdm24xxp
-Debian lenny
-country : Senegal
here is the problem:

i use to make asterisk based calling card system for callcenter. i have never had a problem with except this one that use a tdm24xxp

system ask people to enter their 12 digits pin code and it veriy with an php agi is the pin is correct or not and then redirect it to the queue or play a invalid_code sound and hangup.

all is ok when people call from other than cellphone.

with cellphone there is differents situations , sometime it works sometime no
and when it fails :
*sometime dtmf input are not complete (when 123456789000 is entered it take on some digits)
*sometime nothing

but always hangup call with “User disconnected”

my files :

extensions.conf
exten => s,1, Answer
exten => s,2, playback(welcome_file)
exten => s,3, Read(CODE|beep|0)
exten => s,4, Agi(myAGI.php|${CODE})

Zapata.conf:
relaxdtmf = yes
toneduration=300
rxgain=0.0
txgain=0.0
usecallerid =yes