提交 2c9d7b11 authored 作者: Mitch Capper's avatar Mitch Capper
......@@ -2,13 +2,19 @@
<!-- Wake-up call phrases -->
<!-- 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">
<input pattern="(.*)">
<match>
<action function="sleep" data="1000"/>
<action function="play-file" data="ivr/ivr-for_one_time_wakeup_call.wav"/>
<!-- <action function="sleep" data="1000"/>
<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>
</input>
</macro>
......@@ -16,13 +22,13 @@
<macro name="This_is_your_wakeup_call">
<input pattern="(.*)">
<match>
<action function="sleep" data="1000"/>
<action function="play-file" data="ivr/ivr-this_is_your_wakeup_call.wav"/>
<action function="sleep" data="2000"/>
<action function="play-file" data="ivr/ivr-this_is_your_wakeup_call.wav"/>
<action function="sleep" data="2000"/>
<action function="play-file" data="ivr/ivr-wakey_wakey_sunshine.wav"/>
<action function="sleep" data="2000"/>
<action function="sleep" data="1000"/>
<action function="play-file" data="ivr/ivr-this_is_your_wakeup_call.wav"/>
<action function="sleep" data="2000"/>
<action function="play-file" data="ivr/ivr-this_is_your_wakeup_call.wav"/>
<action function="sleep" data="2000"/>
<action function="play-file" data="ivr/ivr-wakey_wakey_sunshine.wav"/>
<action function="sleep" data="2000"/>
</match>
</input>
</macro>
......@@ -30,13 +36,13 @@
<macro name="Already_have_wakeup_call">
<input pattern="(.*)">
<match>
<action function="sleep" data="1000"/>
<action function="play-file" data="ivr/ivr-requested_wakeup_call_for.wav"/>
<action function="sleep" data="100"/>
<action function="say" data="$1" method="pronounced" type="short_date_time"/>
<action function="sleep" data="1000"/>
<action function="play-file" data="ivr/ivr-to_accept_press_one.wav"/>
<action function="sleep" data="600"/>
<action function="sleep" data="1000"/>
<action function="play-file" data="ivr/ivr-requested_wakeup_call_for.wav"/>
<action function="sleep" data="100"/>
<action function="say" data="$1" method="pronounced" type="short_date_time"/>
<action function="sleep" data="1000"/>
<action function="play-file" data="ivr/ivr-to_accept_press_one.wav"/>
<action function="sleep" data="600"/>
</match>
</input>
</macro>
......@@ -44,10 +50,10 @@
<macro name="Wakeup_call_has_been_cancelled">
<input pattern="(.*)">
<match>
<action function="sleep" data="1000"/>
<action function="play-file" data="ivr/ivr-wakeup_call_cancelled.wav"/>
<action function="sleep" data="500"/>
<action function="play-file" data="voicemail/vm-goodbye.wav"/>
<action function="sleep" data="1000"/>
<action function="play-file" data="ivr/ivr-wakeup_call_cancelled.wav"/>
<action function="sleep" data="500"/>
<action function="play-file" data="voicemail/vm-goodbye.wav"/>
</match>
</input>
</macro>
......@@ -55,10 +61,10 @@
<macro name="No_wakeup_call">
<input pattern="(.*)">
<match>
<action function="sleep" data="1000"/>
<action function="play-file" data="ivr/ivr-not_requested_wakeup_call.wav"/>
<action function="sleep" data="500"/>
<action function="play-file" data="voicemail/vm-goodbye.wav"/>
<action function="sleep" data="1000"/>
<action function="play-file" data="ivr/ivr-not_requested_wakeup_call.wav"/>
<action function="sleep" data="500"/>
<action function="play-file" data="voicemail/vm-goodbye.wav"/>
</match>
</input>
</macro>
......@@ -66,11 +72,11 @@
<macro name="Wakeup_call_has_been_confirmed">
<input pattern="(.*)">
<match>
<action function="sleep" data="1000"/>
<action function="play-file" data="ivr/ivr-requested_wakeup_call_for.wav"/>
<action function="sleep" data="500"/>
<action function="say" data="$1" method="pronounced" type="short_date_time"/>
<action function="play-file" data="voicemail/vm-goodbye.wav"/>
<action function="sleep" data="1000"/>
<action function="play-file" data="ivr/ivr-requested_wakeup_call_for.wav"/>
<action function="sleep" data="500"/>
<action function="say" data="$1" method="pronounced" type="short_date_time"/>
<action function="play-file" data="voicemail/vm-goodbye.wav"/>
</match>
</input>
</macro>
......
......@@ -11,6 +11,7 @@ require "date"
api = freeswitch.API()
session:answer()
session:sleep(1000)
session:setAutoHangup(false)
-- Sound files and phrases
......@@ -39,9 +40,10 @@ my_wuc = api:execute("db","select/wuc/" .. caller)
while (session:ready()) do
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")
-- 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")
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
-- Compare to time now to decide if we need today or tomorrow
-- Calculate now in minutes since 00:00
now_hr = api:execute("strftime","%H")
now_min = api:execute("strftime","%M")
now_mod = (now_hr * 60) + now_min
now_min = api:execute("strftime","%M")
now_mod = (now_hr * 60) + now_min
freeswitch.consoleLog("INFO","Now hr/min/mod [" .. now_hr .. "/" .. now_min .. "/" .. now_mod .. "]\n")
-- Calculate wuc time in minutes since midnight
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")
wuc_mod = (wuc_hr * 60) + wuc_min
freeswitch.consoleLog("INFO","Wuc hr min mod [" .. wuc_hr .. "/" .. wuc_min .. "/" .. wuc_mod .. "]\n")
......
Markdown 格式
0% 或
您添加了 0 人 到此讨论。请谨慎行事。
请先完成此评论的编辑!
请 注册 或者 后发表评论