alexanderfoti
asked on
How to implement the following application in asterisk with freepbx
Hi all
how would I implement the following application (auto dial out) in asterisk and freepbx?
thanks in advance
how would I implement the following application (auto dial out) in asterisk and freepbx?
thanks in advance
; This is a sample section from an extensions.conf file showing how to auto-dial an outbound call
; and play a prerecorded message when the call is answered.
; To install this application:
; Create message directory see [record-outboundmsgs] below for details
; If needed, modify extension numbers and context names to make compatible with your local dialing plan
; Add the contexts below to your /etc/extensions.conf file
; Record messages see [record-outboundmsgs] below for details
; Create a call file to test
;
; The outbound call can be triggered by a call file or manager commands via a telnet session
;
; Creating a call file to call 7026241632 using context @syndeo in the sip.conf file
; set the caller ID to 7022340175 when placing the call
; A correct Caller ID may be required when using some VOIP to PSTN gateway services.
;
; cat <<EOF > /var/spool/asterisk/tmp01
; Channel: SIP/7026241632@syndeo
; Callerid: 7022340175
; MaxRetries: 5
; RetryTime: 300
; WaitTime: 45
; Context: outboundmsg1
; Extension: s
; Priority: 1
; EOF
; mv /var/spool/asterisk/tmp01 /var/spool/asterisk/outgoing
;
;
; For more information see:
; http://www.voip-info.org/wiki-Asterisk+auto-dial+out+deliver+message
; http://www.voip-info.org/wiki-Asterisk+auto-dial+out
; http://www.voip-info.org/wiki-Asterisk+manager+dialout
;
[outboundmsg1]
exten => s,1,Set(TIMEOUT(digit)=5) ; Set Digit Timeout to 5 seconds
exten => s,2,Set(TIMEOUT(response)=10) ; Set Response Timeout to 10 seconds
exten => s,3,Answer
exten => s,4,Wait(1)
exten => s,5,Background(outboundmsgs/msg1) ; "play outbound msg"
exten => s,6,Background(outboundmsgs/how_to_ack) ; "Press 1 to replay or 2 to acknowledge receiving this message"
exten => 1,1,Goto(s,5) ; replay message
exten => 2,1,Goto(msgack,s,1) ; acknowledge message
exten => t,1,Playback(vm-goodbye)
exten => t,2,Hangup
; at this point we could do something like reschedule the call to try again later
; or send an email saying the msg was not received,
; or ...
[outboundmsg2]
exten => s,1,Set(TIMEOUT(digit)=5) ; Set Digit Timeout to 5 seconds
exten => s,2,Set(TIMEOUT(response)=10) ; Set Response Timeout to 10 seconds
exten => s,3,Answer
exten => s,4,Wait(1)
exten => s,5,Background(outboundmsgs/msg2) ; "play outbound msg"
exten => s,6,Background(outboundmsgs/how_to_ack) ; "Press 1 to replay or 2 to acknowledge receiving this message"
exten => 1,1,Goto(s,5) ; replay message
exten => 2,1,Goto(msgack,s,1) ; acknowledge message
exten => t,1,Playback(vm-goodbye)
exten => t,2,Hangup
; at this point we could do something like reschedule the call to try again later
; or send an email saying the msg was not received,
; or ...
[msgack]
exten => s,1,Playback(outboundmsgs/thankyou)
exten => s,2,Playback(vm-goodbye)
exten => s,3,Hangup
; at this point we might want to log the message acknowledgement somewhere
; and perhaps trigger some additional processing
[record-outboundmsgs]
; Record voice files
;
; Before using this the first time
; mkdir /var/lib/asterisk/sounds/outboundmsgs
; chown asterisk_user:asterisk_user /var/lib/asterisk/sounds/outboundmsgs
; (Where asterisk_user = the user that asterisk runs under: = root for many installations)
;
; In a context for incoming calls put something like
; include => record-outboundmsgs
;
; Then call
; 2051 to Record a new outbound msg1
; 2052 to Record a new outbound msg2
;
; 2061 to Record the msg played when the recipient acks the message
; 2062 to Record the "How to ACK message"
;
; After dialing one of the extensions above:
; Wait for the record start tone
; Record your message
; Press # to stop recording
; Listen to an automatic playback of your new message
;
; outbound msg1
exten => 2051,1,Wait(2)
exten => 2051,2,Record(outboundmsgs/msg1:gsm)
exten => 2051,3,Wait(2)
exten => 2051,4,Playback(outboundmsgs/msg1)
exten => 2051,5,wait(2)
exten => 2051,6,Hangup
;
; outbound msg2
exten => 2052,1,Wait(2)
exten => 2052,2,Record(outboundmsgs/msg2:gsm)
exten => 2052,3,Wait(2)
exten => 2052,4,Playback(outboundmsgs/msg2)
exten => 2052,5,wait(2)
exten => 2052,6,Hangup
;
;
; Msg played when msg is acked
exten => 2061,1,Wait(2)
exten => 2061,2,Record(outboundmsgs/thankyou:gsm)
exten => 2061,3,Wait(2)
exten => 2061,4,Playback(outboundmsgs/thankyou)
exten => 2061,5,wait(2)
exten => 2061,6,Hangup
;
; Msg played after outbound msg: "Press 1 to replay or 2 to acknowledge receiving this message"
exten => 2062,1,Wait(2)
exten => 2062,2,Record(outboundmsgs/how_to_ack:gsm)
exten => 2062,3,Wait(2)
exten => 2062,4,Playback(outboundmsgs/how_to_ack)
exten => 2062,5,wait(2)
exten => 2062,6,Hangup
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Hi. how does it go?