Author: anthm Date: Wed Nov 14 16:11:54 2007 New Revision: 6264 Added: freeswitch/trunk/conf/lang/en/demo/ freeswitch/trunk/conf/lang/en/demo/demo.xml freeswitch/trunk/conf/lang/en/en.xml freeswitch/trunk/conf/lang/en/vm/ freeswitch/trunk/conf/lang/en/vm/sounds.xml freeswitch/trunk/conf/lang/en/vm/tts.xml Removed: freeswitch/trunk/conf/lang_en.xml freeswitch/trunk/conf/voicemail_en.xml freeswitch/trunk/conf/voicemail_en_tts.xml Modified: freeswitch/trunk/conf/freeswitch.xml Log: mess with config Modified: freeswitch/trunk/conf/freeswitch.xml ============================================================================== --- freeswitch/trunk/conf/freeswitch.xml (original) +++ freeswitch/trunk/conf/freeswitch.xml Wed Nov 14 16:11:54 2007 @@ -107,14 +107,7 @@ <!-- phrases section (under development still) --> <section name="phrases" description="Speech Phrase Management"> <macros> - <language name="en" sound-path="/snds" tts-engine="cepstral" tts-voice="david"> - <X-PRE-PROCESS cmd="include" data="lang_en.xml"/> - <!--voicemail_en_tts is purely implemented with tts, we need a files based implementation too --> - <X-PRE-PROCESS cmd="include" data="voicemail_en_tts.xml"/> - </language> - <language name="fr" sound_path="/var/sounds/lang/fr/jean" tts_engine="cepstral" tts_voice="jean-pierre"> - <X-PRE-PROCESS cmd="include" data="lang_fr.xml"/> - </language> + <X-PRE-PROCESS cmd="include" data="lang/*/*.xml"/> </macros> </section> Added: freeswitch/trunk/conf/lang/en/demo/demo.xml ============================================================================== --- (empty file) +++ freeswitch/trunk/conf/lang/en/demo/demo.xml Wed Nov 14 16:11:54 2007 @@ -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="vm-youhave.wav"/> + <action function="say" data="$1" method="pronounced" type="items"/> + <action function="play-file" data="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 --> Added: freeswitch/trunk/conf/lang/en/en.xml ============================================================================== --- (empty file) +++ freeswitch/trunk/conf/lang/en/en.xml Wed Nov 14 16:11:54 2007 @@ -0,0 +1,7 @@ +<include> + <language name="en" sound-path="/snds" tts-engine="cepstral" tts-voice="david"> + <X-PRE-PROCESS cmd="include" data="demo/demo.xml"/> + <!--voicemail_en_tts is purely implemented with tts, we need a files based implementation too --> + <X-PRE-PROCESS cmd="include" data="vm/tts.xml"/> + </language> +</include> Added: freeswitch/trunk/conf/lang/en/vm/sounds.xml ============================================================================== --- (empty file) +++ freeswitch/trunk/conf/lang/en/vm/sounds.xml Wed Nov 14 16:11:54 2007 @@ -0,0 +1,273 @@ +<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="items"/> + </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="items"/> + </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:(.*)$"> + <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-$1.wav"/> + <action function="play-file" data="voicemail/vm-message.wav"/> + <action function="play-file" data="voicemail/vm-in_folder.wav"/> + </match> + </input> + <input pattern="^([0,2-9]+):(.*)$"> + <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-$1.wav"/> + <action function="play-file" data="voicemail/vm-messages.wav"/> + <action function="play-file" data="voicemail/vm-in_folder.wav"/> + </match> + </input> + </macro> + + <macro name="voicemail_menu"> + <input pattern="^([0-9#*]):([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_new.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-listen_saved.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-advanced.wav"/> + <action function="say" data="$4" method="pronounced" type="name_phonetic"/> + <action function="play-file" data="voicemail/vm-to_exit.wav"/> + </match> + </input> + </macro> + + + <macro name="voicemail_config_menu"> + <input pattern="^([0-9#*]):([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-record_greeting.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-choose_greeting.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-record_name2.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-main_menu.wav"/> + </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_listen_file_check"> + <input pattern="^([0-9#*]):([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-delete_recording.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-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"/> + </match> + </input> + </macro> + + <macro name="voicemail_choose_greeting"> + <input pattern="^(.*)$"> + <match> + <action function="play-file" data="voicemail/vm-choose_greeting.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="^(.*)$"> + <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="say" data="$1" method="pronounced" type="name_spelled"/> + <action function="play-file" data="voicemail/vm-not_avaliable.wav"/> + </match> + </input> + </macro> + + <macro name="voicemail_say_number"> + <input pattern="^(.*)$"> + <match> + <action function="say" data="$1" method="pronounced" type="items"/> + </match> + </input> + </macro> + + <macro name="voicemail_say_message_number"> + <input pattern="^([a-z]+):(.*)$"> + <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> + + <macro name="voicemail_ack"> + <input pattern="^(.*)$"> + <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="$strftime($1|%A, %B %d %Y, %I %M %p)" method="pronounced" type="current_date_time"/> + </match> + </input> + </macro> + +</include><!--This line will be ignored it's here to validate the xml and is optional --> Added: freeswitch/trunk/conf/lang/en/vm/tts.xml ============================================================================== --- (empty file) +++ freeswitch/trunk/conf/lang/en/vm/tts.xml Wed Nov 14 16:11:54 2007 @@ -0,0 +1,215 @@ +<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="please enter your i d, followed by $1."/> + </match> + </input> + </macro> + + <macro name="voicemail_enter_pass"> + <input pattern="(.*)"> + <match> + <action function="speak-text" data="please enter your password, followed by $1."/> + </match> + </input> + </macro> + + <macro name="voicemail_fail_auth"> + <input pattern="(.*)"> + <match> + <action function="speak-text" data="login incorrect."/> + </match> + </input> + </macro> + + <macro name="voicemail_hello"> + <input pattern="(.*)"> + <match> + <action function="speak-text" data="welcome to your voicemail."/> + </match> + </input> + </macro> + + <macro name="voicemail_goodbye"> + <input pattern="(.*)"> + <match> + <action function="speak-text" data="goodbye."/> + </match> + </input> + </macro> + + <macro name="voicemail_abort"> + <input pattern="(.*)"> + <match> + <action function="speak-text" data="too many failed attempts."/> + </match> + </input> + </macro> + + <macro name="voicemail_message_count"> + <input pattern="^1:(.*)$"> + <match> + <action function="speak-text" data="you have 1 $1 message in folder ${voicemail_current_folder}."/> + </match> + </input> + <input pattern="^([0,2-9]+):(.*)$"> + <match> + <action function="speak-text" data="you have $1 $2 messages in folder ${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="To listen to new messages, press $1, To listen to saved messages, press $2, For advanced options, press $3, to exit, press $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="To record a greeting, press $1, To choose a greeting, press $2, To record your name, press $3, to return to the main menu, press $4."/> + </match> + </input> + </macro> + + + <macro name="voicemail_record_name"> + <input pattern="^(.*)$"> + <match> + <action function="speak-text" data="at the tone, record your name, press any key or stop talking to end the recording."/> + + </match> + </input> + </macro> + + <macro name="voicemail_record_file_check"> + <input pattern="^([0-9#*]):([0-9#*]):([0-9#*])$"> + <match> + <action function="speak-text" + data="To listen to the recording, press $1, To save the recording, press $2, To re record, press $3."/> + </match> + </input> + </macro> + + <macro name="voicemail_record_urgent_check"> + <input pattern="^([0-9#*]):([0-9#*])$"> + <match> + <action function="speak-text" + data="To mark this message urgent, press $1, To continue, press $2."/> + </match> + </input> + </macro> + + <macro name="voicemail_listen_file_check"> + <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$"> + <match> + <action function="speak-text" + data="To listen to the recording again, press $1, To save the recording, press $2, To delete the recording, press $3, to forward the recording to your email, press $4, to call the caller now, press $5."/> + </match> + </input> + </macro> + + <macro name="voicemail_choose_greeting"> + <input pattern="^(.*)$"> + <match> + <action function="speak-text" data="choose a greeting between 1 and 3."/> + </match> + </input> + </macro> + + <macro name="voicemail_choose_greeting_fail"> + <input pattern="^(.*)$"> + <match> + <action function="speak-text" data="invalid value."/> + </match> + </input> + </macro> + + <macro name="voicemail_record_greeting"> + <input pattern="^(.*)$"> + <match> + <action function="speak-text" data="record your greeting at the tone, press any key or stop talking to end the recording."/> + </match> + </input> + </macro> + + <macro name="voicemail_record_message"> + <input pattern="^(.*)$"> + <match> + <action function="speak-text" data="record your message at the tone, press any key or stop talking to end the recording."/> + </match> + </input> + </macro> + + <macro name="voicemail_greeting_selected"> + <input pattern="^(.*)$"> + <match> + <action function="speak-text" data="greeting $1 selected."/> + </match> + </input> + </macro> + + <macro name="voicemail_play_greeting"> + <input pattern="^(.*)$"> + <match> + <action function="speak-text" data="$1 is not available."/> + </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 number $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 -->