]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-3211 checkin
authorAnthony Minessale <anthm@freeswitch.org>
Fri, 1 Apr 2011 18:07:41 +0000 (13:07 -0500)
committerAnthony Minessale <anthm@freeswitch.org>
Fri, 1 Apr 2011 18:07:41 +0000 (13:07 -0500)
conf/lang/he/demo/demo-ivr.xml [new file with mode: 0644]
conf/lang/he/demo/demo.xml [new file with mode: 0644]
conf/lang/he/dir/sounds.xml [new file with mode: 0644]
conf/lang/he/he.xml [new file with mode: 0644]
conf/lang/he/vm/sounds.xml [new file with mode: 0644]

diff --git a/conf/lang/he/demo/demo-ivr.xml b/conf/lang/he/demo/demo-ivr.xml
new file mode 100644 (file)
index 0000000..ec7d7bc
--- /dev/null
@@ -0,0 +1,148 @@
+<?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" pause="100"> <!-- 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="play-file" data="ivr/ivr-this_ivr_will_let_you_test_features.wav"/>
+        <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 -->
+
+        <!-- Menu option 1: Call FreeSWITCH conference-->
+        <action function="play-file" data="ivr/ivr-enter_ext_pound.wav"/>
+        <action function="play-file" data="silence_stream://1500"/>
+        <action function="play-file" data="ivr/ivr-to_call_the_freeswitch_conference.wav"/>
+        <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"/>
+
+        <!-- Menu option 2: Do FreeSWITCH echo test -->
+        <action function="play-file" data="ivr/ivr-to_do_a_freeswitch_echo_test.wav"/>
+        <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"/>
+
+        <!-- Menu option 3: Listen to Music on Hold -->
+        <action function="play-file" data="ivr/ivr-to_listen_to_moh.wav"/>
+        <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"/>
+
+        <!-- Menu option 4: Register for ClueCon -->
+        <action function="play-file" data="ivr/ivr-register_for_cluecon.wav"/>
+        <action function="play-file" data="digits/4.wav"/>
+
+        <!-- Menu option 5: Listen to screaming monkeys -->
+        <action function="play-file" data="ivr/ivr-to_hear_screaming_monkeys.wav"/>
+        <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"/>
+
+        <!-- Menu option 6: Hear a sample submenu -->
+        <action function="play-file" data="ivr/ivr-to_hear_sample_submenu.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/6.wav"/>
+
+        <!-- Menu option 9: Repeat these options -->
+        <action function="play-file" data="ivr/ivr-to_repeat_these_options.wav"/>
+        <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="play-file" data="silence_stream://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" pause="100"> 
+    <input pattern="(.*)">
+      <match>
+        <!-- Menu option 1: Call FreeSWITCH conference-->
+        <action function="play-file" data="silence_stream://1000"/>
+        <action function="play-file" data="ivr/ivr-to_call_the_freeswitch_conference.wav"/>
+        <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"/>
+
+        <!-- Menu option 2: Do FreeSWITCH echo test -->
+        <action function="play-file" data="ivr/ivr-to_do_a_freeswitch_echo_test.wav"/>
+        <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"/>
+
+        <!-- Menu option 3: Listen to Music on Hold -->
+        <action function="play-file" data="ivr/ivr-to_listen_to_moh.wav"/>
+        <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"/>
+
+        <!-- Menu option 4: Hear a sample submenu -->
+        <action function="play-file" data="ivr/ivr-to_hear_sample_submenu.wav"/>
+        <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"/>
+
+        <!-- Menu option 5: Listen to screaming monkeys -->
+        <action function="play-file" data="ivr/ivr-to_hear_screaming_monkeys.wav"/>
+        <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"/>
+
+        <!-- Menu option 9: Repeat these options -->
+        <action function="play-file" data="ivr/ivr-to_repeat_these_options.wav"/>
+        <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="play-file" data="silence_stream://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="play-file" data="ivr/ivr-sample_submenu.wav"/>
+
+        <!-- Menu option *: Return to top menu -->
+        <action function="play-file" data="ivr/ivr-to_return_to_previous_menu.wav"/>
+        <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"/>
+
+      </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="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/star.wav"/>
+
+      </match>
+    </input>
+  </macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/conf/lang/he/demo/demo.xml b/conf/lang/he/demo/demo.xml
new file mode 100644 (file)
index 0000000..e3e6f02
--- /dev/null
@@ -0,0 +1,71 @@
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+    <macro name="msgcount">
+      <input pattern="(.*)">
+       <match>
+         <action function="execute" data="sleep(1000)"/>
+         <action function="play-file" data="voicemail/vm-you_have.wav"/>
+         <action function="say" data="$1" method="pronounced" type="items"/>
+         <action function="play-file" data="voicemail/vm-messages.wav"/>
+         <!-- or -->
+         <!--<action function="speak-text" data="you have $1 messages"/>-->
+       </match>
+      </input>
+    </macro>
+    <macro name="saydate">
+      <input pattern="(.*)">
+       <match>
+         <action function="say" data="$1" method="pronounced" type="current_date_time"/>
+       </match>
+      </input>
+    </macro>
+    <macro name="timespec">
+      <input pattern="(.*)">
+       <match>
+         <action function="say" data="$1" method="pronounced" type="time_measurement"/>
+       </match>
+      </input>
+    </macro>
+    <macro name="ip-addr">
+      <input pattern="(.*)">
+       <match>
+         <action function="say" data="$1" method="iterated" type="ip_address"/>
+         <action function="say" data="$1" method="pronounced" type="ip_address"/>
+       </match>
+      </input>
+    </macro>
+    <macro name="spell">
+      <input pattern="(.*)">
+       <match>
+         <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+       </match>
+      </input>
+    </macro>
+    <macro name="spell-phonetic">
+      <input pattern="(.*)">
+       <match>
+         <action function="say" data="$1" method="pronounced" type="name_phonetic"/>
+       </match>
+      </input>
+    </macro>
+    <macro name="tts-timeleft">
+      <!-- The parser will visit each <input> tag and execute the actions in <match> or <nomatch> depending on the pattern param -->
+      <!-- If the function "break" is encountered all parsing will cease -->
+      <input pattern="(\d+):(\d+)">
+       <match>
+         <action function="speak-text" data="You have $1 minutes, $2 seconds remaining $strftime(%Y-%m-%d)"/>
+         <action function="break"/>
+       </match>
+       <nomatch>
+         <action function="speak-text" data="That input was invalid."/>
+       </nomatch>
+      </input>
+      <input pattern="(\d+) min (\d+) sec">
+       <match>
+         <action function="speak-text" data="You have $1 minutes, $2 seconds remaining $strftime(%Y-%m-%d)"/>
+       </match>
+       <nomatch>
+         <action function="speak-text" data="That input was invalid."/>
+       </nomatch>
+      </input>
+    </macro>
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/conf/lang/he/dir/sounds.xml b/conf/lang/he/dir/sounds.xml
new file mode 100644 (file)
index 0000000..15ecec3
--- /dev/null
@@ -0,0 +1,121 @@
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+       <macro name="directory_intro">
+               <input pattern="^(last_name)" break_on_match="false">
+                       <match>
+                               <action function="play-file" data="directory/dir-enter_person.wav"/>
+                               <action function="play-file" data="directory/dir-last_name.wav"/>
+                       </match>
+               </input>
+               <input pattern="^(first_name)" break_on_match="false">
+                       <match>
+                <action function="play-file" data="directory/dir-enter_person.wav"/>
+                <action function="play-file" data="directory/dir-first_name.wav"/>
+                       </match>
+               </input>
+               <input pattern="^(last_name):([0-9#*])$" break_on_match="false">
+                       <match>
+                               <action function="play-file" data="directory/dir-to_search_by.wav"/>
+                               <action function="play-file" data="directory/dir-first_name.wav"/>
+                               <action function="play-file" data="voicemail/vm-press.wav"/>
+                               <action function="say" data="$2" method="pronounced" type="name_spelled"/>
+                       </match>
+               </input>
+               <input pattern="^(first_name):([0-9#*])$" break_on_match="false">
+                       <match>
+                               <action function="play-file" data="directory/dir-to_search_by.wav"/>
+                               <action function="play-file" data="directory/dir-last_name.wav"/>
+                               <action function="play-file" data="voicemail/vm-press.wav"/>
+                               <action function="say" data="$2" method="pronounced" type="name_spelled"/>
+                       </match>
+               </input>
+       </macro>
+
+       <macro name="directory_min_search_digits">
+               <input pattern="^(.*)$">
+                       <match>
+                               <action function="play-file" data="directory/dir-specify_mininum.wav"/>
+                               <action function="say" data="$1" method="pronounced" type="items"/>
+                               <action function="play-file" data="directory/dir-letters_of_person_name.wav"/>
+                       </match>
+               </input>
+       </macro>
+
+       <macro name="directory_result_count">
+               <input pattern="^0$" break_on_match="true">
+                       <match>
+                               <action function="play-file" data="directory/dir-no_matching_results.wav"/>
+                       </match>
+               </input>
+               <input pattern="^(.*)$">
+                       <match>
+                               <action function="say" data="$1" method="pronounced" type="items"/>
+                               <action function="play-file" data="directory/dir-result_match.wav"/>
+                       </match>
+               </input>
+       </macro>
+
+       <macro name="directory_result_count_too_large">
+               <input pattern="^(.*)$">
+                       <match>
+                               <action function="play-file" data="directory/dir-too_many_result.wav"/>
+                       </match>
+               </input>
+
+       </macro>
+
+       <macro name="directory_result_last">
+               <input pattern="^(.*)$">
+                       <match>
+                               <action function="play-file" data="directory/dir-no_more_results.wav"/>
+                       </match>
+               </input>
+
+       </macro>
+
+       <macro name="directory_result_item">
+               <input pattern="^(.*)$">
+                       <match>
+                               <action function="play-file" data="directory/dir-result_number.wav"/>
+                               <action function="say" data="$1" method="pronounced" type="items"/>
+                       </match>
+               </input>
+       </macro>
+
+       <macro name="directory_result_at">
+               <input pattern="^(.*)$">
+                       <match>
+                               <action function="play-file" data="directory/dir-at_extension.wav"/>
+                               <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+                       </match>
+               </input>
+       </macro>
+
+       <macro name="directory_result_menu">
+               <input pattern="^([0-9#*]),([0-9#*]),([0-9#*]),([0-9#*])$">
+                       <match>
+                               <action function="play-file" data="directory/dir-to_select_entry.wav"/>
+                               <action function="play-file" data="directory/dir-press.wav"/>
+                               <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+                               <action function="play-file" data="directory/dir-for_next.wav"/>
+                               <action function="play-file" data="directory/dir-press.wav"/>
+                               <action function="say" data="$2" method="pronounced" type="name_spelled"/>
+                               <action function="play-file" data="directory/dir-for_prev.wav"/>
+                               <action function="play-file" data="directory/dir-press.wav"/>
+                               <action function="say" data="$3" method="pronounced" type="name_spelled"/>
+                               <action function="play-file" data="directory/dir-start_new_search.wav"/>
+                               <action function="play-file" data="directory/dir-press.wav"/>
+                               <action function="say" data="$4" method="pronounced" type="name_spelled"/>
+
+                       </match>
+               </input>
+       </macro>
+
+       <macro name="directory_result_say_name">
+               <input pattern="^(.*)$">
+                       <match>
+                               <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+                       </match>
+               </input>
+       </macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/conf/lang/he/he.xml b/conf/lang/he/he.xml
new file mode 100644 (file)
index 0000000..006195b
--- /dev/null
@@ -0,0 +1,7 @@
+<include>
+  <language name="he" sound-path="$${sounds_dir}/he/daniel" tts-engine="cepstral" tts-voice="daniel">
+    <X-PRE-PROCESS cmd="include" data="demo/*.xml"/> <!-- Note: this now grabs whole subdir, previously grabbed only demo.xml -->
+    <X-PRE-PROCESS cmd="include" data="vm/sounds.xml"/>
+    <X-PRE-PROCESS cmd="include" data="dir/sounds.xml"/>
+  </language>
+</include>
diff --git a/conf/lang/he/vm/sounds.xml b/conf/lang/he/vm/sounds.xml
new file mode 100644 (file)
index 0000000..5a09041
--- /dev/null
@@ -0,0 +1,404 @@
+<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="play-file" data="voicemail/vm-enter_id.wav"/>
+       <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_enter_pass">
+    <input pattern="(.*)">
+      <match>
+       <action function="play-file" data="voicemail/vm-enter_pass.wav"/>
+       <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_fail_auth">
+    <input pattern="(.*)">
+      <match>
+       <action function="play-file" data="voicemail/vm-fail_auth.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_hello">
+    <input pattern="(.*)">
+      <match>
+       <!--<action function="play-file" data="voicemail/vm-hello.wav"/> -->
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_goodbye">
+    <input pattern="(.*)">
+      <match>
+       <action function="play-file" data="voicemail/vm-goodbye.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_abort">
+    <input pattern="(.*)">
+      <match>
+       <action function="play-file" data="voicemail/vm-abort.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_message_count">
+    <input pattern="^(1):(.*)$" break_on_match="true">
+      <match>
+       <action function="play-file" data="voicemail/vm-you_have.wav"/>
+       <action function="say" data="$1" method="pronounced" type="items"/>
+       <action function="play-file" data="voicemail/vm-$2.wav"/> 
+       <action function="play-file" data="voicemail/vm-message.wav"/>
+      </match>
+    </input>
+    <input pattern="^(\d+):(.*)$">
+      <match>
+       <action function="play-file" data="voicemail/vm-you_have.wav"/>
+       <action function="say" data="$1" method="pronounced" type="items"/>
+       <action function="play-file" data="voicemail/vm-$2.wav"/> 
+       <action function="play-file" data="voicemail/vm-messages.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_menu">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+       <!-- To listen to new messages -->
+       <action function="play-file" data="voicemail/vm-listen_new.wav"/>
+       <action function="play-file" data="voicemail/vm-press.wav"/>
+       <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+       <action function="execute" data="sleep(100)"/>
+
+       <!-- To listen to saved messages -->
+       <action function="play-file" data="voicemail/vm-listen_saved.wav"/>
+       <action function="play-file" data="voicemail/vm-press.wav"/>
+       <action function="say" data="$2" method="pronounced" type="name_spelled"/>
+       <action function="execute" data="sleep(100)"/>
+
+       <!-- For advanced options -->
+       <action function="play-file" data="voicemail/vm-advanced.wav"/>
+       <action function="play-file" data="voicemail/vm-press.wav"/>
+       <action function="say" data="$3" method="pronounced" type="name_spelled"/>
+       <action function="execute" data="sleep(100)"/>
+
+       <!-- To exit -->
+       <action function="play-file" data="voicemail/vm-to_exit.wav"/>
+       <action function="play-file" data="voicemail/vm-press.wav"/>
+       <action function="say" data="$4" method="pronounced" type="name_phonetic"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_config_menu">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+       <!-- To record a greeting -->
+       <action function="play-file" data="voicemail/vm-to_record_greeting.wav"/>
+       <action function="play-file" data="voicemail/vm-press.wav"/>
+       <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+       <action function="execute" data="sleep(100)"/>
+
+       <!-- To choose greeting -->
+       <action function="play-file" data="voicemail/vm-choose_greeting.wav"/>
+       <action function="play-file" data="voicemail/vm-press.wav"/>
+       <action function="say" data="$2" method="pronounced" type="name_spelled"/>
+       <action function="execute" data="sleep(100)"/>
+
+       <!-- To record your name -->
+       <action function="play-file" data="voicemail/vm-record_name2.wav"/>
+       <action function="play-file" data="voicemail/vm-press.wav"/>
+       <action function="say" data="$3" method="pronounced" type="name_spelled"/>
+       <action function="execute" data="sleep(100)"/>
+
+       <!-- To change password -->
+       <action function="play-file" data="voicemail/vm-change_password.wav"/>
+       <action function="play-file" data="voicemail/vm-press.wav"/>
+       <action function="say" data="$4" method="pronounced" type="name_spelled"/>
+       <action function="execute" data="sleep(100)"/>
+
+       <!-- To return to main menu -->
+       <action function="play-file" data="voicemail/vm-main_menu.wav"/>
+       <action function="play-file" data="voicemail/vm-press.wav"/>
+       <action function="say" data="$5" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_name">
+    <input pattern="^(.*)$">
+      <match>
+       <action function="play-file" data="voicemail/vm-record_name1.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_file_check">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+       <action function="play-file" data="voicemail/vm-press.wav"/>
+       <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+       <action function="play-file" data="voicemail/vm-listen_to_recording.wav"/>
+       <action function="play-file" data="voicemail/vm-press.wav"/>
+       <action function="say" data="$2" method="pronounced" type="name_spelled"/>
+       <action function="play-file" data="voicemail/vm-save_recording.wav"/>
+       <action function="play-file" data="voicemail/vm-press.wav"/>
+       <action function="say" data="$3" method="pronounced" type="name_spelled"/>
+       <action function="play-file" data="voicemail/vm-rerecord.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_urgent_check">
+    <input pattern="^([0-9#*]):([0-9#*])$">
+      <match>
+       <action function="play-file" data="voicemail/vm-mark-urgent.wav"/>
+       <action function="play-file" data="voicemail/vm-press.wav"/>
+       <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+       <action function="play-file" data="voicemail/vm-continue.wav"/>
+       <action function="play-file" data="voicemail/vm-press.wav"/>
+       <action function="say" data="$2" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_forward_prepend">
+    <input pattern="^([0-9#*]):([0-9#*])$">
+      <match>
+       <action function="play-file" data="voicemail/vm-forward_add_intro.wav"/>
+       <action function="play-file" data="voicemail/vm-press.wav"/>
+       <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+       <action function="play-file" data="voicemail/vm-send_message_now.wav"/>
+       <action function="play-file" data="voicemail/vm-press.wav"/>
+       <action function="say" data="$2" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_forward_message_enter_extension">
+    <input pattern="^([0-9#*])$">
+      <match>
+       <action function="play-file" data="voicemail/vm-forward_enter_ext.wav"/>
+       <action function="play-file" data="voicemail/vm-followed_by.wav"/>
+       <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_invalid_extension">
+    <input pattern="^(.*)$">
+      <match>
+       <action function="play-file" data="voicemail/vm-that_was_an_invalid_ext.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_listen_file_check">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):(.*)$">
+      <match>
+       <action function="play-file" data="voicemail/vm-listen_to_recording.wav"/>
+       <action function="play-file" data="voicemail/vm-press.wav"/>
+       <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+       <action function="play-file" data="voicemail/vm-save_recording.wav"/>
+       <action function="play-file" data="voicemail/vm-press.wav"/>
+       <action function="say" data="$2" method="pronounced" type="name_spelled"/>
+       <action function="play-file" data="voicemail/vm-delete_recording.wav"/>
+       <action function="play-file" data="voicemail/vm-press.wav"/>
+       <action function="say" data="$3" method="pronounced" type="name_spelled"/>
+       <action function="play-file" data="voicemail/vm-forward_to_email.wav"/>
+       <action function="play-file" data="voicemail/vm-press.wav"/>
+       <action function="say" data="$4" method="pronounced" type="name_spelled"/>
+       <action function="play-file" data="voicemail/vm-return_call.wav"/>
+       <action function="play-file" data="voicemail/vm-press.wav"/>
+       <action function="say" data="$5" method="pronounced" type="name_spelled"/>
+       <action function="play-file" data="voicemail/vm-to_forward.wav"/>
+       <action function="play-file" data="voicemail/vm-press.wav"/>
+       <action function="say" data="$6" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+       <action function="play-file" data="voicemail/vm-listen_to_recording.wav"/>
+       <action function="play-file" data="voicemail/vm-press.wav"/>
+       <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+       <action function="play-file" data="voicemail/vm-save_recording.wav"/>
+       <action function="play-file" data="voicemail/vm-press.wav"/>
+       <action function="say" data="$2" method="pronounced" type="name_spelled"/>
+       <action function="play-file" data="voicemail/vm-delete_recording.wav"/>
+       <action function="play-file" data="voicemail/vm-press.wav"/>
+       <action function="say" data="$3" method="pronounced" type="name_spelled"/>
+       <action function="play-file" data="voicemail/vm-return_call.wav"/>
+       <action function="play-file" data="voicemail/vm-press.wav"/>
+       <action function="say" data="$5" method="pronounced" type="name_spelled"/>
+       <action function="play-file" data="voicemail/vm-to_forward.wav"/>
+       <action function="play-file" data="voicemail/vm-press.wav"/>
+       <action function="say" data="$6" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_choose_greeting">
+    <input pattern="^(.*)$">
+      <match>
+       <action function="play-file" data="voicemail/vm-choose_greeting_choose.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_choose_greeting_fail">
+    <input pattern="^(.*)$">
+      <match>
+       <action function="play-file" data="voicemail/vm-choose_greeting_fail.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_greeting">
+    <input pattern="^(.*)$">
+      <match>
+       <action function="play-file" data="voicemail/vm-record_greeting.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_message">
+    <input pattern="^(.*)$">
+      <match>
+       <action function="play-file" data="voicemail/vm-record_message.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_greeting_selected">
+    <input pattern="^(\d+)$">
+      <match>
+       <action function="play-file" data="voicemail/vm-greeting.wav"/>
+       <action function="say" data="$1" method="pronounced" type="items"/>
+       <action function="play-file" data="voicemail/vm-selected.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_play_greeting">
+    <input pattern="^(.*)$">
+      <match>
+       <action function="play-file" data="voicemail/vm-person.wav"/>
+       <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+       <action function="play-file" data="voicemail/vm-not_available.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_number">
+    <input pattern="^(\d+)$">
+      <match>
+       <action function="say" data="$1" method="pronounced" type="items"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_message_number">
+    <input pattern="^([a-z]+):(\d+)$">
+      <match>
+       <action function="play-file" data="voicemail/vm-$1.wav"/> 
+       <action function="play-file" data="voicemail/vm-message_number.wav"/>
+       <action function="say" data="$2" method="pronounced" type="items"/> 
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_phone_number">
+    <input pattern="^(.*)$">
+      <match>
+       <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_name">
+    <input pattern="^(.*)$">
+      <match>
+       <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+  <!-- Note: Update this to marked-urgent,emailed and saved once new sound files are recorded -->
+  <macro name="voicemail_ack"> 
+    <input pattern="^(too-small)$">
+      <match>
+       <action function="play-file" data="voicemail/vm-too-small.wav"/>
+      </match>
+    </input>
+    <input pattern="^(deleted)$">
+      <match>
+       <action function="play-file" data="voicemail/vm-message.wav"/>
+       <action function="play-file" data="voicemail/vm-$1.wav"/>
+      </match>
+    </input>
+    <input pattern="^(saved)$">
+      <match>
+       <action function="play-file" data="voicemail/vm-message.wav"/>
+       <action function="play-file" data="voicemail/vm-$1.wav"/>
+      </match>
+    </input>
+    <input pattern="^(emailed)$">
+      <match>
+       <action function="play-file" data="voicemail/vm-message.wav"/>
+       <action function="play-file" data="voicemail/vm-$1.wav"/>
+      </match>
+    </input>
+    <input pattern="^(marked-urgent)$">
+      <match>
+       <action function="play-file" data="voicemail/vm-message.wav"/>
+       <action function="play-file" data="voicemail/vm-$1.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_date">
+    <input pattern="^(.*)$">
+      <match>
+       <action function="say" data="$1" method="pronounced" type="current_date_time"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_disk_quota_exceeded">
+    <input pattern="^(.*)$">
+        <match>
+            <action function="play-file" data="voicemail/vm-mailbox_full.wav"/>
+        </match>
+    </input>
+  </macro>
+
+  <macro name="valet_announce_ext">
+    <input pattern="^([^\:]+):(.*)$">
+      <match>
+        <action function="say" data="$2" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="valet_lot_full">
+    <input pattern="^(.*)$">
+      <match>
+        <action function="play-file" data="tone_stream://%(275,10,600);%(275,100,300)"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="valet_lot_empty">
+    <input pattern="^(.*)$">
+      <match>
+        <action function="play-file" data="tone_stream://%(275,10,600);%(275,100,300)"/>
+      </match>
+    </input>
+  </macro>
+</include><!--This line will be ignored it's here to validate the xml and is optional -->