Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
F
freeswitch-contrib
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
张华
freeswitch-contrib
Commits
2c9d7b11
提交
2c9d7b11
authored
10月 16, 2012
作者:
Mitch Capper
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of
ssh://git.freeswitch.org:222/freeswitch-contrib
上级
9707899c
c057e796
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
42 行增加
和
34 行删除
+42
-34
Wakeup_Call_Macros.xml
mcollins/wakeup_call/Wakeup_Call_Macros.xml
+36
-30
wakeup-call.lua
mcollins/wakeup_call/wakeup-call.lua
+6
-4
没有找到文件。
mcollins/wakeup_call/Wakeup_Call_Macros.xml
浏览文件 @
2c9d7b11
...
@@ -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>
...
...
mcollins/wakeup_call/wakeup-call.lua
浏览文件 @
2c9d7b11
...
@@ -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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论