Zap on hold problem

Hi everyone, I have a serious problem with calls incoming from a pstn, I can´t transfer it. Asterisk version is 1.2.4 running on Freebsd 6, with zaptel drivers v. 0.11
The call flow:

– Starting simple switch on 'Zap/2-1’
Mar 5 13:46:41 NOTICE[3477]: chan_zap.c:6063 ss_thread: Got event 2 (Ring/Answered)…
– Executing Wait(“Zap/2-1”, “1”) in new stack
– Executing Answer(“Zap/2-1”, “”) in new stack
– Executing Set(“Zap/2-1”, “TIMEOUT(digit)=5”) in new stack
– Digit timeout set to 5
– Executing Set(“Zap/2-1”, “TIMEOUT(response)=3”) in new stack
– Response timeout set to 3
– Executing Set(“Zap/2-1”, “LANGUAGE()=es”) in new stack
– Executing BackGround(“Zap/2-1”, “welcome”) in new stack
– Playing ‘welcome’ (language ‘es’)
== CDR updated on Zap/2-1
– Executing Macro(“Zap/2-1”, “stdexten|233|SIP/233”) in new stack (233 is eyebeam)
– Executing Dial(“Zap/2-1”, “SIP/233|30|t”) in new stack
– Called 233
– SIP/233-7aa8 is ringing
– SIP/233-7aa8 answered Zap/2-1 -------------> I press “line 2” button on eyebeam to call to other extension
– Started music on hold, class ‘default’, on Zap/2-1 ---------> MOH on ZAP

In this point the callee (PSTN) is on MOH, but I can’t return to call 1 to transfer it. After a few minutes the eyebeam says "Failed to place call on hold"
I made test to transfer calls between sip uas and it works fine, the problem is with incoming calls from zap channel.
When I try it with a sipura instead eyebeam, I see the same behaviour, but the zap channel hung up when I try to return to call 1.
On the sip debug I don´t see an asterisk response to the moh invite from eyebeam, is it correct?

Could anybody help me?