line endings
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@9162 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
aee8661385
commit
572d58de7c
|
@ -1,56 +1,57 @@
|
|||
<configuration name="ivr.conf" description="IVR menus">
|
||||
<menus>
|
||||
<!-- demo IVR setup -->
|
||||
<!-- demo IVR, Main Menu -->
|
||||
<menu name="demo_ivr"
|
||||
greet-long="phrase:demo_ivr_main_menu"
|
||||
greet-short="phrase:demo_ivr_main_menu_short"
|
||||
invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav"
|
||||
exit-sound="voicemail/vm-goodbye.wav"
|
||||
timeout ="10000"
|
||||
inter-digit-timeout="2000"
|
||||
max-failures="3"
|
||||
digit-len="4">
|
||||
<entry action="menu-exec-app" digits="1" param="bridge sofia/$${domain}/888@conference.freeswitch.org"/>
|
||||
<entry action="menu-exec-app" digits="2" param="transfer 9996 XML default"/> <!-- FS echo -->
|
||||
<entry action="menu-exec-app" digits="3" param="transfer 9999 XML default"/> <!-- MOH -->
|
||||
<entry action="menu-sub" digits="4" param="demo_ivr_submenu"/> <!-- demo sub menu -->
|
||||
<entry action="menu-exec-app" digits="5" param="transfer 1234*256 enum"/> <!-- Screaming monkeys -->
|
||||
<entry action="menu-exec-app" digits="/^(10[01][0-9])$/" param="transfer $1 XML default"/>
|
||||
<entry action="menu-top" digits="9"/> <!-- Repeat this menu -->
|
||||
</menu>
|
||||
<!-- Demo IVR, Sub Menu -->
|
||||
<menu name="demo_ivr_submenu"
|
||||
greet-long="phrase:demo_ivr_sub_menu"
|
||||
greet-short="phrase:demo_ivr_sub_menu_short"
|
||||
invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav"
|
||||
exit-sound="voicemail/vm-goodbye.wav"
|
||||
timeout="15000"
|
||||
max-failures="3">
|
||||
<entry action="menu-top" digits="*"/>
|
||||
</menu>
|
||||
|
||||
</menus>
|
||||
|
||||
|
||||
</configuration>
|
||||
|
||||
|
||||
<!-- TTS sample; non-functional but it demonstrates say: and TTS -->
|
||||
<!--
|
||||
<menu name="demo3"
|
||||
greet-long="say:Press 1 to join the conference, Press 2 to join the other conference"
|
||||
greet-short="say:Press 1 to join the conference, Press 2 to join the other conference"
|
||||
invalid-sound="say:invalid extension"
|
||||
exit-sound="say:exit sound"
|
||||
timeout ="15000"
|
||||
max-failures="3">
|
||||
<entry action="menu-exit" digits="*"/>
|
||||
<entry action="menu-playback" digits="1" param="say:You pressed 1"/>
|
||||
<entry action="menu-call-transfer" digits="2" param=
|
||||
|
||||
|
||||
"1000"/>
|
||||
<entry action="menu-call-transfer" digits="3" param="1001"/>
|
||||
</menu>
|
||||
-->
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<configuration name="ivr.conf" description="IVR menus">
|
||||
<menus>
|
||||
<!-- demo IVR setup -->
|
||||
<!-- demo IVR, Main Menu -->
|
||||
<menu name="demo_ivr"
|
||||
greet-long="phrase:demo_ivr_main_menu"
|
||||
greet-short="phrase:demo_ivr_main_menu_short"
|
||||
invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav"
|
||||
exit-sound="voicemail/vm-goodbye.wav"
|
||||
timeout ="10000"
|
||||
inter-digit-timeout="2000"
|
||||
max-failures="3"
|
||||
digit-len="4">
|
||||
<entry action="menu-exec-app" digits="1" param="bridge sofia/$${domain}/888@conference.freeswitch.org"/>
|
||||
<entry action="menu-exec-app" digits="2" param="transfer 9996 XML default"/> <!-- FS echo -->
|
||||
<entry action="menu-exec-app" digits="3" param="transfer 9999 XML default"/> <!-- MOH -->
|
||||
<entry action="menu-sub" digits="4" param="demo_ivr_submenu"/> <!-- demo sub menu -->
|
||||
<entry action="menu-exec-app" digits="5" param="transfer 1234*256 enum"/> <!-- Screaming monkeys -->
|
||||
<entry action="menu-exec-app" digits="/^(10[01][0-9])$/" param="transfer $1 XML default"/>
|
||||
<entry action="menu-top" digits="9"/> <!-- Repeat this menu -->
|
||||
</menu>
|
||||
<!-- Demo IVR, Sub Menu -->
|
||||
<menu name="demo_ivr_submenu"
|
||||
greet-long="phrase:demo_ivr_sub_menu"
|
||||
greet-short="phrase:demo_ivr_sub_menu_short"
|
||||
invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav"
|
||||
exit-sound="voicemail/vm-goodbye.wav"
|
||||
timeout="15000"
|
||||
max-failures="3">
|
||||
<entry action="menu-top" digits="*"/>
|
||||
</menu>
|
||||
|
||||
</menus>
|
||||
|
||||
|
||||
</configuration>
|
||||
|
||||
|
||||
<!-- TTS sample; non-functional but it demonstrates say: and TTS -->
|
||||
<!--
|
||||
<menu name="demo3"
|
||||
greet-long="say:Press 1 to join the conference, Press 2 to join the other conference"
|
||||
greet-short="say:Press 1 to join the conference, Press 2 to join the other conference"
|
||||
invalid-sound="say:invalid extension"
|
||||
exit-sound="say:exit sound"
|
||||
timeout ="15000"
|
||||
max-failures="3">
|
||||
<entry action="menu-exit" digits="*"/>
|
||||
<entry action="menu-playback" digits="1" param="say:You pressed 1"/>
|
||||
<entry action="menu-call-transfer" digits="2" param=
|
||||
|
||||
|
||||
"1000"/>
|
||||
<entry action="menu-call-transfer" digits="3" param="1001"/>
|
||||
</menu>
|
||||
-->
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
<!-- http://wiki.freeswitch.org/wiki/Mod_openmrcp#Configuration -->
|
||||
<configuration name="openmrcp.conf" description="mod_openmrcp configuration">
|
||||
<settings>
|
||||
<param name="asr_default_profile" value="openmrcp-v2"/>
|
||||
<param name="tts_default_profile" value="openmrcp-v2"/>
|
||||
</settings>
|
||||
<profiles>
|
||||
<X-PRE-PROCESS cmd="include" data="../mrcp_profiles/*.xml"/>
|
||||
</profiles>
|
||||
</configuration>
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<!-- http://wiki.freeswitch.org/wiki/Mod_openmrcp#Configuration -->
|
||||
<configuration name="openmrcp.conf" description="mod_openmrcp configuration">
|
||||
<settings>
|
||||
<param name="asr_default_profile" value="openmrcp-v2"/>
|
||||
<param name="tts_default_profile" value="openmrcp-v2"/>
|
||||
</settings>
|
||||
<profiles>
|
||||
<X-PRE-PROCESS cmd="include" data="../mrcp_profiles/*.xml"/>
|
||||
</profiles>
|
||||
</configuration>
|
||||
|
|
|
@ -1,39 +1,40 @@
|
|||
<configuration name="xml_cdr.conf" description="XML CDR CURL logger">
|
||||
<settings>
|
||||
<!-- the url to post to if blank web posting is disabled -->
|
||||
<!-- <param name="url" value="http://localhost/cdr_curl/post.php"/> -->
|
||||
|
||||
<!-- optional: credentials to send to web server -->
|
||||
<!-- <param name="cred" value="user:pass"/> -->
|
||||
|
||||
<!-- the total number of retries (not counting the first 'try') to post to webserver incase of failure -->
|
||||
<!-- <param name="retries" value="2"/> -->
|
||||
|
||||
<!-- delay between retries in seconds, default is 5 seconds -->
|
||||
<!-- <param name="delay" value="1"/> -->
|
||||
|
||||
<!-- optional: if not present we do not log every record to disk -->
|
||||
<!-- either an absolute path, a relative path assuming ${prefix}/logs or a blank value will default to ${prefix}/logs/xml_cdr -->
|
||||
<param name="log-dir" value=""/>
|
||||
|
||||
<!-- optional: if not present we do log the b leg -->
|
||||
<!-- true or false if we should create a cdr for the b leg of a call-->
|
||||
<param name="log-b-leg" value="false"/>
|
||||
|
||||
|
||||
<!-- encode the post data may be 'true' for url encoding, 'false' for no encoding or 'base64' for base64 encoding -->
|
||||
<param name="encode" value="true"/>
|
||||
|
||||
<!-- optional: set to true to disable Expect: 100-continue lighttpd requires this setting -->
|
||||
<!--<param name="disable-100-continue" value="true"/>-->
|
||||
|
||||
<!-- optional: full path to the error log dir for failed web posts if not specified its the same as log-dir -->
|
||||
<!-- either an absolute path, a relative path assuming ${prefix}/logs or a blank or omitted value will default to ${prefix}/logs/xml_cdr -->
|
||||
<!-- <param name="err-log-dir" value="/tmp"/> -->
|
||||
|
||||
<!-- optional: if enabled this will disable CA root certificate checks by libcurl -->
|
||||
<!-- note: default value is disabled. only enable if you want this! -->
|
||||
<!-- <param name="ignore-cacert-check" value="true" /> -->
|
||||
|
||||
</settings>
|
||||
</configuration>
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<configuration name="xml_cdr.conf" description="XML CDR CURL logger">
|
||||
<settings>
|
||||
<!-- the url to post to if blank web posting is disabled -->
|
||||
<!-- <param name="url" value="http://localhost/cdr_curl/post.php"/> -->
|
||||
|
||||
<!-- optional: credentials to send to web server -->
|
||||
<!-- <param name="cred" value="user:pass"/> -->
|
||||
|
||||
<!-- the total number of retries (not counting the first 'try') to post to webserver incase of failure -->
|
||||
<!-- <param name="retries" value="2"/> -->
|
||||
|
||||
<!-- delay between retries in seconds, default is 5 seconds -->
|
||||
<!-- <param name="delay" value="1"/> -->
|
||||
|
||||
<!-- optional: if not present we do not log every record to disk -->
|
||||
<!-- either an absolute path, a relative path assuming ${prefix}/logs or a blank value will default to ${prefix}/logs/xml_cdr -->
|
||||
<param name="log-dir" value=""/>
|
||||
|
||||
<!-- optional: if not present we do log the b leg -->
|
||||
<!-- true or false if we should create a cdr for the b leg of a call-->
|
||||
<param name="log-b-leg" value="false"/>
|
||||
|
||||
|
||||
<!-- encode the post data may be 'true' for url encoding, 'false' for no encoding or 'base64' for base64 encoding -->
|
||||
<param name="encode" value="true"/>
|
||||
|
||||
<!-- optional: set to true to disable Expect: 100-continue lighttpd requires this setting -->
|
||||
<!--<param name="disable-100-continue" value="true"/>-->
|
||||
|
||||
<!-- optional: full path to the error log dir for failed web posts if not specified its the same as log-dir -->
|
||||
<!-- either an absolute path, a relative path assuming ${prefix}/logs or a blank or omitted value will default to ${prefix}/logs/xml_cdr -->
|
||||
<!-- <param name="err-log-dir" value="/tmp"/> -->
|
||||
|
||||
<!-- optional: if enabled this will disable CA root certificate checks by libcurl -->
|
||||
<!-- note: default value is disabled. only enable if you want this! -->
|
||||
<!-- <param name="ignore-cacert-check" value="true" /> -->
|
||||
|
||||
</settings>
|
||||
</configuration>
|
||||
|
|
|
@ -1,158 +1,159 @@
|
|||
<include><!--This line will be ignored it's here to validate the xml and is optional -->
|
||||
|
||||
|
||||
<macro name="demo_ivr_count">
|
||||
<input pattern="^(\d+)$">
|
||||
<match>
|
||||
<action function="play-file" data="voicemail/vm-you_have.wav"/>
|
||||
<action function="say" data="$1" method="pronounced" type="name_spelled"/>
|
||||
<action function="play-file" data="voicemail/vm-messages.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="demo_ivr_main_menu"> <!-- See conf/autoload_config/ivr.conf.xml for an example on how to use this macro in an IVR -->
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<!-- string together several existing sound files to create one long greeting -->
|
||||
<action function="play-file" data="ivr/ivr-welcome_to_freeswitch.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-this_ivr_will_let_you_test_features.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-you_may_exit_by_hanging_up.wav"/>
|
||||
<!-- note that you can do more than just play files, e.g. have pauses and do TTS -->
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<!-- Menu option 1: Call FreeSWITCH conference-->
|
||||
<action function="play-file" data="ivr/ivr-to_call_the_freeswitch_conference.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/1.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<!-- Menu option 2: Do FreeSWITCH echo test -->
|
||||
<action function="play-file" data="ivr/ivr-to_do_a_freeswitch_echo_test.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/2.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<!-- Menu option 3: Listen to Music on Hold -->
|
||||
<action function="play-file" data="ivr/ivr-to_listen_to_moh.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/3.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<!-- Menu option 4: Hear a sample submenu -->
|
||||
<action function="play-file" data="ivr/ivr-to_hear_sample_submenu.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/4.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<!-- Menu option 5: Listen to screaming monkeys -->
|
||||
<action function="play-file" data="ivr/ivr-to_hear_screaming_monkeys.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/5.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<!-- Menu option 9: Repeat these options -->
|
||||
<action function="play-file" data="ivr/ivr-to_repeat_these_options.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/9.wav"/>
|
||||
<action function="execute" data="sleep(2000)"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<!-- The following macro is the same as demo_ivr_main_menu except it is the "short" version -->
|
||||
<!-- The short version has all the options but not the initial greeting -->
|
||||
<macro name="demo_ivr_main_menu_short">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<!-- Menu option 1: Call FreeSWITCH conference-->
|
||||
<action function="execute" data="sleep(1000)"/>
|
||||
<action function="play-file" data="ivr/ivr-to_call_the_freeswitch_conference.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/1.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<!-- Menu option 2: Do FreeSWITCH echo test -->
|
||||
<action function="play-file" data="ivr/ivr-to_do_a_freeswitch_echo_test.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/2.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<!-- Menu option 3: Listen to Music on Hold -->
|
||||
<action function="play-file" data="ivr/ivr-to_listen_to_moh.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/3.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<!-- Menu option 4: Hear a sample submenu -->
|
||||
<action function="play-file" data="ivr/ivr-to_hear_sample_submenu.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/4.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<!-- Menu option 5: Listen to screaming monkeys -->
|
||||
<action function="play-file" data="ivr/ivr-to_hear_screaming_monkeys.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/5.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<!-- Menu option 9: Repeat these options -->
|
||||
<action function="play-file" data="ivr/ivr-to_repeat_these_options.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/9.wav"/>
|
||||
<action function="execute" data="sleep(2000)"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<!-- The following macro is the "long" greeting for the demo_ivr_sub_menu -->
|
||||
<macro name="demo_ivr_sub_menu">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<action function="play-file" data="ivr/ivr-welcome_to_freeswitch.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-sample_submenu.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<!-- Menu option *: Return to top menu -->
|
||||
<action function="play-file" data="ivr/ivr-to_return_to_previous_menu.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/star.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<!-- The following macro is the same as demo_ivr_sub_menu except it is the "short" version -->
|
||||
<!-- The short version has all the options but not the initial greeting -->
|
||||
<macro name="demo_ivr_sub_menu_short">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<!-- Menu option *: Return to top menu -->
|
||||
<action function="play-file" data="ivr/ivr-to_return_to_previous_menu.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/star.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
</include><!--This line will be ignored it's here to validate the xml and is optional -->
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<include><!--This line will be ignored it's here to validate the xml and is optional -->
|
||||
|
||||
|
||||
<macro name="demo_ivr_count">
|
||||
<input pattern="^(\d+)$">
|
||||
<match>
|
||||
<action function="play-file" data="voicemail/vm-you_have.wav"/>
|
||||
<action function="say" data="$1" method="pronounced" type="name_spelled"/>
|
||||
<action function="play-file" data="voicemail/vm-messages.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="demo_ivr_main_menu"> <!-- See conf/autoload_config/ivr.conf.xml for an example on how to use this macro in an IVR -->
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<!-- string together several existing sound files to create one long greeting -->
|
||||
<action function="play-file" data="ivr/ivr-welcome_to_freeswitch.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-this_ivr_will_let_you_test_features.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-you_may_exit_by_hanging_up.wav"/>
|
||||
<!-- note that you can do more than just play files, e.g. have pauses and do TTS -->
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<!-- Menu option 1: Call FreeSWITCH conference-->
|
||||
<action function="play-file" data="ivr/ivr-to_call_the_freeswitch_conference.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/1.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<!-- Menu option 2: Do FreeSWITCH echo test -->
|
||||
<action function="play-file" data="ivr/ivr-to_do_a_freeswitch_echo_test.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/2.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<!-- Menu option 3: Listen to Music on Hold -->
|
||||
<action function="play-file" data="ivr/ivr-to_listen_to_moh.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/3.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<!-- Menu option 4: Hear a sample submenu -->
|
||||
<action function="play-file" data="ivr/ivr-to_hear_sample_submenu.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/4.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<!-- Menu option 5: Listen to screaming monkeys -->
|
||||
<action function="play-file" data="ivr/ivr-to_hear_screaming_monkeys.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/5.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<!-- Menu option 9: Repeat these options -->
|
||||
<action function="play-file" data="ivr/ivr-to_repeat_these_options.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/9.wav"/>
|
||||
<action function="execute" data="sleep(2000)"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<!-- The following macro is the same as demo_ivr_main_menu except it is the "short" version -->
|
||||
<!-- The short version has all the options but not the initial greeting -->
|
||||
<macro name="demo_ivr_main_menu_short">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<!-- Menu option 1: Call FreeSWITCH conference-->
|
||||
<action function="execute" data="sleep(1000)"/>
|
||||
<action function="play-file" data="ivr/ivr-to_call_the_freeswitch_conference.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/1.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<!-- Menu option 2: Do FreeSWITCH echo test -->
|
||||
<action function="play-file" data="ivr/ivr-to_do_a_freeswitch_echo_test.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/2.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<!-- Menu option 3: Listen to Music on Hold -->
|
||||
<action function="play-file" data="ivr/ivr-to_listen_to_moh.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/3.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<!-- Menu option 4: Hear a sample submenu -->
|
||||
<action function="play-file" data="ivr/ivr-to_hear_sample_submenu.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/4.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<!-- Menu option 5: Listen to screaming monkeys -->
|
||||
<action function="play-file" data="ivr/ivr-to_hear_screaming_monkeys.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/5.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<!-- Menu option 9: Repeat these options -->
|
||||
<action function="play-file" data="ivr/ivr-to_repeat_these_options.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/9.wav"/>
|
||||
<action function="execute" data="sleep(2000)"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<!-- The following macro is the "long" greeting for the demo_ivr_sub_menu -->
|
||||
<macro name="demo_ivr_sub_menu">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<action function="play-file" data="ivr/ivr-welcome_to_freeswitch.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-sample_submenu.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<!-- Menu option *: Return to top menu -->
|
||||
<action function="play-file" data="ivr/ivr-to_return_to_previous_menu.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/star.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<!-- The following macro is the same as demo_ivr_sub_menu except it is the "short" version -->
|
||||
<!-- The short version has all the options but not the initial greeting -->
|
||||
<macro name="demo_ivr_sub_menu_short">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<!-- Menu option *: Return to top menu -->
|
||||
<action function="play-file" data="ivr/ivr-to_return_to_previous_menu.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
<action function="play-file" data="ivr/ivr-please.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="play-file" data="digits/star.wav"/>
|
||||
<action function="execute" data="sleep(250)"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
</include><!--This line will be ignored it's here to validate the xml and is optional -->
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
<include>
|
||||
<language name="en" sound-path="$${base_dir}/sounds/en/us/callie" tts-engine="cepstral" tts-voice="callie">
|
||||
<X-PRE-PROCESS cmd="include" data="demo/*.xml"/> <!-- Note: this now grabs whole subdir, previously grabbed only demo.xml -->
|
||||
<!--voicemail_en_tts is purely implemented with tts, we need a files based implementation too -->
|
||||
<X-PRE-PROCESS cmd="include" data="vm/sounds.xml"/>
|
||||
</language>
|
||||
</include>
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<include>
|
||||
<language name="en" sound-path="$${base_dir}/sounds/en/us/callie" tts-engine="cepstral" tts-voice="callie">
|
||||
<X-PRE-PROCESS cmd="include" data="demo/*.xml"/> <!-- Note: this now grabs whole subdir, previously grabbed only demo.xml -->
|
||||
<!--voicemail_en_tts is purely implemented with tts, we need a files based implementation too -->
|
||||
<X-PRE-PROCESS cmd="include" data="vm/sounds.xml"/>
|
||||
</language>
|
||||
</include>
|
||||
|
|
|
@ -1,210 +1,211 @@
|
|||
<include><!--This line will be ignored it's here to validate the xml and is optional -->
|
||||
<macro name="voicemail_enter_id">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<action function="speak-text" data="Entrez votre Identification, suivi par $1."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_enter_pass">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<action function="speak-text" data="Entrez votre code, suivi par $1."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_fail_auth">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<action function="speak-text" data="Identification incorrect."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_hello">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<action function="speak-text" data="Bienvenu sur votre répondeur."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_goodbye">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<action function="speak-text" data="Aurevoir."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_abort">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<action function="speak-text" data="Trop de tentatives échouées."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_message_count">
|
||||
<input pattern="^([^:]+):([^:]+):{0,1}(.*)">
|
||||
<match>
|
||||
<action function="speak-text" data="Vous avez $1 $2 message$3 dans le répertoir ${voicemail_current_folder}."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_menu">
|
||||
<input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
|
||||
<match>
|
||||
<action function="speak-text"
|
||||
data="Pour écouter les nouveaux message, tappez $1, Pour écouter les messages enregistrés, tappez $2, Pour les options avancées, tappez $3, pour sortir, tappez $4."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
|
||||
<macro name="voicemail_config_menu">
|
||||
<input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
|
||||
<match>
|
||||
<action function="speak-text"
|
||||
data="pour enregistrer un message d'accueil, tappez $1, Pour choisir votre message d'accueil, tappez $2, Pour enregistrer votre nom, tappez $3, pour retourner au menu principale, tappez $4."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
|
||||
<macro name="voicemail_record_name">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="enregistrez votre nom au bip, puis tappez une touche ou arretez de parler pour arreter l'enregistrement."/>
|
||||
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_record_file_check">
|
||||
<input pattern="^([0-9#*]):([0-9#*]):([0-9#*])$">
|
||||
<match>
|
||||
<action function="speak-text"
|
||||
data="Pour écouter l'enregistrement, tappez $1, pour sauvegarder l'enregistrement, tappez $2, Pour réenregistrer, tappez $3."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_record_urgent_check">
|
||||
<input pattern="^([0-9#*]):([0-9#*])$">
|
||||
<match>
|
||||
<action function="speak-text"
|
||||
data="Pour indiquer ce messange comme étant urgent, tappez $1, Pour continuer, tappez $2."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_listen_file_check">
|
||||
<input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
|
||||
<match>
|
||||
<action function="speak-text"
|
||||
data="Pour réécouter l'enregistrement à nouveau, tappez $1, Pour sauvegarder l'enregistrement, tappez $2, Pour supprimer l'enregistrement, tappez $3, pour transférer l'enregistrement à votre mail, tappez $4."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_choose_greeting">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="choisissez un message d'accueil entre 1 et 3."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_choose_greeting_fail">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="valeur incorrect."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_record_greeting">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="enregistrez votre message d'accueil au bip, puis tappez une touche ou arretez de parler pour arreter l'enregistrement."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_record_message">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="enregistrez votre message au bip, puis tappez une touche ou arretez de parler pour arreter l'enregistrement."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_greeting_selected">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="message d'accueil numero $1 selectionné."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_play_greeting">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="$1 n'est pas valide."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_say_number">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="$1"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_say_message_number">
|
||||
<input pattern="^([a-z]+):(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="$1 message numero $2."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_say_phone_number">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="$1."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_say_name">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="$1."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_ack">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="message $1"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_say_date">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="$strftime($1|%A, %B %d %Y, %I %M %p)"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<include><!--This line will be ignored it's here to validate the xml and is optional -->
|
||||
<macro name="voicemail_enter_id">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<action function="speak-text" data="Entrez votre Identification, suivi par $1."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_enter_pass">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<action function="speak-text" data="Entrez votre code, suivi par $1."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_fail_auth">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<action function="speak-text" data="Identification incorrect."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_hello">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<action function="speak-text" data="Bienvenu sur votre répondeur."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_goodbye">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<action function="speak-text" data="Aurevoir."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_abort">
|
||||
<input pattern="(.*)">
|
||||
<match>
|
||||
<action function="speak-text" data="Trop de tentatives échouées."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_message_count">
|
||||
<input pattern="^([^:]+):([^:]+):{0,1}(.*)">
|
||||
<match>
|
||||
<action function="speak-text" data="Vous avez $1 $2 message$3 dans le répertoir ${voicemail_current_folder}."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_menu">
|
||||
<input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
|
||||
<match>
|
||||
<action function="speak-text"
|
||||
data="Pour écouter les nouveaux message, tappez $1, Pour écouter les messages enregistrés, tappez $2, Pour les options avancées, tappez $3, pour sortir, tappez $4."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
|
||||
<macro name="voicemail_config_menu">
|
||||
<input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
|
||||
<match>
|
||||
<action function="speak-text"
|
||||
data="pour enregistrer un message d'accueil, tappez $1, Pour choisir votre message d'accueil, tappez $2, Pour enregistrer votre nom, tappez $3, pour retourner au menu principale, tappez $4."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
|
||||
<macro name="voicemail_record_name">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="enregistrez votre nom au bip, puis tappez une touche ou arretez de parler pour arreter l'enregistrement."/>
|
||||
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_record_file_check">
|
||||
<input pattern="^([0-9#*]):([0-9#*]):([0-9#*])$">
|
||||
<match>
|
||||
<action function="speak-text"
|
||||
data="Pour écouter l'enregistrement, tappez $1, pour sauvegarder l'enregistrement, tappez $2, Pour réenregistrer, tappez $3."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_record_urgent_check">
|
||||
<input pattern="^([0-9#*]):([0-9#*])$">
|
||||
<match>
|
||||
<action function="speak-text"
|
||||
data="Pour indiquer ce messange comme étant urgent, tappez $1, Pour continuer, tappez $2."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_listen_file_check">
|
||||
<input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
|
||||
<match>
|
||||
<action function="speak-text"
|
||||
data="Pour réécouter l'enregistrement à nouveau, tappez $1, Pour sauvegarder l'enregistrement, tappez $2, Pour supprimer l'enregistrement, tappez $3, pour transférer l'enregistrement à votre mail, tappez $4."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_choose_greeting">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="choisissez un message d'accueil entre 1 et 3."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_choose_greeting_fail">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="valeur incorrect."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_record_greeting">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="enregistrez votre message d'accueil au bip, puis tappez une touche ou arretez de parler pour arreter l'enregistrement."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_record_message">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="enregistrez votre message au bip, puis tappez une touche ou arretez de parler pour arreter l'enregistrement."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_greeting_selected">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="message d'accueil numero $1 selectionné."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_play_greeting">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="$1 n'est pas valide."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_say_number">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="$1"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_say_message_number">
|
||||
<input pattern="^([a-z]+):(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="$1 message numero $2."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_say_phone_number">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="$1."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_say_name">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="$1."/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_ack">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="message $1"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="voicemail_say_date">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="speak-text" data="$strftime($1|%A, %B %d %Y, %I %M %p)"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
</include><!--This line will be ignored it's here to validate the xml and is optional -->
|
Loading…
Reference in New Issue