Pick up detection of callee

I’m new to Asterisk, and using with a TDM410 (4xFXO) card. I’m able to use all features of Asterisk that I need without any problem. However; I got stuck into an issue which drives me mad. I made a simple auto dialer using asterisk by means of .call files. I try out to dial a number inside our company internally and playback some prerecorded messages and make something etc. It successfully functions as I meant but I don’t know if I am able to detect the pick up action of the callee. Asterisk dials when detects a .call file in the outbound directory and run the extensions in the context that I pointed. The lines are reqular analog telephone lines. Is it possible to do that?

Thanks in advance

Asterisk shouldn’t run the party B side of the call file logic until it gets an ANSWER indication for party A.

What makes you think that it is running the party B side before party A has answered?

I have created a .call file and put it inside the outbound directory.

Channel: DAHDI/1/11
Callerid: 12989
MaxRetries: 5
RetryTime: 300
WaitTime: 45
Context: my_context
Extension: ANSWERED
Priority: 1

exten => ANSWERED,1,Wait(2)
exten => ANSWERED,n,Answer
exten => ANSWERED,n,Wait(2)
exten => ANSWERED,n,Playback(somefile)
exten => ANSWERED,n,Hangup()

then I observe the asterisk CLI for what is going on and I saw

-- Attempting call on DAHDI/1/11 for ANSWERED@my_context:1 (Retry 1)

[Jul 10 14:43:14] WARNING[9023]: chan_dahdi.c:2027 dahdi_enable_ec: Unable to enable echo cancellation on channel 1 (No such device)
> Channel DAHDI/1-1 was answered.
– Executing [ANSWERED@my_context:1] Wait(“DAHDI/1-1”, “2”) in new stack
– Executing [ANSWERED@my_context:2] Answer(“DAHDI/1-1”, “”) in new stack
– Executing [ANSWERED@my_context:3] Wait(“DAHDI/1-1”, “2”) in new stack
– Executing [ANSWERED@my_context:4] Playback(“DAHDI/1-1”, “auth-incorrect”) in new stack
– <DAHDI/1-1> Playing ‘auth-incorrect.gsm’ (language ‘en’)
– Executing [ANSWERED@my_context:5] Hangup(“DAHDI/1-1”, “”) in new stack
== Spawn extension (my_context, ANSWERED, 5) exited non-zero on ‘DAHDI/1-1’
– Hungup ‘DAHDI/1-1’

Although the callee did not answer the call, the context just run all the extentions by one by.

The callee did answer the call. If they didn’t really do so, we need more information about the hardware configuration and possibly dahdi or low level hardware driver debug traces.

You will obviously need the service provider to provide answer supervision and you will need to configure dahdi to recognize the answer supervision that they send. If there is no answer supervision configured or none possible, I presume that an immediate answer is assumed, as the only sensible way of proceeding.

If you can’t get answer supervision, you might be able to use a local channel to do silence detection on party A.

Thanks for your advice,
I can not get answer supervision so as you stated I will focus on silence detection on local channel.

thanks again…