Delayed speaking digits

I just got a TDM400 card working in our asterisk server version 1.2.1 on Fedora core 4. Phones off our FXS ports work just fine, but incoming calls to our FXO ports do not. Here is what my dial plan looks like for my FXOs.

exten => s,1,Answer()
exten => s,2,SayDigits(1234)
exten => s,3,Hangup()

When I dial into the asterisk server I hear on “234.” The “1” gets cutoff. This happens on Playback and SayNumber as well. What could be causing this. I have tried turning off callerid and setting immediate to yes but neither have worked.

Here is the outbut from the CLI.

-- Starting simple switch on 'Zap/3-1'

Feb 8 15:08:37 NOTICE[7416]: chan_zap.c:6031 ss_thread: Got event 18 (Ring Begin)…
Feb 8 15:08:39 NOTICE[7416]: chan_zap.c:6031 ss_thread: Got event 2 (Ring/Answered)…
– Executing Answer(“Zap/3-1”, “”) in new stack
– Executing SayDigits(“Zap/3-1”, “1234”) in new stack
– Playing ‘digits/1’ (language ‘en’)
– Playing ‘digits/2’ (language ‘en’)
– Playing ‘digits/3’ (language ‘en’)
– Playing ‘digits/4’ (language ‘en’)
– Executing Hangup(“Zap/3-1”, “”) in new stack
== Spawn extension (incoming, s, 3) exited non-zero on ‘Zap/3-1’
– Hungup ‘Zap/3-1’

I appreciate any suggestions.

Put before Play some sleep - at least 500 ms.

What is the correct syntax to sleep?

Nevermind. I used the Wait function. This seems like just a workaround. I must have something not configured right and that’s why it’s cutting off the first digit. Where can I look?

I’ve run into this quite a bit. I usually put in a wait(1) in front of any of the voices that I play at the very beginning of the script. Not sure how common it is…but is pretty common occurance for me.