Myles Wakeham wrote:

I suspect others have done this sort of thing with Asterisk before, but 
I've not found any resources so far.
  

exten => 317xxxxxxx,1,Gosub(holiday_check,s,1)


[holiday_check]

;********************************
;* Break out current 2 digit month
;********************************

exten => s,1,Gosub(todays_date,s,1)

;*****************************************
;* Look for database entry for match against
;* month and day.  Store sound file name
;* to GREETING variable
;*****************************************

exten => s,n,MYSQL(Connect connid localhost anonymous '' holidays)
exten => s,n,GosubIf($["${MYSQL_STATUS}" = "-1"]?mysql_failed,s,6)
exten => s,n,MYSQL(Query resultid ${connid} SELECT greeting FROM schedule WHERE month = ${MONTH} AND day = ${DAY})
exten => s,n,MYSQL(Fetch fetchid ${resultid} GREETING)
exten => s,n,MYSQL(Disconnect ${connid})
exten => s,n,MYSQL(Clear ${resultid})

;*******************************************
;* If GREETING <> *BLANK, must be a holiday
;* jump to s,10.  Else return from subroutine
;*******************************************

exten => s,n,GotoIf($["${GREETING}" != ""]?9:13)

;********************************
;* Play Holiday message and return
;* from subroutine
;********************************

exten => s,n,Wait(2)
exten => s,n,Playback(local/holidays/greet_begin)
exten => s,n,Playback(local/holidays/${GREETING})
exten => s,n,Set(_Holiday=YES)
exten => s,n,Return


[todays_date]

;********************************
;* Break out current 2 digit hour
;********************************

exten => s,1,Set(HOUR=${STRFTIME(${EPOCH},,%H)})

;********************************
;* Break out current 2 digit day
;********************************

exten => s,n,Set(DAY=${STRFTIME(${EPOCH},,%d)})

;********************************
;* Break out current 2 digit month
;********************************

exten => s,n,Set(MONTH=${STRFTIME(${EPOCH},,%m)})

;********************************
;* Break out current 4 digit year
;********************************

exten => s,n,Set(YEAR=${STRFTIME(${EPOCH},,%Y)})

;********************************
;* Set TODAY to DAY/MONTH/YEAR
;********************************

exten => s,n,Set(TODAY=${MONTH}/${DAY}/${YEAR})

exten => s,n,Return()





_______________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to