[Asterisk-Users] Auto Dial Out Madness

Doug Lytle Support at drdos.info
Thu May 18 11:34:07 MST 2006


Jon Scottorn wrote:
> Hi All,
>
>     I have been struggling with the auto dial out in asterisk.  I am 
> trying to get a call to be auto dialed and play back a message once 
> the line is answered.  So far I have been unsuccessful. 
> Currently what happens is I have my .call file.  I mv it into 
> /var/spool/asterisk/outgoing.  The call is initiated and that all 
> works, my problem is that it does not wait for the line to be answered 
> before playing the message back.  It immediately after dialing the 
> number begins playing the message and is done playing it before the 
> person even answers the phone.

You can't.  You'll need to setup a loop that asks the end user to press 
a key to play your recording.  I have mine loop 6 times with a timeout 
value of 6 seconds, before giving up.  Code follows:

[voice-mail-callback]

; ************
; Set timeouts
; ************

exten => s,1,Set(TIMEOUT(response)=6)
exten => s,2,Set(TIMEOUT(digit)=3)
exten => s,3,Wait(5)
exten => s,4,Set(COUNT=0)

; *******************************************
; Play, you attention is required, press 1 to
; collect voice mail
; *******************************************

exten => s,5,Background(attention-required)
exten => s,6,Background(press-1)
exten => s,7,Background(to-collect-voicemail)

; *****************************************
; If 1 is pressed, then play transfer and
; then jump to voice-mail context.
; *****************************************

exten => 1,1,Playback(pbx-transfer)
exten => 1,2,Goto(voice-mail,s,1)

; ****************************************
; Setup a variable to count the number of
; times the message has been played, when
; $COUNT reaches > 5, play you've taken
; to long to dial and hangup.
; ****************************************

exten => t,1,Set(COUNT=$[${COUNT} + 1])
exten => t,2,NoOP(${COUNT})
exten => t,3,GotoIf($[ ${COUNT} > 5 ]?103)
exten => t,4,Goto(voice-mail-callback,s,5)
exten => t,103,Playback(local/tolong-todial)
exten => t,104,Playback(goodbye)
exten => t,105,Hangup()

; ****************************************
; Invalid extension plays invalid choice and adds
; 1 to $COUNT
; ****************************************

exten => i,1,Playback(local/sorry-invalid-choice)
exten => i,2,Set(COUNT=$[${COUNT} + 1])
exten => i,3,NoOP(${COUNT})
exten => i,4,Goto(voice-mail-callback,s,5)

exten => h,1,NoOP(Hungup)




More information about the asterisk-users mailing list