提交 2c9d7b11 authored 作者: Mitch Capper's avatar Mitch Capper
...@@ -2,13 +2,19 @@ ...@@ -2,13 +2,19 @@
<!-- Wake-up call phrases --> <!-- Wake-up call phrases -->
<!-- Put this file in conf/lang/en/ivr/ directory --> <!-- Put this file in conf/lang/en/ivr/ directory -->
<!-- <!--
Requires FreeSWITCH Callie sounds version 1.0.16 or later Requires FreeSWITCH Callie sounds version 1.0.21 or later
--> -->
<macro name="For_one_time_wakeup_call"> <macro name="For_one_time_wakeup_call">
<input pattern="(.*)"> <input pattern="(.*)">
<match> <match>
<action function="sleep" data="1000"/> <!-- <action function="sleep" data="1000"/>
<action function="play-file" data="ivr/ivr-for_one_time_wakeup_call.wav"/> <action function="play-file" data="ivr/ivr-not_requested_wakeup_call.wav"/>-->
<action function="sleep" data="1000"/>
<action function="play-file" data="ivr/ivr-for_one_time_wakeup_call.wav"/>
<action function="play-file" data="ivr/ivr-please_enter_the.wav"/>
<action function="play-file" data="time/hour.wav"/>
<action function="play-file" data="currency/and.wav"/>
<action function="play-file" data="time/minute.wav"/>
</match> </match>
</input> </input>
</macro> </macro>
...@@ -16,13 +22,13 @@ ...@@ -16,13 +22,13 @@
<macro name="This_is_your_wakeup_call"> <macro name="This_is_your_wakeup_call">
<input pattern="(.*)"> <input pattern="(.*)">
<match> <match>
<action function="sleep" data="1000"/> <action function="sleep" data="1000"/>
<action function="play-file" data="ivr/ivr-this_is_your_wakeup_call.wav"/> <action function="play-file" data="ivr/ivr-this_is_your_wakeup_call.wav"/>
<action function="sleep" data="2000"/> <action function="sleep" data="2000"/>
<action function="play-file" data="ivr/ivr-this_is_your_wakeup_call.wav"/> <action function="play-file" data="ivr/ivr-this_is_your_wakeup_call.wav"/>
<action function="sleep" data="2000"/> <action function="sleep" data="2000"/>
<action function="play-file" data="ivr/ivr-wakey_wakey_sunshine.wav"/> <action function="play-file" data="ivr/ivr-wakey_wakey_sunshine.wav"/>
<action function="sleep" data="2000"/> <action function="sleep" data="2000"/>
</match> </match>
</input> </input>
</macro> </macro>
...@@ -30,13 +36,13 @@ ...@@ -30,13 +36,13 @@
<macro name="Already_have_wakeup_call"> <macro name="Already_have_wakeup_call">
<input pattern="(.*)"> <input pattern="(.*)">
<match> <match>
<action function="sleep" data="1000"/> <action function="sleep" data="1000"/>
<action function="play-file" data="ivr/ivr-requested_wakeup_call_for.wav"/> <action function="play-file" data="ivr/ivr-requested_wakeup_call_for.wav"/>
<action function="sleep" data="100"/> <action function="sleep" data="100"/>
<action function="say" data="$1" method="pronounced" type="short_date_time"/> <action function="say" data="$1" method="pronounced" type="short_date_time"/>
<action function="sleep" data="1000"/> <action function="sleep" data="1000"/>
<action function="play-file" data="ivr/ivr-to_accept_press_one.wav"/> <action function="play-file" data="ivr/ivr-to_accept_press_one.wav"/>
<action function="sleep" data="600"/> <action function="sleep" data="600"/>
</match> </match>
</input> </input>
</macro> </macro>
...@@ -44,10 +50,10 @@ ...@@ -44,10 +50,10 @@
<macro name="Wakeup_call_has_been_cancelled"> <macro name="Wakeup_call_has_been_cancelled">
<input pattern="(.*)"> <input pattern="(.*)">
<match> <match>
<action function="sleep" data="1000"/> <action function="sleep" data="1000"/>
<action function="play-file" data="ivr/ivr-wakeup_call_cancelled.wav"/> <action function="play-file" data="ivr/ivr-wakeup_call_cancelled.wav"/>
<action function="sleep" data="500"/> <action function="sleep" data="500"/>
<action function="play-file" data="voicemail/vm-goodbye.wav"/> <action function="play-file" data="voicemail/vm-goodbye.wav"/>
</match> </match>
</input> </input>
</macro> </macro>
...@@ -55,10 +61,10 @@ ...@@ -55,10 +61,10 @@
<macro name="No_wakeup_call"> <macro name="No_wakeup_call">
<input pattern="(.*)"> <input pattern="(.*)">
<match> <match>
<action function="sleep" data="1000"/> <action function="sleep" data="1000"/>
<action function="play-file" data="ivr/ivr-not_requested_wakeup_call.wav"/> <action function="play-file" data="ivr/ivr-not_requested_wakeup_call.wav"/>
<action function="sleep" data="500"/> <action function="sleep" data="500"/>
<action function="play-file" data="voicemail/vm-goodbye.wav"/> <action function="play-file" data="voicemail/vm-goodbye.wav"/>
</match> </match>
</input> </input>
</macro> </macro>
...@@ -66,11 +72,11 @@ ...@@ -66,11 +72,11 @@
<macro name="Wakeup_call_has_been_confirmed"> <macro name="Wakeup_call_has_been_confirmed">
<input pattern="(.*)"> <input pattern="(.*)">
<match> <match>
<action function="sleep" data="1000"/> <action function="sleep" data="1000"/>
<action function="play-file" data="ivr/ivr-requested_wakeup_call_for.wav"/> <action function="play-file" data="ivr/ivr-requested_wakeup_call_for.wav"/>
<action function="sleep" data="500"/> <action function="sleep" data="500"/>
<action function="say" data="$1" method="pronounced" type="short_date_time"/> <action function="say" data="$1" method="pronounced" type="short_date_time"/>
<action function="play-file" data="voicemail/vm-goodbye.wav"/> <action function="play-file" data="voicemail/vm-goodbye.wav"/>
</match> </match>
</input> </input>
</macro> </macro>
......
...@@ -11,6 +11,7 @@ require "date" ...@@ -11,6 +11,7 @@ require "date"
api = freeswitch.API() api = freeswitch.API()
session:answer() session:answer()
session:sleep(1000)
session:setAutoHangup(false) session:setAutoHangup(false)
-- Sound files and phrases -- Sound files and phrases
...@@ -39,9 +40,10 @@ my_wuc = api:execute("db","select/wuc/" .. caller) ...@@ -39,9 +40,10 @@ my_wuc = api:execute("db","select/wuc/" .. caller)
while (session:ready()) do while (session:ready()) do
if ( my_wuc == '' ) then if ( my_wuc == '' ) then
wakeup_dialstring = "originate {ignore_early_media=true,origination_caller_id_number=*55}user/" .. caller .. " wake_up_sleepy_head" wakeup_dialstring = "originate {ignore_early_media=true,origination_caller_id_number=9253,origination_caller_id_name='Wakeup Call'}user/" .. caller .. " wake_up_sleepy_head"
freeswitch.consoleLog("INFO","Setting wakeup dialstring to:\n" .. wakeup_dialstring .. "\n\n") freeswitch.consoleLog("INFO","Setting wakeup dialstring to:\n" .. wakeup_dialstring .. "\n\n")
-- No wuc, ask caller to create one -- No wuc, ask caller to create one
session:streamFile("ivr/ivr-not_requested_wakeup_call.wav");
freeswitch.consoleLog("INFO", "No wakeup call for " .. caller .. ", let's create one\n") freeswitch.consoleLog("INFO", "No wakeup call for " .. caller .. ", let's create one\n")
digits = session:playAndGetDigits(4,4,3,9000,"#",get_time,invalid,"([012][0-9]|2[0123])[012345][0-9]") digits = session:playAndGetDigits(4,4,3,9000,"#",get_time,invalid,"([012][0-9]|2[0123])[012345][0-9]")
...@@ -52,13 +54,13 @@ while (session:ready()) do ...@@ -52,13 +54,13 @@ while (session:ready()) do
-- Compare to time now to decide if we need today or tomorrow -- Compare to time now to decide if we need today or tomorrow
-- Calculate now in minutes since 00:00 -- Calculate now in minutes since 00:00
now_hr = api:execute("strftime","%H") now_hr = api:execute("strftime","%H")
now_min = api:execute("strftime","%M") now_min = api:execute("strftime","%M")
now_mod = (now_hr * 60) + now_min now_mod = (now_hr * 60) + now_min
freeswitch.consoleLog("INFO","Now hr/min/mod [" .. now_hr .. "/" .. now_min .. "/" .. now_mod .. "]\n") freeswitch.consoleLog("INFO","Now hr/min/mod [" .. now_hr .. "/" .. now_min .. "/" .. now_mod .. "]\n")
-- Calculate wuc time in minutes since midnight -- Calculate wuc time in minutes since midnight
wuc_hr = string.sub(digits, 1, 2) wuc_hr = string.sub(digits, 1, 2)
wuc_min = string.sub(digits, 3) wuc_min = string.sub(digits, 3)
freeswitch.consoleLog("INFO","wuc_hr: " .. wuc_hr .." wuc_min: " .. wuc_min .. "\n") freeswitch.consoleLog("INFO","wuc_hr: " .. wuc_hr .." wuc_min: " .. wuc_min .. "\n")
wuc_mod = (wuc_hr * 60) + wuc_min wuc_mod = (wuc_hr * 60) + wuc_min
freeswitch.consoleLog("INFO","Wuc hr min mod [" .. wuc_hr .. "/" .. wuc_min .. "/" .. wuc_mod .. "]\n") freeswitch.consoleLog("INFO","Wuc hr min mod [" .. wuc_hr .. "/" .. wuc_min .. "/" .. wuc_mod .. "]\n")
......
Markdown 格式
0% 或
您添加了 0 人 到此讨论。请谨慎行事。
请先完成此评论的编辑!
请 注册 或者 后发表评论