Summary:ASTERISK-13986: Asterisk auto dial out will execute immediatetly no matter the receiver reponse for the call or not
Reporter:dachaoshui (daichaoshui)Labels:
Date Opened:2009-04-19 23:36:22Date Closed:2011-06-07 14:00:49
Versions:Frequency of
Description:I am using Asterisk 1.6.0 + Dahdi2.1.0.4
I want to make some auto dial out using dahdi channel.
The dial out will call some customer and play some messages.

The problem is :
The auto dial out can send the call to the user, but no matter the user response the call or not, the messages will play immediate.It seems the dahdi auto dial out can not get the status of (no answer, congestion, etc...)

here is my auto dialout
Channel: DAHDI/g0/13********
MaxRetries: 0
RetryTime: 30
WaitTime: 45
Context: call-to-cust
Extension: 200
Priority: 1
Archive: Yes

Set: OrderInfo_id=1
Set: OrderInfo_PLACE=2
Set: OrderInfo_TIME=2
Set: OrderInfo_isHavePlace=1

here is the context in extensions_custom.conf
exten => 200,1,Ringing
exten => 200,1,Answer()
exten => 200,n,Wait(3)
exten => 200,n(Response),Background(custom/FoodOrder-ResponseToCustNotice)
exten => 200,n,ExecIf($["${FOORODER_PLACE_${OrderInfo_PLACE}}" != ""]?Background(${FOORODER_PLACE_${OrderInfo_PLACE}}))
exten => 200,n,ExecIf($["${FOORODER_TIME_${OrderInfo_TIME}}" != ""]?Background(${FOORODER_TIME_${OrderInfo_TIME}}))
exten => 200,n,ExecIf($["${FOORODER_isHavePlace_${OrderInfo_isHavePlace}}" != ""]?Background(${FOORODER_isHavePlace_${OrderInfo_isHavePlace}}))
exten => 200,n,SET(FoodOrders_updCloseToUserOrder(${OrderInfo_id}))
exten => 200,n,Playback(vm-goodbye)
exten => 200,n,Hangup()


Here is the output from asterisk -r
-- Attempting call on DAHDI/g0/13******* for 200@call-to-cust:1 (Retry 1)
   -- Executing [200@call-to-cust:1] Ringing("DAHDI/1-1", "") in new stack
   -- Executing [200@call-to-cust:2] Wait("DAHDI/1-1", "3") in new stack
   -- Executing [200@call-to-cust:3] BackGround("DAHDI/1-1", "custom/FoodOrder-ResponseToCustNotice") in new stack
   -- <DAHDI/1-1> Playing 'custom/FoodOrder-ResponseToCustNotice.slin' (language 'en')
   -- Executing [200@call-to-cust:4] ExecIf("DAHDI/1-1", "1?Background(custom/FoodOrder-Place-2)") in new stack
   -- <DAHDI/1-1> Playing 'custom/FoodOrder-Place-2.slin' (language 'en')
   -- Executing [200@call-to-cust:5] ExecIf("DAHDI/1-1", "1?Background(custom/FoodOrder-Time-2)") in new stack
   -- <DAHDI/1-1> Playing 'custom/FoodOrder-Time-2.slin' (language 'en')
   -- Executing [200@call-to-cust:6] ExecIf("DAHDI/1-1", "1?Background(custom/FoodOrder-ResponseToCustHavePlace)") in new stack
   -- <DAHDI/1-1> Playing 'custom/FoodOrder-ResponseToCustHavePlace.slin' (language 'en')
   -- Executing [200@call-to-cust:7] Set("DAHDI/1-1", "FoodOrders_updCloseToUserOrder(1)") in new stack
   -- Executing [200@call-to-cust:8] Playback("DAHDI/1-1", "vm-goodbye") in new stack
   -- <DAHDI/1-1> Playing 'vm-goodbye.gsm' (language 'en')
   -- Executing [200@call-to-cust:9] Hangup("DAHDI/1-1", "") in new stack
 == Spawn extension (call-to-cust, 200, 9) exited non-zero on 'DAHDI/1-1'
   -- Hungup 'DAHDI/1-1'

Comments:By: Joshua C. Colp (jcolp) 2009-04-20 08:38:45

This is to be expected on FXO ports. On analog signaling we are not provided with a way to determine the progress the call is making (whether it is ringing, etc). Instead we are simply provided with an audio stream. That means as soon as you dial out an FXO port it will be considered answered.