Auto-dialout not waiting for ZAP channel to answer

I am trying to implement a callback feature (Ast. 1.2.14, Trixbox 2.0) and I want to start playing the prompts after the ZAP dialout channel is answered by the callee. But in fact it looks like the auto-dialout engine assumes the channel is answered as soon as the dial command is issued. I wonder if there is any workaround for this. Here are parts of my config, below a slice from the traces and thanks for your help. My card is a TDM400P

M.

Call file (test1.call):

Channel: Local/94153552912@custom-do-cb0
MaxRetries: 2
CallerID: Mromas<1234>
RetryTime: 30
WaitTime: 30
Context: custom-do-cb1
Extension: 1
Priority: 1

extensions_custom.conf

; this is supposed to “callback” by dialing out
[custom-do-cb0]
exten => _9.,1,Noop(custom-do-cb0_9:${EXTEN})
exten => _9.,n,Macro(dialout-trunk,1,${EXTEN:1},)
exten => _9.,n,Macro(outisbusy,)

; this is supposed to prompt once the dialout call is answered
[custom-do-cb1]
exten => 1,1,Noop(custom-do-cb1)
exten => 1,n,Answer()
exten => 1,n,Swift(Hi, I am calling you back)
exten => 1,n,Goto(app-directory,#,1)

Trace

-- Attempting call on Local/94153552912@custom-do-cb0/n for 1@custom-do-cb1:1 (Retry 1)
-- Executing NoOp("Local/94153552912@custom-do-cb0-9479,2", "custom-do-cb0_9:94153552912") in new stack
-- Executing Macro("Local/94153552912@custom-do-cb0-9479,2", "dialout-trunk|1|4153552912|") in new stack

-- Executing Dial("Local/94153552912@custom-do-cb0-9479,2", "ZAP/g0/4153552912|300|") in new stack
-- Called g0/4153552912
-- Zap/4-1 answered Local/94153552912@custom-do-cb0-9479,2
   > Channel Local/94153552912@custom-do-cb0-9479,1 was answered.

|MY NOTE| : THIS IS NOT TRUE, IT WAS NOT ANSWERED YET

-- Executing NoOp("Local/94153552912@custom-do-cb0-9479,1", "custom-do-cb1") in new stack
-- Executing Answer("Local/94153552912@custom-do-cb0-9479,1", "") in new stack
-- Executing Swift("Local/94153552912@custom-do-cb0-9479,1", "Hi| I am calling you back") in new stack
-- Executing Goto("Local/94153552912@custom-do-cb0-9479,1", "app-directory|#|1") in new stack
-- Goto (app-directory,#,1)
-- Executing Answer("Local/94153552912@custom-do-cb0-9479,1", "") in new stack
-- Executing Wait("Local/94153552912@custom-do-cb0-9479,1", "1") in new stack
-- Executing AGI("Local/94153552912@custom-do-cb0-9479,1", "directory||from-did-direct|be") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/directory

directory||from-did-direct|be: Notice: vm-context not specified. Using ‘default’
– Playing ‘dir-intro-fnln’ (language ‘en’)
– Hungup ‘Zap/4-1’

:question:

Unfortunately, this is a known shortcoming of analogue lines - Zaptel knows that you are using analogue lines because it’s TDM400P.