Freeswitch-svn
Threads by month
- ----- 2026 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- 12151 discussions
[commit] r13077 - in freeswitch/trunk/src/mod/languages/mod_managed: . managed
by FreeSWITCH SVN 17 Apr '09
by FreeSWITCH SVN 17 Apr '09
17 Apr '09
Author: brian
Date: Fri Apr 17 09:06:17 2009
New Revision: 13077
Log:
swigall
Modified:
freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_wrap.cxx
freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs
Modified: freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_wrap.cxx
==============================================================================
--- freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_wrap.cxx (original)
+++ freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_wrap.cxx Fri Apr 17 09:06:17 2009
@@ -905,6 +905,17 @@
}
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_BRIDGE_HANGUP_CAUSE_VARIABLE_get() {
+ char * jresult ;
+ char *result = 0 ;
+
+ result = (char *) "bridge_hangup_cause";
+
+ jresult = SWIG_csharp_string_callback((const char *)result);
+ return jresult;
+}
+
+
SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_READ_TERMINATOR_USED_VARIABLE_get() {
char * jresult ;
char *result = 0 ;
@@ -23545,11 +23556,13 @@
}
-SWIGEXPORT void SWIGSTDCALL CSharp_rtp_flush_read_buffer(void * jarg1) {
+SWIGEXPORT void SWIGSTDCALL CSharp_rtp_flush_read_buffer(void * jarg1, int jarg2) {
switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+ switch_rtp_flush_t arg2 ;
arg1 = (switch_rtp_t *)jarg1;
- rtp_flush_read_buffer(arg1);
+ arg2 = (switch_rtp_flush_t)jarg2;
+ rtp_flush_read_buffer(arg1,arg2);
}
Modified: freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs
==============================================================================
--- freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs (original)
+++ freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs Fri Apr 17 09:06:17 2009
@@ -3604,8 +3604,8 @@
return ret;
}
- public static void rtp_flush_read_buffer(SWIGTYPE_p_switch_rtp rtp_session) {
- freeswitchPINVOKE.rtp_flush_read_buffer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
+ public static void rtp_flush_read_buffer(SWIGTYPE_p_switch_rtp rtp_session, switch_rtp_flush_t flush) {
+ freeswitchPINVOKE.rtp_flush_read_buffer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), (int)flush);
}
public static switch_status_t switch_rtp_enable_vad(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_switch_core_session session, switch_codec codec, uint flags) {
@@ -4176,6 +4176,7 @@
public static readonly int SWITCH_MAX_DTMF_DURATION = freeswitchPINVOKE.SWITCH_MAX_DTMF_DURATION_get();
public static readonly string SWITCH_PATH_SEPARATOR = freeswitchPINVOKE.SWITCH_PATH_SEPARATOR_get();
public static readonly string SWITCH_URL_SEPARATOR = freeswitchPINVOKE.SWITCH_URL_SEPARATOR_get();
+ public static readonly string SWITCH_BRIDGE_HANGUP_CAUSE_VARIABLE = freeswitchPINVOKE.SWITCH_BRIDGE_HANGUP_CAUSE_VARIABLE_get();
public static readonly string SWITCH_READ_TERMINATOR_USED_VARIABLE = freeswitchPINVOKE.SWITCH_READ_TERMINATOR_USED_VARIABLE_get();
public static readonly string SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE = freeswitchPINVOKE.SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE_get();
public static readonly string SWITCH_CURRENT_APPLICATION_VARIABLE = freeswitchPINVOKE.SWITCH_CURRENT_APPLICATION_VARIABLE_get();
@@ -4653,6 +4654,9 @@
[DllImport("mod_managed", EntryPoint="CSharp_SWITCH_URL_SEPARATOR_get")]
public static extern string SWITCH_URL_SEPARATOR_get();
+ [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BRIDGE_HANGUP_CAUSE_VARIABLE_get")]
+ public static extern string SWITCH_BRIDGE_HANGUP_CAUSE_VARIABLE_get();
+
[DllImport("mod_managed", EntryPoint="CSharp_SWITCH_READ_TERMINATOR_USED_VARIABLE_get")]
public static extern string SWITCH_READ_TERMINATOR_USED_VARIABLE_get();
@@ -9979,7 +9983,7 @@
public static extern int switch_rtp_zerocopy_read_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3);
[DllImport("mod_managed", EntryPoint="CSharp_rtp_flush_read_buffer")]
- public static extern void rtp_flush_read_buffer(HandleRef jarg1);
+ public static extern void rtp_flush_read_buffer(HandleRef jarg1, int jarg2);
[DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_enable_vad")]
public static extern int switch_rtp_enable_vad(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, uint jarg4);
@@ -23376,7 +23380,25 @@
SWITCH_RTP_FLAG_PROXY_MEDIA = (1 << 18),
SWITCH_RTP_FLAG_SHUTDOWN = (1 << 19),
SWITCH_RTP_FLAG_FLUSH = (1 << 20),
- SWITCH_RTP_FLAG_AUTOFLUSH = (1 << 21)
+ SWITCH_RTP_FLAG_AUTOFLUSH = (1 << 21),
+ SWITCH_RTP_FLAG_STICKY_FLUSH = (1 << 22)
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org)
+ * Version 1.3.35
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+namespace FreeSWITCH.Native {
+
+public enum switch_rtp_flush_t {
+ SWITCH_RTP_FLUSH_ONCE,
+ SWITCH_RTP_FLUSH_STICK,
+ SWITCH_RTP_FLUSH_UNSTICK
}
}
1
0
[commit] r13076 - freeswitch/trunk/scripts/contrib/nmartin/dial_by_name_directory
by FreeSWITCH SVN 17 Apr '09
by FreeSWITCH SVN 17 Apr '09
17 Apr '09
Author: nmartin
Date: Fri Apr 17 07:32:07 2009
New Revision: 13076
Log:
spelling
Modified:
freeswitch/trunk/scripts/contrib/nmartin/dial_by_name_directory/README
Modified: freeswitch/trunk/scripts/contrib/nmartin/dial_by_name_directory/README
==============================================================================
--- freeswitch/trunk/scripts/contrib/nmartin/dial_by_name_directory/README (original)
+++ freeswitch/trunk/scripts/contrib/nmartin/dial_by_name_directory/README Fri Apr 17 07:32:07 2009
@@ -51,7 +51,7 @@
drop dial_by_name_directpry.js in scripts/
-in the dial plan, execute the dial by name directpry like:
+in the dial plan, execute the dial by name directory like:
<extension name="dial_by_name">
<condition field="destination_number" expression="^6000$">
1
0
Author: buklov
Date: Fri Apr 17 00:27:30 2009
New Revision: 13075
Log:
fix
Modified:
freeswitch/trunk/docs/phrase/phrase_ru.xml
Modified: freeswitch/trunk/docs/phrase/phrase_ru.xml
==============================================================================
--- freeswitch/trunk/docs/phrase/phrase_ru.xml (original)
+++ freeswitch/trunk/docs/phrase/phrase_ru.xml Fri Apr 17 00:27:30 2009
@@ -306,7 +306,7 @@
<prompt phrase="Миллионное" filename="h-millionn.wav"/>
<prompt phrase="Миллионных" filename="h-millionxxx.wav"/>
<prompt phrase="Точка" filename="dot.wav"/>
- <prompt phrase="Точка" filename="period.wav"/>
<--period -->
+ <prompt phrase="Точка" filename="period.wav"/>
<!--period -->
<prompt phrase="Точка" filename="point.wav"/>
<prompt phrase="Решётка" filename="pound.wav"/>
<prompt phrase="Звёздочка" filename="star.wav"/>
@@ -450,7 +450,7 @@
<ivr>
<prompt phrase="Номер счета" filename="ivr-account_number.wav"/>
<!-- Account number -->
<prompt phrase="Соединение с вызывающим абонентом" filename="ivr-connect_to_caller.wav"/>
<!--Connect to caller -->
- <prompt phrase="если вам известен добавочный номер вызываемого абонента, пожалуйста введите его сейчас" filename="ivr-enter_ext_pound.wav"/>
<!-- If you know your party's extension, please enter it now -->
+ <prompt phrase="Если вам известен добавочный номер вызываемого абонента, пожалуйста введите его сейчас" filename="ivr-enter_ext_pound.wav"/>
<!-- If you know your party's extension, please enter it now -->
<prompt phrase="Пожалуйста, введите добавочный номер абонента завершив нажатием на клавишу решётка" filename="ivr-enter_ext.wav"/>
<!-- Please enter an extension followed by the pound sign-->
<prompt phrase="Для этого абонента" filename="ivr-for_this_person.wav"/>
<!-- For this person -->
<prompt phrase="Пожалуйста, оставайтесь на линии, идет соединение" filename="ivr-hold_connect_call.wav"/>
<!-- Please hold while I connect your call -->
1
0
Author: buklov
Date: Fri Apr 17 00:18:33 2009
New Revision: 13074
Log:
fix
Modified:
freeswitch/trunk/docs/phrase/phrase_ru.xml
Modified: freeswitch/trunk/docs/phrase/phrase_ru.xml
==============================================================================
--- freeswitch/trunk/docs/phrase/phrase_ru.xml (original)
+++ freeswitch/trunk/docs/phrase/phrase_ru.xml Fri Apr 17 00:18:33 2009
@@ -1,523 +1,523 @@
<language>
<ru>
<ascii>
- <prompt phrase="Пробел " filename= "32.wav"/>
<!-- -->
- <prompt phrase="Решётка" filename= "35.wav"/>
- <prompt phrase="Звездочка " filename= "42.wav"/>
- <prompt phrase="Точка " filename= "46.wav"/>
- <prompt phrase="A " filename= "97.wav"/>
- <prompt phrase="B " filename= "98.wav"/>
- <prompt phrase="C " filename= "99.wav"/>
- <prompt phrase="D " filename= "100.wav"/>
- <prompt phrase="E " filename= "101.wav"/>
- <prompt phrase="F " filename= "102.wav"/>
- <prompt phrase="G " filename= "103.wav"/>
- <prompt phrase="H " filename= "104.wav"/>
- <prompt phrase="I " filename= "105.wav"/>
- <prompt phrase="J " filename= "106.wav"/>
- <prompt phrase="K " filename= "107.wav"/>
- <prompt phrase="L " filename= "108.wav"/>
- <prompt phrase="M " filename= "109.wav"/>
- <prompt phrase="N " filename= "110.wav"/>
- <prompt phrase="O " filename= "111.wav"/>
- <prompt phrase="P " filename= "112.wav"/>
- <prompt phrase="Q " filename= "112.wav"/>
- <prompt phrase="R " filename= "114.wav"/>
- <prompt phrase="S " filename= "115.wav"/>
- <prompt phrase="T " filename= "116.wav"/>
- <prompt phrase="U " filename= "117.wav"/>
- <prompt phrase="V " filename= "118.wav"/>
- <prompt phrase="W " filename= "119.wav"/>
- <prompt phrase="X " filename= "120.wav"/>
- <prompt phrase="Y " filename= "121.wav"/>
- <prompt phrase="Z " filename= "122.wav"/>
+ <prompt phrase="Пробел" filename="32.wav"/>
<!-- -->
+ <prompt phrase="Решётка" filename="35.wav"/>
+ <prompt phrase="Звездочка" filename="42.wav"/>
+ <prompt phrase="Точка" filename="46.wav"/>
+ <prompt phrase="A" filename="97.wav"/>
+ <prompt phrase="B" filename="98.wav"/>
+ <prompt phrase="C" filename="99.wav"/>
+ <prompt phrase="D" filename="100.wav"/>
+ <prompt phrase="E" filename="101.wav"/>
+ <prompt phrase="F" filename="102.wav"/>
+ <prompt phrase="G" filename="103.wav"/>
+ <prompt phrase="H" filename="104.wav"/>
+ <prompt phrase="I" filename="105.wav"/>
+ <prompt phrase="J" filename="106.wav"/>
+ <prompt phrase="K" filename="107.wav"/>
+ <prompt phrase="L" filename="108.wav"/>
+ <prompt phrase="M" filename="109.wav"/>
+ <prompt phrase="N" filename="110.wav"/>
+ <prompt phrase="O" filename="111.wav"/>
+ <prompt phrase="P" filename="112.wav"/>
+ <prompt phrase="Q" filename="113.wav"/>
+ <prompt phrase="R" filename="114.wav"/>
+ <prompt phrase="S" filename="115.wav"/>
+ <prompt phrase="T" filename="116.wav"/>
+ <prompt phrase="U" filename="117.wav"/>
+ <prompt phrase="V" filename="118.wav"/>
+ <prompt phrase="W" filename="119.wav"/>
+ <prompt phrase="X" filename="120.wav"/>
+ <prompt phrase="Y" filename="121.wav"/>
+ <prompt phrase="Z" filename="122.wav"/>
</ascii>
<phonetic>
- <prompt phrase="Пробел " filename= "32.wav"/>
- <prompt phrase="Точка " filename= "46.wav"/>
- <prompt phrase="Alpha " filename= "97.wav"/>
- <prompt phrase="Bravo " filename= "98.wav"/>
- <prompt phrase="Charlie " filename= "99.wav"/>
- <prompt phrase="Delta " filename= "100.wav"/>
- <prompt phrase="Echo " filename= "101.wav"/>
- <prompt phrase="Foxtrot " filename= "102.wav"/>
- <prompt phrase="Golf " filename= "103.wav"/>
- <prompt phrase="Hotel " filename= "104.wav"/>
- <prompt phrase="India " filename= "105.wav"/>
- <prompt phrase="Juliet " filename= "106.wav"/>
- <prompt phrase="Kilo " filename= "107.wav"/>
- <prompt phrase="Lima " filename= "108.wav"/>
- <prompt phrase="Mike " filename= "109.wav"/>
- <prompt phrase="November " filename= "110.wav"/>
- <prompt phrase="Oscar " filename= "111.wav"/>
- <prompt phrase="Papa " filename= "112.wav"/>
- <prompt phrase="Quebec " filename= "113.wav"/>
- <prompt phrase="Romeo " filename= "114.wav"/>
- <prompt phrase="Sierra " filename= "115.wav"/>
- <prompt phrase="Tango " filename= "116.wav"/>
- <prompt phrase="Unifor " filename= "117.wav"/>
- <prompt phrase="Victor " filename= "118.wav"/>
- <prompt phrase="Whiskey " filename= "119.wav"/>
- <prompt phrase="Xray " filename= "120.wav"/>
- <prompt phrase="Yankee " filename= "121.wav"/>
- <prompt phrase="Zulu " filename= "122.wav"/>
+ <prompt phrase="Пробел" filename="32.wav"/>
+ <prompt phrase="Точка" filename="46.wav"/>
+ <prompt phrase="Alpha" filename="97.wav"/>
+ <prompt phrase="Bravo" filename="98.wav"/>
+ <prompt phrase="Charlie" filename="99.wav"/>
+ <prompt phrase="Delta" filename="100.wav"/>
+ <prompt phrase="Echo" filename="101.wav"/>
+ <prompt phrase="Foxtrot" filename="102.wav"/>
+ <prompt phrase="Golf" filename="103.wav"/>
+ <prompt phrase="Hotel" filename="104.wav"/>
+ <prompt phrase="India" filename="105.wav"/>
+ <prompt phrase="Juliet" filename="106.wav"/>
+ <prompt phrase="Kilo" filename="107.wav"/>
+ <prompt phrase="Lima" filename="108.wav"/>
+ <prompt phrase="Mike" filename="109.wav"/>
+ <prompt phrase="November" filename="110.wav"/>
+ <prompt phrase="Oscar" filename="111.wav"/>
+ <prompt phrase="Papa" filename="112.wav"/>
+ <prompt phrase="Quebec" filename="113.wav"/>
+ <prompt phrase="Romeo" filename="114.wav"/>
+ <prompt phrase="Sierra" filename="115.wav"/>
+ <prompt phrase="Tango" filename="116.wav"/>
+ <prompt phrase="Unifor" filename="117.wav"/>
+ <prompt phrase="Victor" filename="118.wav"/>
+ <prompt phrase="Whiskey" filename="119.wav"/>
+ <prompt phrase="Xray" filename="120.wav"/>
+ <prompt phrase="Yankee" filename="121.wav"/>
+ <prompt phrase="Zulu" filename="122.wav"/>
</phonetic>
<digits>
- <prompt phrase="ноль " filename= "0.wav"/>
- <prompt phrase="нулевая" filename= "h-0f.wav"/>
- <prompt phrase="нулевой" filename= "h-0m.wav"/>
- <prompt phrase="Нулевое" filename= "h-0n.wav"/>
- <prompt phrase="нулевого" filename= "h-0x.wav"/>
- <prompt phrase="Один " filename= "1.wav"/>
- <prompt phrase="Одна " filename= "1f.wav"/>
- <prompt phrase="Одно " filename= "1n.wav"/>
- <prompt phrase="Одного" filename= "1x.wav"/>
- <prompt phrase="Первого " filename= "h-1x.wav"/>
- <prompt phrase="Первый " filename= "h-1m.wav"/>
- <prompt phrase="Первое" filename= "h-1n.wav"/>
- <prompt phrase="Первая" filename= "h-1f.wav"/>
- <prompt phrase="Одна" filename= "h-1xx.wav"/>
- <prompt phrase="Два " filename= "2.wav"/>
- <prompt phrase="Две " filename= "2f.wav"/>
- <prompt phrase="Два " filename= "2n.wav"/>
- <prompt phrase="Двух" filename= "h-2xx.wav"/>
- <prompt phrase="Второе" filename= "h-2n.wav"/>
- <prompt phrase="Второго " filename= "h-2x.wav"/>
- <prompt phrase="Второй " filename= "h-2m.wav"/>
- <prompt phrase="Вторая" filename= "h-2f.wav"/>
- <prompt phrase="Три " filename= "3.wav"/>
- <prompt phrase="Третьего " filename= "h-3x.wav"/>
- <prompt phrase="Третий " filename= "h-3m.wav"/>
- <prompt phrase="Третья" filename= "h-3f.wav"/>
- <prompt phrase="третье" filename= "h-3n.wav"/>
- <prompt phrase="Трёх" filename= "h-3xx.wav"/>
- <prompt phrase="Четыре " filename= "4.wav"/>
- <prompt phrase="Четвёртая" filename= "h-4f.wav"/>
- <prompt phrase="Четвёртого " filename= "h-4x.wav"/>
- <prompt phrase="Четвёртый " filename= "h-4m.wav"/>
- <prompt phrase="Четвёртое" filename= "h-4n.wav"/>
- <prompt phrase="Четырёх" filename= "h-4xx.wav"/>
- <prompt phrase="Пять" filename= "5.wav"/>
- <prompt phrase="Пятая" filename= "h-5f.wav"/>
- <prompt phrase="Пятого" filename= "h-5x.wav"/>
- <prompt phrase="Пятый " filename= "h-5m.wav"/>
- <prompt phrase="Пятое" filename= "h-5n.wav"/>
- <prompt phrase="Пяти" filename= "h-5xx.wav"/>
- <prompt phrase="Шесть" filename= "6.wav"/>
- <prompt phrase="Шестая" filename= "h-6f.wav"/>
- <prompt phrase="Шестого" filename= "h-6x.wav"/>
- <prompt phrase="Шестой" filename= "h-6m.wav"/>
- <prompt phrase="Шестое" filename= "h-6n.wav"/>
- <prompt phrase="Шести" filename= "h-6xx.wav"/>
- <prompt phrase="Семь" filename= "7.wav"/>
- <prompt phrase="Седьмая" filename= "h-7f.wav"/>
- <prompt phrase="Седьмого" filename= "h-7x.wav"/>
- <prompt phrase="Седьмой" filename= "h-7m.wav"/>
- <prompt phrase="Седьмое" filename= "h-7n.wav"/>
- <prompt phrase="Семи" filename= "h-7xx.wav"/>
- <prompt phrase="Восемь" filename= "8.wav"/>
- <prompt phrase="Восьмая" filename= "h-8f.wav"/>
- <prompt phrase="Восьмого" filename= "h-8x.wav"/>
- <prompt phrase="Восьмой" filename= "h-8m.wav"/>
- <prompt phrase="Восьмое" filename= "h-8n.wav"/>
- <prompt phrase="Восьми" filename= "h-8xx.wav"/>
- <prompt phrase="Девять" filename= "9.wav"/>
- <prompt phrase="Девятая" filename= "h-9f.wav"/>
- <prompt phrase="Девятого" filename= "h-9x.wav"/>
- <prompt phrase="Девятый" filename= "h-9m.wav"/>
- <prompt phrase="Девятое" filename= "h-9n.wav"/>
- <prompt phrase="Девяти" filename= "h-9xx.wav"/>
- <prompt phrase="Десять" filename= "10.wav"/>
- <prompt phrase="Десятая" filename= "h-10f.wav"/>
- <prompt phrase="Десятого" filename= "h-10x.wav"/>
- <prompt phrase="Десятый" filename= "h-10m.wav"/>
- <prompt phrase="Десятое" filename= "h-10n.wav"/>
- <prompt phrase="Десяти" filename= "h-10xx.wav"/>
- <prompt phrase="Одинадцать" filename= "11.wav"/>
- <prompt phrase="Одинадцатая" filename= "h-11f.wav"/>
- <prompt phrase="Одинадцатого" filename= "h-11x.wav"/>
- <prompt phrase="Одинадцатый" filename= "h-11m.wav"/>
- <prompt phrase="Одинадцатое" filename= "h-11n.wav"/>
- <prompt phrase="Одинадцати" filename= "h-11xx.wav"/>
- <prompt phrase="Двенадцать" filename= "12.wav"/>
- <prompt phrase="Двенадцатая" filename= "h-12f.wav"/>
- <prompt phrase="Двенадцатого" filename= "h-12x.wav"/>
- <prompt phrase="Двенадцатый" filename= "h-12m.wav"/>
- <prompt phrase="Двенадцатое" filename= "h-12n.wav"/>
- <prompt phrase="Двенадцати" filename= "h-12xx.wav"/>
- <prompt phrase="Тринадцать" filename= "13.wav"/>
- <prompt phrase="Тринадцатая" filename= "h-13f.wav"/>
- <prompt phrase="Тринадцатого" filename= "h-13x.wav"/>
- <prompt phrase="Тринадцатый" filename= "h-13m.wav"/>
- <prompt phrase="Тринадцатое" filename= "h-13n.wav"/>
- <prompt phrase="Тринадцати" filename= "h-13xx.wav"/>
- <prompt phrase="Четырнадцать" filename= "14.wav"/>
- <prompt phrase="Четырнадцатая" filename= "h-14f.wav"/>
- <prompt phrase="Четырнадцатого" filename= "h-14x.wav"/>
- <prompt phrase="Четырнадцатый" filename= "h-14m.wav"/>
- <prompt phrase="Четырнадцатое" filename= "h-14n.wav"/>
- <prompt phrase="Четырнадцати" filename= "h-14xx.wav"/>
- <prompt phrase="Пятнадцать" filename= "15.wav"/>
- <prompt phrase="Пятнадцатая" filename= "h-15f.wav"/>
- <prompt phrase="Пятнадцатого" filename= "h-15x.wav"/>
- <prompt phrase="Пятнадцатый" filename= "h-15m.wav"/>
- <prompt phrase="Пятнадцатое" filename= "h-15n.wav"/>
- <prompt phrase="Пятнадцати" filename= "h-15xx.wav"/>
- <prompt phrase="Шестнадцать" filename= "16.wav"/>
- <prompt phrase="Шестнадцатая" filename= "h-16f.wav"/>
- <prompt phrase="Шестнадцатого" filename= "h-16x.wav"/>
- <prompt phrase="Шестнадцатый" filename= "h-16m.wav"/>
- <prompt phrase="Шестнадцатое" filename= "h-16n.wav"/>
- <prompt phrase="Шестнадцати" filename= "h-16xx.wav"/>
- <prompt phrase="Семнадцать" filename= "17.wav"/>
- <prompt phrase="Семнадцатая" filename= "h-17f.wav"/>
- <prompt phrase="Семнадцатого" filename= "h-17x.wav"/>
- <prompt phrase="Семнадцатый" filename= "h-17m.wav"/>
- <prompt phrase="Семнадцатое" filename= "h-17n.wav"/>
- <prompt phrase="Семнадцати" filename= "h-17xx.wav"/>
- <prompt phrase="Восемнадцать" filename= "18.wav"/>
- <prompt phrase="Восемнадцатая" filename= "h-18f.wav"/>
- <prompt phrase="Восемнадцатого" filename= "h-18x.wav"/>
- <prompt phrase="Восемнадцатый" filename= "h-18m.wav"/>
- <prompt phrase="Восемнадцатое" filename= "h-18n.wav"/>
- <prompt phrase="Восемнадцати" filename= "h-18xx.wav"/>
- <prompt phrase="Девятнадцать" filename= "19.wav"/>
- <prompt phrase="Девятнадцатая" filename= "h-19f.wav"/>
- <prompt phrase="Девятнадцатого" filename= "h-19x.wav"/>
- <prompt phrase="Девятнадцатый" filename= "h-19m.wav"/>
- <prompt phrase="Девятнадцатое" filename= "h-19n.wav"/>
- <prompt phrase="Девятнадцати" filename= "h-19xx.wav"/>
- <prompt phrase="Двадцать" filename= "20.wav"/>
- <prompt phrase="Двадцатая" filename= "h-20f.wav"/>
- <prompt phrase="Двадцатого" filename= "h-20x.wav"/>
- <prompt phrase="Двадцатый" filename= "h-20m.wav"/>
- <prompt phrase="Двадцатое" filename= "h-20n.wav"/>
- <prompt phrase="Двадцати" filename= "h-20xx.wav"/>
- <prompt phrase="Тридцать" filename= "30.wav"/>
- <prompt phrase="Тридцатая" filename= "h-30f.wav"/>
- <prompt phrase="Тридцатого" filename= "h-30x.wav"/>
- <prompt phrase="Тридцатый" filename= "h-30m.wav"/>
- <prompt phrase="Тридцатое" filename= "h-30n.wav"/>
- <prompt phrase="Тридцати" filename= "h-30xx.wav"/>
- <prompt phrase="Сорок" filename= "40.wav"/>
- <prompt phrase="Сороковая" filename= "h-40f.wav"/>
- <prompt phrase="Сорокового" filename= "h-40x.wav"/>
- <prompt phrase="Сороковой" filename= "h-40m.wav"/>
- <prompt phrase="Сороковое" filename= "h-40n.wav"/>
- <prompt phrase="Сорока" filename= "h-40xx.wav"/>
- <prompt phrase="Пятьдесят" filename= "50.wav"/>
- <prompt phrase="Пятидесятая" filename= "h-50f.wav"/>
- <prompt phrase="Пятидесятого" filename= "h-50x.wav"/>
- <prompt phrase="Пятидесятый" filename= "h-50m.wav"/>
- <prompt phrase="Пятидесятое" filename= "h-50n.wav"/>
- <prompt phrase="Пятидесяти" filename= "h-50xx.wav"/>
- <prompt phrase="Шестьдесят" filename= "60.wav"/>
- <prompt phrase="Шестидесятая" filename= "h-60f.wav"/>
- <prompt phrase="Шестидесятого" filename= "h-60x.wav"/>
- <prompt phrase="Шестидесятый" filename= "h-60m.wav"/>
- <prompt phrase="Шестидесятое" filename= "h-60n.wav"/>
- <prompt phrase="Шестидесяти" filename= "h-60xx.wav"/>
- <prompt phrase="Семьдесят" filename= "70.wav"/>
- <prompt phrase="Семидесятая" filename= "h-70f.wav"/>
- <prompt phrase="Семидесятого" filename= "h-70x.wav"/>
- <prompt phrase="Семидесятый" filename= "h-70m.wav"/>
- <prompt phrase="Семидесятое" filename= "h-70n.wav"/>
- <prompt phrase="Семидесяти" filename= "h-70xx.wav"/>
- <prompt phrase="Восемьдесят" filename= "80.wav"/>
- <prompt phrase="Восьмидесятая" filename= "h-80f.wav"/>
- <prompt phrase="Восемидесятого" filename= "h-80x.wav"/>
- <prompt phrase="Восемидесятый" filename= "h-80m.wav"/>
- <prompt phrase="Восьмидесятое" filename= "h-80n.wav"/>
- <prompt phrase="Восьмидесяти" filename= "h-80xx.wav"/>
- <prompt phrase="Девяносто" filename= "90.wav"/>
- <prompt phrase="Девяностая" filename= "h-90f.wav"/>
- <prompt phrase="Девяностого" filename= "h-90x.wav"/>
- <prompt phrase="Девяностый" filename= "h-90m.wav"/>
- <prompt phrase="Девяностое" filename= "h-90n.wav"/>
- <prompt phrase="Девяноста" filename= "h-90xx.wav"/>
- <prompt phrase="Сто" filename= "100.wav"/>
- <prompt phrase="Сотая" filename= "h-100f.wav"/>
- <prompt phrase="Сотого" filename= "h-100x.wav"/>
- <prompt phrase="Сотый" filename= "h-100m.wav"/>
- <prompt phrase="Сотое" filename= "h-100n.wav"/>
- <prompt phrase="Ста" filename= "h-100xx.wav"/>
- <prompt phrase="Двести" filename= "200.wav"/>
- <prompt phrase="Двухсотая" filename= "h-200f.wav"/>
- <prompt phrase="Двухсотого" filename= "h-200x.wav"/>
- <prompt phrase="Двухсотый" filename= "h-200m.wav"/>
- <prompt phrase="Двухсотое" filename= "h-200n.wav"/>
- <prompt phrase="Двухсот" filename= "h-200xx.wav"/>
- <prompt phrase="Триста" filename= "300.wav"/>
- <prompt phrase="Трёхсотая" filename= "h-300f.wav"/>
- <prompt phrase="Трёхсотого" filename= "h-300x.wav"/>
- <prompt phrase="Трёхсотый" filename= "h-300m.wav"/>
- <prompt phrase="Трёхсотое" filename= "h-300n.wav"/>
- <prompt phrase="Трёхсот" filename= "h-300xx.wav"/>
- <prompt phrase="Четыреста" filename= "400.wav"/>
- <prompt phrase="Четырёхсотая" filename= "h-400f.wav"/>
- <prompt phrase="Четырёхсотого" filename= "h-400x.wav"/>
- <prompt phrase="Четырёхсотый" filename= "h-400m.wav"/>
- <prompt phrase="Четырёхсотое" filename= "h-400n.wav"/>
- <prompt phrase="Четырёхсот" filename= "h-400xx.wav"/>
- <prompt phrase="Пятьсот" filename= "500.wav"/>
- <prompt phrase="Пятисотая" filename= "h-500f.wav"/>
- <prompt phrase="Пятисотого" filename= "h-500x.wav"/>
- <prompt phrase="Пятисотый" filename= "h-500m.wav"/>
- <prompt phrase="Пятисотое" filename= "h-500n.wav"/>
- <prompt phrase="Пятисот" filename= "h-500xx.wav"/>
- <prompt phrase="Шестьсот" filename= "600.wav"/>
- <prompt phrase="Шестисотая" filename= "h-600f.wav"/>
- <prompt phrase="Шестисотого" filename= "h-600x.wav"/>
- <prompt phrase="Шестисотый" filename= "h-600m.wav"/>
- <prompt phrase="Шестисотое" filename= "h-600n.wav"/>
- <prompt phrase="Шестисот" filename= "h-600xx.wav"/>
- <prompt phrase="Семьсот" filename= "700.wav"/>
- <prompt phrase="Семисотая" filename= "h-700f.wav"/>
- <prompt phrase="Семисотого" filename= "h-700x.wav"/>
- <prompt phrase="Семисотый" filename= "h-700m.wav"/>
- <prompt phrase="Семисотое" filename= "h-700n.wav"/>
- <prompt phrase="Семисот" filename= "h-700xx.wav"/>
- <prompt phrase="Восемьсот" filename= "800.wav"/>
- <prompt phrase="Восьмисотая" filename= "h-800f.wav"/>
- <prompt phrase="Восьмисотого" filename= "h-800x.wav"/>
- <prompt phrase="Восьмисотый" filename= "h-800m.wav"/>
- <prompt phrase="Восьмисотое" filename= "h-800n.wav"/>
- <prompt phrase="Восьмисот" filename= "h-800xx.wav"/>
- <prompt phrase="Девятьсот" filename= "900.wav"/>
- <prompt phrase="Девятисотая" filename= "h-900f.wav"/>
- <prompt phrase="Девятосотого" filename= "h-900x.wav"/>
- <prompt phrase="Девятисотый" filename= "h-900m.wav"/>
- <prompt phrase="Девятисотое" filename= "h-900n.wav"/>
- <prompt phrase="Девятисот" filename= "h-900xx.wav"/>
- <prompt phrase="Тысяча " filename= "thousand.wav"/>
- <prompt phrase="Тысячи " filename= "thousands-i.wav"/>
- <prompt phrase="Тысяч " filename= "thousands.wav"/>
- <prompt phrase="Тысячная" filename= "h-thousandf.wav"/>
- <prompt phrase="Тысячного" filename= "h-thousandx.wav"/>
- <prompt phrase="Тысячный" filename= "h-thousandm.wav"/>
- <prompt phrase="Тысячное" filename= "h-thousandn.wav"/>
- <prompt phrase="Тысячных" filename= "h-thousandxxx.wav"/>
- <prompt phrase="Миллион " filename= "million.wav"/>
- <prompt phrase="Миллиона " filename= "million-a.wav"/>
- <prompt phrase="Миллионов " filename= "millions.wav"/>
- <prompt phrase="Миллионная" filename= "h-millionf.wav"/>
- <prompt phrase="Миллионного " filename= "h-millionx.wav"/>
- <prompt phrase="Миллионный" filename= "h-millionm.wav"/>
- <prompt phrase="Миллионное" filename= "h-millionn.wav"/>
- <prompt phrase="Миллионных" filename= "h-millionxxx.wav"/>
- <prompt phrase="Точка " filename= "dot.wav"/>
- <prompt phrase="Период " filename= "period.wav"/>
- <prompt phrase="Точка " filename= "point.wav"/>
- <prompt phrase="Решётка " filename= "pound.wav"/>
- <prompt phrase="Звёздочка " filename= "star.wav"/>
+ <prompt phrase="ноль" filename="0.wav"/>
+ <prompt phrase="нулевая" filename="h-0f.wav"/>
+ <prompt phrase="нулевой" filename="h-0m.wav"/>
+ <prompt phrase="Нулевое" filename="h-0n.wav"/>
+ <prompt phrase="нулевого" filename="h-0x.wav"/>
+ <prompt phrase="Один" filename="1.wav"/>
+ <prompt phrase="Одна" filename="1f.wav"/>
+ <prompt phrase="Одно" filename="1n.wav"/>
+ <prompt phrase="Одного" filename="1x.wav"/>
+ <prompt phrase="Первого" filename="h-1x.wav"/>
+ <prompt phrase="Первый" filename="h-1m.wav"/>
+ <prompt phrase="Первое" filename="h-1n.wav"/>
+ <prompt phrase="Первая" filename="h-1f.wav"/>
+ <prompt phrase="Одна" filename="h-1xx.wav"/>
+ <prompt phrase="Два" filename="2.wav"/>
+ <prompt phrase="Две" filename="2f.wav"/>
+ <prompt phrase="Два" filename="2n.wav"/>
+ <prompt phrase="Двух" filename="h-2xx.wav"/>
+ <prompt phrase="Второе" filename="h-2n.wav"/>
+ <prompt phrase="Второго" filename="h-2x.wav"/>
+ <prompt phrase="Второй" filename="h-2m.wav"/>
+ <prompt phrase="Вторая" filename="h-2f.wav"/>
+ <prompt phrase="Три" filename="3.wav"/>
+ <prompt phrase="Третьего" filename="h-3x.wav"/>
+ <prompt phrase="Третий" filename="h-3m.wav"/>
+ <prompt phrase="Третья" filename="h-3f.wav"/>
+ <prompt phrase="третье" filename="h-3n.wav"/>
+ <prompt phrase="Трёх" filename="h-3xx.wav"/>
+ <prompt phrase="Четыре" filename="4.wav"/>
+ <prompt phrase="Четвёртая" filename="h-4f.wav"/>
+ <prompt phrase="Четвёртого" filename="h-4x.wav"/>
+ <prompt phrase="Четвёртый" filename="h-4m.wav"/>
+ <prompt phrase="Четвёртое" filename="h-4n.wav"/>
+ <prompt phrase="Четырёх" filename="h-4xx.wav"/>
+ <prompt phrase="Пять" filename="5.wav"/>
+ <prompt phrase="Пятая" filename="h-5f.wav"/>
+ <prompt phrase="Пятого" filename="h-5x.wav"/>
+ <prompt phrase="Пятый" filename="h-5m.wav"/>
+ <prompt phrase="Пятое" filename="h-5n.wav"/>
+ <prompt phrase="Пяти" filename="h-5xx.wav"/>
+ <prompt phrase="Шесть" filename="6.wav"/>
+ <prompt phrase="Шестая" filename="h-6f.wav"/>
+ <prompt phrase="Шестого" filename="h-6x.wav"/>
+ <prompt phrase="Шестой" filename="h-6m.wav"/>
+ <prompt phrase="Шестое" filename="h-6n.wav"/>
+ <prompt phrase="Шести" filename="h-6xx.wav"/>
+ <prompt phrase="Семь" filename="7.wav"/>
+ <prompt phrase="Седьмая" filename="h-7f.wav"/>
+ <prompt phrase="Седьмого" filename="h-7x.wav"/>
+ <prompt phrase="Седьмой" filename="h-7m.wav"/>
+ <prompt phrase="Седьмое" filename="h-7n.wav"/>
+ <prompt phrase="Семи" filename="h-7xx.wav"/>
+ <prompt phrase="Восемь" filename="8.wav"/>
+ <prompt phrase="Восьмая" filename="h-8f.wav"/>
+ <prompt phrase="Восьмого" filename="h-8x.wav"/>
+ <prompt phrase="Восьмой" filename="h-8m.wav"/>
+ <prompt phrase="Восьмое" filename="h-8n.wav"/>
+ <prompt phrase="Восьми" filename="h-8xx.wav"/>
+ <prompt phrase="Девять" filename="9.wav"/>
+ <prompt phrase="Девятая" filename="h-9f.wav"/>
+ <prompt phrase="Девятого" filename="h-9x.wav"/>
+ <prompt phrase="Девятый" filename="h-9m.wav"/>
+ <prompt phrase="Девятое" filename="h-9n.wav"/>
+ <prompt phrase="Девяти" filename="h-9xx.wav"/>
+ <prompt phrase="Десять" filename="10.wav"/>
+ <prompt phrase="Десятая" filename="h-10f.wav"/>
+ <prompt phrase="Десятого" filename="h-10x.wav"/>
+ <prompt phrase="Десятый" filename="h-10m.wav"/>
+ <prompt phrase="Десятое" filename="h-10n.wav"/>
+ <prompt phrase="Десяти" filename="h-10xx.wav"/>
+ <prompt phrase="Одинадцать" filename="11.wav"/>
+ <prompt phrase="Одинадцатая" filename="h-11f.wav"/>
+ <prompt phrase="Одинадцатого" filename="h-11x.wav"/>
+ <prompt phrase="Одинадцатый" filename="h-11m.wav"/>
+ <prompt phrase="Одинадцатое" filename="h-11n.wav"/>
+ <prompt phrase="Одинадцати" filename="h-11xx.wav"/>
+ <prompt phrase="Двенадцать" filename="12.wav"/>
+ <prompt phrase="Двенадцатая" filename="h-12f.wav"/>
+ <prompt phrase="Двенадцатого" filename="h-12x.wav"/>
+ <prompt phrase="Двенадцатый" filename="h-12m.wav"/>
+ <prompt phrase="Двенадцатое" filename="h-12n.wav"/>
+ <prompt phrase="Двенадцати" filename="h-12xx.wav"/>
+ <prompt phrase="Тринадцать" filename="13.wav"/>
+ <prompt phrase="Тринадцатая" filename="h-13f.wav"/>
+ <prompt phrase="Тринадцатого" filename="h-13x.wav"/>
+ <prompt phrase="Тринадцатый" filename="h-13m.wav"/>
+ <prompt phrase="Тринадцатое" filename="h-13n.wav"/>
+ <prompt phrase="Тринадцати" filename="h-13xx.wav"/>
+ <prompt phrase="Четырнадцать" filename="14.wav"/>
+ <prompt phrase="Четырнадцатая" filename="h-14f.wav"/>
+ <prompt phrase="Четырнадцатого" filename="h-14x.wav"/>
+ <prompt phrase="Четырнадцатый" filename="h-14m.wav"/>
+ <prompt phrase="Четырнадцатое" filename="h-14n.wav"/>
+ <prompt phrase="Четырнадцати" filename="h-14xx.wav"/>
+ <prompt phrase="Пятнадцать" filename="15.wav"/>
+ <prompt phrase="Пятнадцатая" filename="h-15f.wav"/>
+ <prompt phrase="Пятнадцатого" filename="h-15x.wav"/>
+ <prompt phrase="Пятнадцатый" filename="h-15m.wav"/>
+ <prompt phrase="Пятнадцатое" filename="h-15n.wav"/>
+ <prompt phrase="Пятнадцати" filename="h-15xx.wav"/>
+ <prompt phrase="Шестнадцать" filename="16.wav"/>
+ <prompt phrase="Шестнадцатая" filename="h-16f.wav"/>
+ <prompt phrase="Шестнадцатого" filename="h-16x.wav"/>
+ <prompt phrase="Шестнадцатый" filename="h-16m.wav"/>
+ <prompt phrase="Шестнадцатое" filename="h-16n.wav"/>
+ <prompt phrase="Шестнадцати" filename="h-16xx.wav"/>
+ <prompt phrase="Семнадцать" filename="17.wav"/>
+ <prompt phrase="Семнадцатая" filename="h-17f.wav"/>
+ <prompt phrase="Семнадцатого" filename="h-17x.wav"/>
+ <prompt phrase="Семнадцатый" filename="h-17m.wav"/>
+ <prompt phrase="Семнадцатое" filename="h-17n.wav"/>
+ <prompt phrase="Семнадцати" filename="h-17xx.wav"/>
+ <prompt phrase="Восемнадцать" filename="18.wav"/>
+ <prompt phrase="Восемнадцатая" filename="h-18f.wav"/>
+ <prompt phrase="Восемнадцатого" filename="h-18x.wav"/>
+ <prompt phrase="Восемнадцатый" filename="h-18m.wav"/>
+ <prompt phrase="Восемнадцатое" filename="h-18n.wav"/>
+ <prompt phrase="Восемнадцати" filename="h-18xx.wav"/>
+ <prompt phrase="Девятнадцать" filename="19.wav"/>
+ <prompt phrase="Девятнадцатая" filename="h-19f.wav"/>
+ <prompt phrase="Девятнадцатого" filename="h-19x.wav"/>
+ <prompt phrase="Девятнадцатый" filename="h-19m.wav"/>
+ <prompt phrase="Девятнадцатое" filename="h-19n.wav"/>
+ <prompt phrase="Девятнадцати" filename="h-19xx.wav"/>
+ <prompt phrase="Двадцать" filename="20.wav"/>
+ <prompt phrase="Двадцатая" filename="h-20f.wav"/>
+ <prompt phrase="Двадцатого" filename="h-20x.wav"/>
+ <prompt phrase="Двадцатый" filename="h-20m.wav"/>
+ <prompt phrase="Двадцатое" filename="h-20n.wav"/>
+ <prompt phrase="Двадцати" filename="h-20xx.wav"/>
+ <prompt phrase="Тридцать" filename="30.wav"/>
+ <prompt phrase="Тридцатая" filename="h-30f.wav"/>
+ <prompt phrase="Тридцатого" filename="h-30x.wav"/>
+ <prompt phrase="Тридцатый" filename="h-30m.wav"/>
+ <prompt phrase="Тридцатое" filename="h-30n.wav"/>
+ <prompt phrase="Тридцати" filename="h-30xx.wav"/>
+ <prompt phrase="Сорок" filename="40.wav"/>
+ <prompt phrase="Сороковая" filename="h-40f.wav"/>
+ <prompt phrase="Сорокового" filename="h-40x.wav"/>
+ <prompt phrase="Сороковой" filename="h-40m.wav"/>
+ <prompt phrase="Сороковое" filename="h-40n.wav"/>
+ <prompt phrase="Сорока" filename="h-40xx.wav"/>
+ <prompt phrase="Пятьдесят" filename="50.wav"/>
+ <prompt phrase="Пятидесятая" filename="h-50f.wav"/>
+ <prompt phrase="Пятидесятого" filename="h-50x.wav"/>
+ <prompt phrase="Пятидесятый" filename="h-50m.wav"/>
+ <prompt phrase="Пятидесятое" filename="h-50n.wav"/>
+ <prompt phrase="Пятидесяти" filename="h-50xx.wav"/>
+ <prompt phrase="Шестьдесят" filename="60.wav"/>
+ <prompt phrase="Шестидесятая" filename="h-60f.wav"/>
+ <prompt phrase="Шестидесятого" filename="h-60x.wav"/>
+ <prompt phrase="Шестидесятый" filename="h-60m.wav"/>
+ <prompt phrase="Шестидесятое" filename="h-60n.wav"/>
+ <prompt phrase="Шестидесяти" filename="h-60xx.wav"/>
+ <prompt phrase="Семьдесят" filename="70.wav"/>
+ <prompt phrase="Семидесятая" filename="h-70f.wav"/>
+ <prompt phrase="Семидесятого" filename="h-70x.wav"/>
+ <prompt phrase="Семидесятый" filename="h-70m.wav"/>
+ <prompt phrase="Семидесятое" filename="h-70n.wav"/>
+ <prompt phrase="Семидесяти" filename="h-70xx.wav"/>
+ <prompt phrase="Восемьдесят" filename="80.wav"/>
+ <prompt phrase="Восьмидесятая" filename="h-80f.wav"/>
+ <prompt phrase="Восемидесятого" filename="h-80x.wav"/>
+ <prompt phrase="Восемидесятый" filename="h-80m.wav"/>
+ <prompt phrase="Восьмидесятое" filename="h-80n.wav"/>
+ <prompt phrase="Восьмидесяти" filename="h-80xx.wav"/>
+ <prompt phrase="Девяносто" filename="90.wav"/>
+ <prompt phrase="Девяностая" filename="h-90f.wav"/>
+ <prompt phrase="Девяностого" filename="h-90x.wav"/>
+ <prompt phrase="Девяностый" filename="h-90m.wav"/>
+ <prompt phrase="Девяностое" filename="h-90n.wav"/>
+ <prompt phrase="Девяноста" filename="h-90xx.wav"/>
+ <prompt phrase="Сто" filename="100.wav"/>
+ <prompt phrase="Сотая" filename="h-100f.wav"/>
+ <prompt phrase="Сотого" filename="h-100x.wav"/>
+ <prompt phrase="Сотый" filename="h-100m.wav"/>
+ <prompt phrase="Сотое" filename="h-100n.wav"/>
+ <prompt phrase="Ста" filename="h-100xx.wav"/>
+ <prompt phrase="Двести" filename="200.wav"/>
+ <prompt phrase="Двухсотая" filename="h-200f.wav"/>
+ <prompt phrase="Двухсотого" filename="h-200x.wav"/>
+ <prompt phrase="Двухсотый" filename="h-200m.wav"/>
+ <prompt phrase="Двухсотое" filename="h-200n.wav"/>
+ <prompt phrase="Двухсот" filename="h-200xx.wav"/>
+ <prompt phrase="Триста" filename="300.wav"/>
+ <prompt phrase="Трёхсотая" filename="h-300f.wav"/>
+ <prompt phrase="Трёхсотого" filename="h-300x.wav"/>
+ <prompt phrase="Трёхсотый" filename="h-300m.wav"/>
+ <prompt phrase="Трёхсотое" filename="h-300n.wav"/>
+ <prompt phrase="Трёхсот" filename="h-300xx.wav"/>
+ <prompt phrase="Четыреста" filename="400.wav"/>
+ <prompt phrase="Четырёхсотая" filename="h-400f.wav"/>
+ <prompt phrase="Четырёхсотого" filename="h-400x.wav"/>
+ <prompt phrase="Четырёхсотый" filename="h-400m.wav"/>
+ <prompt phrase="Четырёхсотое" filename="h-400n.wav"/>
+ <prompt phrase="Четырёхсот" filename="h-400xx.wav"/>
+ <prompt phrase="Пятьсот" filename="500.wav"/>
+ <prompt phrase="Пятисотая" filename="h-500f.wav"/>
+ <prompt phrase="Пятисотого" filename="h-500x.wav"/>
+ <prompt phrase="Пятисотый" filename="h-500m.wav"/>
+ <prompt phrase="Пятисотое" filename="h-500n.wav"/>
+ <prompt phrase="Пятисот" filename="h-500xx.wav"/>
+ <prompt phrase="Шестьсот" filename="600.wav"/>
+ <prompt phrase="Шестисотая" filename="h-600f.wav"/>
+ <prompt phrase="Шестисотого" filename="h-600x.wav"/>
+ <prompt phrase="Шестисотый" filename="h-600m.wav"/>
+ <prompt phrase="Шестисотое" filename="h-600n.wav"/>
+ <prompt phrase="Шестисот" filename="h-600xx.wav"/>
+ <prompt phrase="Семьсот" filename="700.wav"/>
+ <prompt phrase="Семисотая" filename="h-700f.wav"/>
+ <prompt phrase="Семисотого" filename="h-700x.wav"/>
+ <prompt phrase="Семисотый" filename="h-700m.wav"/>
+ <prompt phrase="Семисотое" filename="h-700n.wav"/>
+ <prompt phrase="Семисот" filename="h-700xx.wav"/>
+ <prompt phrase="Восемьсот" filename="800.wav"/>
+ <prompt phrase="Восьмисотая" filename="h-800f.wav"/>
+ <prompt phrase="Восьмисотого" filename="h-800x.wav"/>
+ <prompt phrase="Восьмисотый" filename="h-800m.wav"/>
+ <prompt phrase="Восьмисотое" filename="h-800n.wav"/>
+ <prompt phrase="Восьмисот" filename="h-800xx.wav"/>
+ <prompt phrase="Девятьсот" filename="900.wav"/>
+ <prompt phrase="Девятисотая" filename="h-900f.wav"/>
+ <prompt phrase="Девятосотого" filename="h-900x.wav"/>
+ <prompt phrase="Девятисотый" filename="h-900m.wav"/>
+ <prompt phrase="Девятисотое" filename="h-900n.wav"/>
+ <prompt phrase="Девятисот" filename="h-900xx.wav"/>
+ <prompt phrase="Тысяча" filename="thousand.wav"/>
+ <prompt phrase="Тысячи" filename="thousands-i.wav"/>
+ <prompt phrase="Тысяч" filename="thousands.wav"/>
+ <prompt phrase="Тысячная" filename="h-thousandf.wav"/>
+ <prompt phrase="Тысячного" filename="h-thousandx.wav"/>
+ <prompt phrase="Тысячный" filename="h-thousandm.wav"/>
+ <prompt phrase="Тысячное" filename="h-thousandn.wav"/>
+ <prompt phrase="Тысячных" filename="h-thousandxxx.wav"/>
+ <prompt phrase="Миллион" filename="million.wav"/>
+ <prompt phrase="Миллиона" filename="million-a.wav"/>
+ <prompt phrase="Миллионов" filename="millions.wav"/>
+ <prompt phrase="Миллионная" filename="h-millionf.wav"/>
+ <prompt phrase="Миллионного" filename="h-millionx.wav"/>
+ <prompt phrase="Миллионный" filename="h-millionm.wav"/>
+ <prompt phrase="Миллионное" filename="h-millionn.wav"/>
+ <prompt phrase="Миллионных" filename="h-millionxxx.wav"/>
+ <prompt phrase="Точка" filename="dot.wav"/>
+ <prompt phrase="Точка" filename="period.wav"/>
<--period -->
+ <prompt phrase="Точка" filename="point.wav"/>
+ <prompt phrase="Решётка" filename="pound.wav"/>
+ <prompt phrase="Звёздочка" filename="star.wav"/>
</digits>
<currency>
- <prompt phrase="и " filename= "and.wav"/>
- <prompt phrase="Цент " filename= "cent.wav"/>
- <prompt phrase="центральный " filename= "central.wav"/>
- <prompt phrase="Центов в минуту " filename= "cents-per-minute.wav"/>
- <prompt phrase="Центы " filename= "cents.wav"/>
- <prompt phrase="Доллар " filename= "dollar.wav"/>
- <prompt phrase="Долларов " filename= "dollars.wav"/>
- <prompt phrase="Минус " filename= "minus.wav"/>
- <prompt phrase="Отрицательный " filename= "negative.wav"/>
- <prompt phrase="Копеек " filename= "kopeck-i.wav"/>
- <prompt phrase="Копейка " filename= "kopeck.wav"/>
- <prompt phrase="Копейки " filename= "kopecks.wav"/>
- <prompt phrase="Рубль " filename= "ruble.wav"/>
- <prompt phrase="Рубля " filename= "ruble-a.wav"/>
- <prompt phrase="Рублей " filename= "rubles.wav"/>
+ <prompt phrase="и" filename="and.wav"/>
+ <prompt phrase="Цент" filename="cent.wav"/>
+ <prompt phrase="центральный" filename="central.wav"/>
+ <prompt phrase="Центов в минуту" filename="cents-per-minute.wav"/>
+ <prompt phrase="Центы" filename="cents.wav"/>
+ <prompt phrase="Доллар" filename="dollar.wav"/>
+ <prompt phrase="Долларов" filename="dollars.wav"/>
+ <prompt phrase="Минус" filename="minus.wav"/>
+ <prompt phrase="Отрицательный" filename="negative.wav"/>
+ <prompt phrase="Копеек" filename="kopeck-i.wav"/>
+ <prompt phrase="Копейка" filename="kopeck.wav"/>
+ <prompt phrase="Копейки" filename="kopecks.wav"/>
+ <prompt phrase="Рубль" filename="ruble.wav"/>
+ <prompt phrase="Рубля" filename="ruble-a.wav"/>
+ <prompt phrase="Рублей" filename="rubles.wav"/>
</currency>
<time>
- <prompt phrase="до полудня " filename= "a-m.wav"/>
- <prompt phrase="В " filename= "at.wav"/>
- <prompt phrase="Воскресенье " filename= "day-0.wav"/>
- <prompt phrase="Понедельник " filename= "day-1.wav"/>
- <prompt phrase="Вторник " filename= "day-2.wav"/>
- <prompt phrase="Среда " filename= "day-3.wav"/>
- <prompt phrase="Четверг " filename= "day-4.wav"/>
- <prompt phrase="Пятница " filename= "day-5.wav"/>
- <prompt phrase="Суббота " filename= "day-6.wav"/>
- <prompt phrase="час" filename= "hour.wav"/>
- <prompt phrase="часа " filename= "hours-a.wav"/>
- <prompt phrase="часов " filename= "hours.wav"/>
- <prompt phrase="минута " filename= "minute.wav"/>
- <prompt phrase="Минуты" filename= "minutes-i.wav"/>
- <prompt phrase="минут " filename= "minutes.wav"/>
- <prompt phrase="секунда " filename= "second.wav"/>
- <prompt phrase="секунды " filename= "seconds-i.wav"/>
- <prompt phrase="секунд" filename= "seconds.wav"/>
- <prompt phrase="января " filename= "mon-0.wav"/>
- <prompt phrase="февраля " filename= "mon-1.wav"/>
- <prompt phrase="марта " filename= "mon-2.wav"/>
- <prompt phrase="апреля " filename= "mon-3.wav"/>
- <prompt phrase="мая " filename= "mon-4.wav"/>
- <prompt phrase="июня " filename= "mon-5.wav"/>
- <prompt phrase="июля " filename= "mon-6.wav"/>
- <prompt phrase="августа " filename= "mon-7.wav"/>
- <prompt phrase="сентября " filename= "mon-8.wav"/>
- <prompt phrase="октября " filename= "mon-9.wav"/>
- <prompt phrase="ноября " filename= "mon-10.wav"/>
- <prompt phrase="декабря " filename= "mon-11.wav"/>
- <prompt phrase="после полудня " filename= "p-m.wav"/>
- <prompt phrase="сегодня " filename= "today.wav"/>
- <prompt phrase="завтра " filename= "tomorrow.wav"/>
- <prompt phrase="вчера " filename= "yesterday.wav"/>
- <prompt phrase="Год" filename= "year.wav"/>
- <prompt phrase="Года" filename= "h-year.wav"/>
- <prompt phrase="Годов" filename= "years.wav"/>
- <prompt phrase="Лет" filename= "yearsx.wav"/>
+ <prompt phrase="до полудня" filename="a-m.wav"/>
+ <prompt phrase="В" filename="at.wav"/>
+ <prompt phrase="Воскресенье" filename="day-0.wav"/>
+ <prompt phrase="Понедельник" filename="day-1.wav"/>
+ <prompt phrase="Вторник" filename="day-2.wav"/>
+ <prompt phrase="Среда" filename="day-3.wav"/>
+ <prompt phrase="Четверг" filename="day-4.wav"/>
+ <prompt phrase="Пятница" filename="day-5.wav"/>
+ <prompt phrase="Суббота" filename="day-6.wav"/>
+ <prompt phrase="час" filename="hour.wav"/>
+ <prompt phrase="часа" filename="hours-a.wav"/>
+ <prompt phrase="часов" filename="hours.wav"/>
+ <prompt phrase="минута" filename="minute.wav"/>
+ <prompt phrase="Минуты" filename="minutes-i.wav"/>
+ <prompt phrase="минут" filename="minutes.wav"/>
+ <prompt phrase="секунда" filename="second.wav"/>
+ <prompt phrase="секунды" filename="seconds-i.wav"/>
+ <prompt phrase="секунд" filename="seconds.wav"/>
+ <prompt phrase="января" filename="mon-0.wav"/>
+ <prompt phrase="февраля" filename="mon-1.wav"/>
+ <prompt phrase="марта" filename="mon-2.wav"/>
+ <prompt phrase="апреля" filename="mon-3.wav"/>
+ <prompt phrase="мая" filename="mon-4.wav"/>
+ <prompt phrase="июня" filename="mon-5.wav"/>
+ <prompt phrase="июля" filename="mon-6.wav"/>
+ <prompt phrase="августа" filename="mon-7.wav"/>
+ <prompt phrase="сентября" filename="mon-8.wav"/>
+ <prompt phrase="октября" filename="mon-9.wav"/>
+ <prompt phrase="ноября" filename="mon-10.wav"/>
+ <prompt phrase="декабря" filename="mon-11.wav"/>
+ <prompt phrase="после полудня" filename="p-m.wav"/>
+ <prompt phrase="сегодня" filename="today.wav"/>
+ <prompt phrase="завтра" filename="tomorrow.wav"/>
+ <prompt phrase="вчера" filename="yesterday.wav"/>
+ <prompt phrase="Год" filename="year.wav"/>
+ <prompt phrase="Года" filename="h-year.wav"/>
+ <prompt phrase="Годов" filename="years.wav"/>
+ <prompt phrase="Лет" filename="yearsx.wav"/>
</time>
<voicemail>
- <prompt phrase="Абонент с номером " filename= "vm-person.wav"/>
<!-- The person at extension-->
- <prompt phrase="Помечено как важное " filename= "vm-marked_urgent.wav"/>
<!-- marked urgent-->
- <prompt phrase="отправлен на электронную почту" filename= "vm-emailed.wav"/>
<!-- emailed-->
- <prompt phrase="у Вас " filename= "vm-you_have.wav"/>
<!--you have -->
- <prompt phrase="Пожалуйста, введите свой идентификатор " filename= "vm-enter_id.wav"/>
<!-- please enter your i d, followed by -->
- <prompt phrase="Пожалуйста, введите свой пароль " filename= "vm-enter_pass.wav"/>
<!-- please enter your password, followed by -->
- <prompt phrase="Неправильный номер " filename= "vm-fail_auth.wav"/>
<!-- login incorrect -->
- <prompt phrase="Добро пожаловать в Вашу голосовую почту " filename= "vm-hello.wav"/>
<!-- welcome to your voicemail -->
- <prompt phrase="До свидания " filename= "vm-goodbye.wav"/>
<!--goodbye -->
- <prompt phrase="После сигнала, пожалуйста, сообщите свое имя, для окончания записи нажмите любую клавишу или перестаньте говорить." filename= "vm-record_name1.wav"/>
<!--at the tone please record your name, press any key or stop talking to end the recording. -->
- <prompt phrase="Выберите приветствие от единицы до девяти " filename= "vm-choose_greeting_choose.wav"/>
<!--choose a greeting between 1 and 9 -->
- <prompt phrase="Неправильное значение " filename= "vm-choose_greeting_fail.wav"/>
<!--invalid value -->
- <prompt phrase="Слишком много неудачных попыток " filename= "vm-abort.wav"/>
<!--too many failed attempts -->
- <prompt phrase="Для изменения Вашего пароля " filename= "vm-change_password.wav"/>
<!-- to change your password -->
- <prompt phrase="После сигнала, запишите свое приветствие, для окончания записи нажмите любую клавишу или перестаньте говорить " filename= "vm-to_record_greeting.wav"/>
<!-- record your greeting at the tone, press any key or stop talking to end the recording -->
- <prompt phrase="После сигнала, запишите свое сообщение, для окончания записи нажмите любую клавишу или перестаньте говорить " filename= "vm-record_message.wav"/>
<!--record your message at the tone, press any key or stop talking to end the recording -->
- <prompt phrase="не доступно " filename= "vm-play_greeting.wav"/>
<!-- is not available -->
- <prompt phrase="новых срочных" filename= "vm-urgent-newx.wav"/>
<!-- urgent new -->
- <prompt phrase="новое срочное " filename= "vm-urgent-new.wav"/>
<!-- -->
- <prompt phrase="новое " filename= "vm-new.wav"/>
<!-- new -->
- <prompt phrase="новых " filename= "vm-newx .wav"/>
<!-- -->
- <prompt phrase="срочное сообщение сохранено" filename= "vm-urgent-saved.wav"/>
<!--urgent saved -->
- <prompt phrase="сохранено " filename= "vm-saved.wav"/>
<!--saved -->
- <prompt phrase="сообщение " filename= "vm-message.wav"/>
<!--message -->
- <prompt phrase="сообщений " filename= "vm-messagex.wav"/>
<!--messages -->
- <prompt phrase="сообщения " filename= "vm-messages.wav"/>
<!-- message -->
- <prompt phrase="нажмите " filename= "vm-press.wav"/>
<!-- press -->
- <prompt phrase="чтобы прослушать новые сообщения" filename= "vm-listen_new.wav"/>
<!-- to listen to new messages -->
- <prompt phrase="для прослушивания сохраненных сообщений " filename= "vm-listen_saved.wav"/>
<!-- to listen to saved messages -->
- <prompt phrase="для дополнительных параметров " filename= "vm-advanced.wav"/>
<!-- for advanced options -->
- <prompt phrase="для выхода " filename= "vm-to_exit.wav"/>
<!-- to exit -->
- <prompt phrase="для записи приветствия " filename= "vm-record_greeting.wav"/>
<!-- to record a greeting -->
- <prompt phrase="для выбора приветствия " filename= "vm-choose_greeting.wav"/>
<!-- to choose greeting -->
- <prompt phrase="для записи Вашего имени " filename= "vm-record_name2.wav"/>
<!-- to record your name -->
- <prompt phrase="для перехода в главное меню " filename= "vm-main_menu.wav"/>
<!-- for the main menu -->
- <prompt phrase="прослушать запись " filename= "vm-listen_to_recording.wav"/>
<!-- to listen to the recording -->
- <prompt phrase="сохранить запись " filename= "vm-save_recording.wav"/>
<!-- to save the recording -->
- <prompt phrase="записать " filename= "vm-rerecord.wav"/>
<!-- to rerecord -->
- <prompt phrase="пометить это сообщение как срочное" filename= "vm-mark-urgent.wav"/>
<!-- to mark this message urgent -->
- <prompt phrase="для продолжения " filename= "vm-continue.wav"/>
<!-- to continue -->
- <prompt phrase="прослушать запись снова " filename= "vm-listen_to_recording_again.wav"/>
<!-- to listen to the recording again -->
- <prompt phrase="удалить запись " filename= "vm-delete_recording.wav"/>
<!-- to delete the recording -->
- <prompt phrase="переслать это сообщение" filename= "vm-to_forward.wav"/>
<!-- to forward the recording to your email -->
- <prompt phrase="переслать запись на электронную почту " filename= "vm-forward_to_email.wav"/>
<!-- -->
- <prompt phrase="приветствие " filename= "vm-greeting.wav"/>
<!--greeting -->
- <prompt phrase="выбрано " filename= "vm-selected.wav"/>
<!-- selected -->
- <prompt phrase="не доступен " filename= "vm-not_available.wav"/>
<!-- is not available -->
- <prompt phrase="сообщение номер " filename= "vm-message_number.wav"/>
<!-- message number -->
- <prompt phrase="удалено " filename= "vm-deleted.wav"/>
<!-- deleted -->
- <prompt phrase="Ваша запись короче минимально допустимой длинны, пожалуйста попробуйте снова " filename= "vm-too-small.wav"/>
<!-- Your recording is below the minimum acceptable length, please try again -->
- <prompt phrase="в папке Входящие " filename= "vm-in_folder.wav"/>
<!-- in folder inbox -->
- <prompt phrase="что бы перезвонить" filename= "vm-return_call_1.wav"/>
<!-- to return the call now -->
- <prompt phrase="для возврата вызова " filename= "vm-return_call.wav"/>
<!-- to return the call now -->
- <prompt phrase="Срочное" filename= "vm-urgent.wav"/>
<!-- urgent -->
- <prompt phrase="добавить вступление к сообщению" filename= "vm-forward_add_intro.wav"/>
<!-- to add an introduction to this message -->
- <prompt phrase="для того что бы послать собощение " filename= "vm-send_message_now.wav"/>
<!-- to send this messege now -->
- <prompt phrase="пожалуйста, введите добавочный номер для отправки сообщения" filename= "vm-forward_enter_ext.wav"/>
<!--please, enter the extention to forward this message to -->
- <prompt phrase="Неправильный добавочный номер" filename= "vm-that_was_an_invalid_ext.wav"/>
<!-- -->
- <prompt phrase="Почтовый ящик переполнен. Пожалуйста перезвоните позже" filename= "vm-mailbox_full.wav"/>
<!-- That mailbox is full. Please try your call again later. -->
+ <prompt phrase="Абонент с номером" filename="vm-person.wav"/>
<!-- The person at extension-->
+ <prompt phrase="Помечено как важное" filename="vm-marked_urgent.wav"/>
<!-- marked urgent-->
+ <prompt phrase="отправлен на электронную почту" filename="vm-emailed.wav"/>
<!-- emailed-->
+ <prompt phrase="у Вас" filename="vm-you_have.wav"/>
<!--you have -->
+ <prompt phrase="Пожалуйста, введите свой идентификатор, завершив нажатием на клавишу" filename="vm-enter_id.wav"/>
<!-- please enter your i d, followed by -->
+ <prompt phrase="Пожалуйста, введите свой пароль , завершив нажатием на клавишу" filename="vm-enter_pass.wav"/>
<!-- please enter your password, followed by -->
+ <prompt phrase="Неправильный номер" filename="vm-fail_auth.wav"/>
<!-- login incorrect -->
+ <prompt phrase="Добро пожаловать в Вашу голосовую почту" filename="vm-hello.wav"/>
<!-- welcome to your voicemail -->
+ <prompt phrase="До свидания" filename="vm-goodbye.wav"/>
<!--goodbye -->
+ <prompt phrase="После сигнала, пожалуйста, сообщите свое имя, для окончания записи нажмите любую клавишу или перестаньте говорить." filename="vm-record_name1.wav"/>
<!--at the tone please record your name, press any key or stop talking to end the recording. -->
+ <prompt phrase="Выберите приветствие от единицы до девяти" filename="vm-choose_greeting_choose.wav"/>
<!--choose a greeting between 1 and 9 -->
+ <prompt phrase="Неправильное значение" filename="vm-choose_greeting_fail.wav"/>
<!--invalid value -->
+ <prompt phrase="Слишком много неудачных попыток" filename="vm-abort.wav"/>
<!--too many failed attempts -->
+ <prompt phrase="Для изменения Вашего пароля" filename="vm-change_password.wav"/>
<!-- to change your password -->
+ <prompt phrase="После сигнала, запишите свое приветствие, для окончания записи нажмите любую клавишу или перестаньте говорить" filename="vm-to_record_greeting.wav"/>
<!-- record your greeting at the tone, press any key or stop talking to end the recording -->
+ <prompt phrase="После сигнала, запишите свое сообщение, для окончания записи нажмите любую клавишу или перестаньте говорить" filename="vm-record_message.wav"/>
<!--record your message at the tone, press any key or stop talking to end the recording -->
+ <prompt phrase="не доступно" filename="vm-play_greeting.wav"/>
<!-- is not available -->
+ <prompt phrase="новых срочных" filename="vm-urgent-newx.wav"/>
<!-- urgent new -->
+ <prompt phrase="новое срочное" filename="vm-urgent-new.wav"/>
<!-- -->
+ <prompt phrase="новое" filename="vm-new.wav"/>
<!-- new -->
+ <prompt phrase="новых" filename="vm-newx .wav"/>
<!-- -->
+ <prompt phrase="срочное сообщение сохранено" filename="vm-urgent-saved.wav"/>
<!--urgent saved -->
+ <prompt phrase="сохранено" filename="vm-saved.wav"/>
<!--saved -->
+ <prompt phrase="сообщение" filename="vm-message.wav"/>
<!--message -->
+ <prompt phrase="сообщений" filename="vm-messagex.wav"/>
<!--messages -->
+ <prompt phrase="сообщения" filename="vm-messages.wav"/>
<!-- message -->
+ <prompt phrase="нажмите" filename="vm-press.wav"/>
<!-- press -->
+ <prompt phrase="чтобы прослушать новые сообщения" filename="vm-listen_new.wav"/>
<!-- to listen to new messages -->
+ <prompt phrase="для прослушивания сохраненных сообщений" filename="vm-listen_saved.wav"/>
<!-- to listen to saved messages -->
+ <prompt phrase="для дополнительных параметров" filename="vm-advanced.wav"/>
<!-- for advanced options -->
+ <prompt phrase="для выхода" filename="vm-to_exit.wav"/>
<!-- to exit -->
+ <prompt phrase="для записи приветствия" filename="vm-record_greeting.wav"/>
<!-- to record a greeting -->
+ <prompt phrase="для выбора приветствия" filename="vm-choose_greeting.wav"/>
<!-- to choose greeting -->
+ <prompt phrase="для записи Вашего имени" filename="vm-record_name2.wav"/>
<!-- to record your name -->
+ <prompt phrase="для перехода в главное меню" filename="vm-main_menu.wav"/>
<!-- for the main menu -->
+ <prompt phrase="прослушать запись" filename="vm-listen_to_recording.wav"/>
<!-- to listen to the recording -->
+ <prompt phrase="сохранить запись" filename="vm-save_recording.wav"/>
<!-- to save the recording -->
+ <prompt phrase="записать" filename="vm-rerecord.wav"/>
<!-- to rerecord -->
+ <prompt phrase="пометить это сообщение как срочное" filename="vm-mark-urgent.wav"/>
<!-- to mark this message urgent -->
+ <prompt phrase="для продолжения" filename="vm-continue.wav"/>
<!-- to continue -->
+ <prompt phrase="прослушать запись снова" filename="vm-listen_to_recording_again.wav"/>
<!-- to listen to the recording again -->
+ <prompt phrase="удалить запись" filename="vm-delete_recording.wav"/>
<!-- to delete the recording -->
+ <prompt phrase="переслать это сообщение" filename="vm-to_forward.wav"/>
<!-- to forward the recording to your email -->
+ <prompt phrase="переслать запись на электронную почту" filename="vm-forward_to_email.wav"/>
<!-- -->
+ <prompt phrase="приветствие" filename="vm-greeting.wav"/>
<!--greeting -->
+ <prompt phrase="выбрано" filename="vm-selected.wav"/>
<!-- selected -->
+ <prompt phrase="не доступен" filename="vm-not_available.wav"/>
<!-- is not available -->
+ <prompt phrase="сообщение номер" filename="vm-message_number.wav"/>
<!-- message number -->
+ <prompt phrase="удалено" filename="vm-deleted.wav"/>
<!-- deleted -->
+ <prompt phrase="Ваша запись короче минимально допустимой длинны, пожалуйста попробуйте снова" filename="vm-too-small.wav"/>
<!-- Your recording is below the minimum acceptable length, please try again -->
+ <prompt phrase="в папке Входящие" filename="vm-in_folder.wav"/>
<!-- in folder inbox -->
+ <prompt phrase="что бы перезвонить" filename="vm-return_call_1.wav"/>
<!-- to return the call now -->
+ <prompt phrase="для возврата вызова" filename="vm-return_call.wav"/>
<!-- to return the call now -->
+ <prompt phrase="Срочное" filename="vm-urgent.wav"/>
<!-- urgent -->
+ <prompt phrase="добавить вступление к сообщению" filename="vm-forward_add_intro.wav"/>
<!-- to add an introduction to this message -->
+ <prompt phrase="для того что бы послать собощение" filename="vm-send_message_now.wav"/>
<!-- to send this messege now -->
+ <prompt phrase="пожалуйста, введите добавочный номер для отправки сообщения" filename="vm-forward_enter_ext.wav"/>
<!--please, enter the extention to forward this message to -->
+ <prompt phrase="Неправильный добавочный номер" filename="vm-that_was_an_invalid_ext.wav"/>
<!-- -->
+ <prompt phrase="Почтовый ящик переполнен. Пожалуйста перезвоните позже" filename="vm-mailbox_full.wav"/>
<!-- That mailbox is full. Please try your call again later. -->
</voicemail>
<conference>
- <prompt phrase="NULL " filename= "conf-ack type.wav"/>
<!-- -->
- <prompt phrase="NULL " filename= "conf-nack type.wav"/>
<!-- -->
- <prompt phrase="Ваш микрофон отключен " filename= "conf-muted.wav"/>
<!-- You are now muted. -->
- <prompt phrase="Ваш микрофон включён " filename= "conf-unmuted.wav"/>
<!-- You are now unmuted. -->
- <prompt phrase="Вы единственный участник конференции" filename= "conf-alone.wav"/>
<!-- You are currently the only person in this conference. -->
- <prompt phrase="NULL " filename= "conf-perpetual type.wav"/>
<!-- -->
- <prompt phrase="NULL " filename= "conf-enter type.wav"/>
<!-- -->
- <prompt phrase="NULL " filename= "conf-exit type.wav"/>
<!-- -->
- <prompt phrase="Вы были отключены от конференции " filename= "conf-kicked.wav"/>
<!-- You have been kicked from this conference. -->
- <prompt phrase="Эта конференция заблокирована " filename= "conf-locked.wav"/>
<!-- This conference is locked. -->
- <prompt phrase="Конференция заблокирована " filename= "conf-is-locked.wav"/>
<!-- The conference is now locked. -->
- <prompt phrase="Конференция разблокирована " filename= "conf-is-unlocked.wav"/>
<!-- The conference is now unlocked. -->
- <prompt phrase="Пожалуйста, введите пин-код конференции " filename= "conf-pin.wav"/>
<!-- Please enter the conference pin number. -->
- <prompt phrase="Неправильный пин-код, попробуйте снова " filename= "conf-bad-pin.wav"/>
<!-- Invalid pin number, try again. -->
- <prompt phrase="До свидания " filename= "conf-goodbye.wav"/>
<!-- goodbye -->
- <prompt phrase="Добро пожаловать в конференцию " filename= "conf-welcome.wav"/>
<!--Welcome to the conference. -->
+ <prompt phrase="NULL" filename="conf-ack type.wav"/>
<!-- -->
+ <prompt phrase="NULL" filename="conf-nack type.wav"/>
<!-- -->
+ <prompt phrase="Ваш микрофон отключен" filename="conf-muted.wav"/>
<!-- You are now muted. -->
+ <prompt phrase="Ваш микрофон включён" filename="conf-unmuted.wav"/>
<!-- You are now unmuted. -->
+ <prompt phrase="Вы единственный участник конференции" filename="conf-alone.wav"/>
<!-- You are currently the only person in this conference. -->
+ <prompt phrase="NULL" filename="conf-perpetual type.wav"/>
<!-- -->
+ <prompt phrase="NULL" filename="conf-enter type.wav"/>
<!-- -->
+ <prompt phrase="NULL" filename="conf-exit type.wav"/>
<!-- -->
+ <prompt phrase="Вы были отключены от конференции" filename="conf-kicked.wav"/>
<!-- You have been kicked from this conference. -->
+ <prompt phrase="Эта конференция заблокирована" filename="conf-locked.wav"/>
<!-- This conference is locked. -->
+ <prompt phrase="Конференция заблокирована" filename="conf-is-locked.wav"/>
<!-- The conference is now locked. -->
+ <prompt phrase="Конференция разблокирована" filename="conf-is-unlocked.wav"/>
<!-- The conference is now unlocked. -->
+ <prompt phrase="Пожалуйста, введите пин-код конференции" filename="conf-pin.wav"/>
<!-- Please enter the conference pin number. -->
+ <prompt phrase="Неправильный пин-код, попробуйте снова" filename="conf-bad-pin.wav"/>
<!-- Invalid pin number, try again. -->
+ <prompt phrase="До свидания" filename="conf-goodbye.wav"/>
<!-- goodbye -->
+ <prompt phrase="Добро пожаловать в конференцию" filename="conf-welcome.wav"/>
<!--Welcome to the conference. -->
</conference>
<ivr>
- <prompt phrase="Номер счета " filename= "ivr-account_number.wav"/>
<!-- Account number -->
- <prompt phrase="Соединение с вызывающим абонентом " filename= "ivr-connect_to_caller.wav"/>
<!--Connect to caller -->
- <prompt phrase="если вам известен добавочный номер вызываемого абонента, пожалуйста введите его сейчас " filename= "ivr-enter_ext_pound.wav"/>
<!-- If you know your party's extension, please enter it now -->
- <prompt phrase="Пожалуйста, введите добавочный номер абонента после знака решётка " filename= "ivr-enter_ext.wav"/>
<!-- Please enter an extension followed by the pound sign-->
- <prompt phrase="Для этого абонента " filename= "ivr-for_this_person.wav"/>
<!-- For this person -->
- <prompt phrase="Пожалуйста, оставайтесь на линии, идет соединение " filename= "ivr-hold_connect_call.wav"/>
<!-- Please hold while I connect your call -->
- <prompt phrase="Извините " filename= "ivr-im_sorry.wav"/>
<!-- I'm sorry -->
- <prompt phrase="Пожалуйста " filename= "ivr-please.wav"/>
<!-- Please -->
- <prompt phrase="Пожалуйста, перезвоните нам в … " filename= "ivr-please_return_our_call_at.wav"/>
<!-- Please return our call at -->
- <prompt phrase="относительно номера ссылки" filename= "ivr-regarding_reference_number.wav"/>
<!-- Regarding reference number -->
- <prompt phrase="Это простое голосовое подменю" filename= "ivr-sample_submenu.wav"/>
<!-- This is a sample IVR submenu... -->
- <prompt phrase="Пожалуйста, представьтесь после сигнала" filename= "ivr-say_name.wav"/>
<!-- Please say your name after the tone -->
- <prompt phrase="Перенаправить на голосовую почту " filename= "ivr-send_to_voicemail.wav"/>
<!-- Send this caller to voicemail -->
- <prompt phrase="Для разговора с представителем по обслуживанию клиентов " filename= "ivr-speak_to_a_customer_service_representative.wav"/>
<!-- To speak to a customer service representative -->
- <prompt phrase="принять сообщение." filename= "ivr-take_a_message.wav"/>
<!-- Take a message -->
- <prompt phrase="Спасибо " filename= "ivr-thank_you.wav"/>
<!-- Thank you -->
- <prompt phrase="Неправильное значение " filename= "ivr-that_was_an_invalid_entry.wav"/>
<!-- That was an invalid entry -->
- <prompt phrase="Этот звонок от " filename= "ivr-this_is_a_call_from.wav"/>
<!-- This is a call from -->
- <prompt phrase="это голосовое меню позволит Вам протестировать некоторые функции" filename= "ivr-this_ivr_will_let_you_test_features.wav"/>
<!-- This IVR will let you test some of the features... -->
- <prompt phrase="Для того чтобы набрать конференцию ФС ___ " filename= "ivr-to_call_the_freeswitch_conference.wav"/>
<!-- To call the FreeSWITCH conference -->
- <prompt phrase="Для выполнения эхо-теста в ФС " filename= "ivr-to_do_a_freeswitch_echo_test.wav"/>
<!-- To do a FreeSWITCH echo test -->
- <prompt phrase="Для выполнения эхо-теста free world dialed " filename= "ivr-to_do_a_fwd_echo_test.wav"/>
<!-- To do a fwd echo test -->
- <prompt phrase="чтобы прослушать пример голосового подменю " filename= "ivr-to_hear_sample_submenu.wav"/>
<!-- To hear a sample IVR submenu -->
- <prompt phrase="Чтобы услышать кричащих обезьян " filename= "ivr-to_hear_screaming_monkeys.wav"/>
<!-- To hear screaming monkeys -->
- <prompt phrase="Для прослушивания списка мелодий в режиме ожидания " filename= "ivr-to_listen_to_moh.wav"/>
<!-- To list to music on hold -->
- <prompt phrase="Для повтора этих параметров " filename= "ivr-to_repeat_these_options.wav"/>
<!-- To repeat these options -->
- <prompt phrase="Для возврата к предыдущему меню " filename= "ivr-to_return_to_previous_menu.wav"/>
<!-- To return to the previous menu -->
- <prompt phrase="Для соединения с оператором " filename= "ivr-to_speak_with_an_operator.wav"/>
<!-- To speak with an operator -->
- <prompt phrase="Добро пожаловать в FreeSwitch, будущее телефонии " filename= "ivr-welcome_to_freeswitch.wav"/>
<!-- Welcome to FreeSWITCH, the future of telephony -->
- <prompt phrase="Вы можете выйти в любое время повесив трубку " filename= "ivr-you_may_exit_by_hanging_up.wav"/>
<!-- You may exit at any time by simply hanging up -->
- <prompt phrase="или " filename= "ivr-or.wav"/>
<!-- or -->
- <prompt phrase="не " filename= "ivr-not.wav"/>
<!-- not -->
- <prompt phrase="Вызов " filename= "ivr-call.wav"/>
<!-- call -->
- <prompt phrase="Вы можете " filename= "ivr-you_may.wav"/>
<!-- You may -->
- <prompt phrase="Здравствуйте " filename= "ivr-hello.wav"/>
<!-- hello -->
- <prompt phrase="Используя клавиатуру телефона… " filename= "ivr-use_telephone_keypad.wav"/>
<!-- Using your telephone keypad... -->
- <prompt phrase="Пожалуйста, назовите имя сотрудника, которому пытаетесь дозвониться " filename= "ivr-spell_name.wav"/>
<!-- please spell the name of the person you are trying to reach. -->
- <prompt phrase="Сначала фамилия " filename= "ivr-last_name_first.wav"/>
<!--Last name firs -->
- <prompt phrase="Сначала имя " filename= "ivr-first_name_first.wav"/>
<!--First name first -->
- <prompt phrase="Нажмите 1 для Q или Z. " filename= "ivr-press_one_q_or_z.wav"/>
<!--Press 1 for Q or Z. -->
- <prompt phrase="Отдел продаж " filename= "ivr-sales.wav"/>
<!-- Sales -->
- <prompt phrase="Центр обслуживания клиентов " filename= "ivr-customer_service.wav"/>
<!-- Customer service -->
- <prompt phrase="Отдел технической поддержки " filename= "ivr-technical_support.wav"/>
<!-- Technical support -->
- <prompt phrase="Оператор " filename= "ivr-operator.wav"/>
<!-- Operator -->
- <prompt phrase="Вы набрали несуществующий добавочный номер" filename= "ivr-you_have_dialed_an_invalid_extension.wav"/>
<!--You have dialed an invalid extension. -->
- <prompt phrase="Пожалйста, наберите добавочный номер и нажмите клавишу решетка" filename= "ivr-please_enter_extension_followed_by_pound.wav"/>
<!--Please enter your extension, followed by the pound sign. -->
- <prompt phrase="Пожалуйста введите ваш пинкод и нажмите клавишу решётка" filename= "ivr-please_enter_pin_followed_by_pound.wav"/>
<!-- Please enter your pin number, followed by the pound sign. -->
- <prompt phrase="Ваш пин код или номер не верны" filename= "ivr-pin_or_extension_is-invalid.wav"/>
<!-- Your pin number or extension is invalid. -->
- <prompt phrase="Вы закрепляете этот телефон за вашей учётной записью" filename= "ivr-you_are_about_to_provision_this_phone.wav"/>
<!-- You are about to provision this phone to your account... -->
- <prompt phrase="Пожалуйста повторите ваш пин код для подтверждения" filename= "ivr-please_reenter_your_pin.wav"/>
<!-- Please re-enter your pin number to confirm. -->
- <prompt phrase="Для регистрации на clueCon , пожалуйста нажмите .." filename= "ivr-register_for_cluecon.wav"/>
<!-- To register for ClueCon, please press... -->
- <prompt phrase="Для входа" filename= "ivr-to_log_in.wav"/>
<!-- to log in -->
- <prompt phrase="Для выхода" filename= "ivr-to_log_out.wav"/>
<!-- to log out -->
- <prompt phrase="Вы вошли" filename= "ivr-you_are_now_logged_in.wav"/>
<!-- You are now logged in -->
- <prompt phrase="Вы вышли" filename= "ivr-you_are_now_logged_out.wav"/>
<!-- You are now logged out -->
- <prompt phrase="Попробуйте снова" filename= "ivr-please_try_again.wav"/>
<!-- Please try again. -->
- <prompt phrase="Вы закрепляете этот телефон за Вашим добавочным номером" filename= "ivr-provision_phone_permanently_to_extension.wav"/>
<!-- You are about to provision this phone permanently to your extension. -->
- <prompt phrase="Пожалуйста введите добавочный номер за которым вы хотите закрепить этот телефон и нажмите решётку" filename= "ivr-extension_to_provision_this_phone.wav"/>
<!-- Please enter the extension number to which you would like to provision this phone,followed by the pound sign. -->
- <prompt phrase="Спасибо, этот телефон сейчас перезагрузится" filename= "ivr-this_phone_will_now_reboot.wav"/>
<!-- Thank you, this phone will now reboot. -->
+ <prompt phrase="Номер счета" filename="ivr-account_number.wav"/>
<!-- Account number -->
+ <prompt phrase="Соединение с вызывающим абонентом" filename="ivr-connect_to_caller.wav"/>
<!--Connect to caller -->
+ <prompt phrase="если вам известен добавочный номер вызываемого абонента, пожалуйста введите его сейчас" filename="ivr-enter_ext_pound.wav"/>
<!-- If you know your party's extension, please enter it now -->
+ <prompt phrase="Пожалуйста, введите добавочный номер абонента завершив нажатием на клавишу решётка" filename="ivr-enter_ext.wav"/>
<!-- Please enter an extension followed by the pound sign-->
+ <prompt phrase="Для этого абонента" filename="ivr-for_this_person.wav"/>
<!-- For this person -->
+ <prompt phrase="Пожалуйста, оставайтесь на линии, идет соединение" filename="ivr-hold_connect_call.wav"/>
<!-- Please hold while I connect your call -->
+ <prompt phrase="Извините" filename="ivr-im_sorry.wav"/>
<!-- I'm sorry -->
+ <prompt phrase="Пожалуйста" filename="ivr-please.wav"/>
<!-- Please -->
+ <prompt phrase="Пожалуйста, перезвоните нам в …" filename="ivr-please_return_our_call_at.wav"/>
<!-- Please return our call at -->
+ <prompt phrase="относительно номера ссылки" filename="ivr-regarding_reference_number.wav"/>
<!-- Regarding reference number -->
+ <prompt phrase="Это пример голосового подменю" filename="ivr-sample_submenu.wav"/>
<!-- This is a sample IVR submenu... -->
+ <prompt phrase="Пожалуйста, представьтесь после сигнала" filename="ivr-say_name.wav"/>
<!-- Please say your name after the tone -->
+ <prompt phrase="Перенаправить на голосовую почту" filename="ivr-send_to_voicemail.wav"/>
<!-- Send this caller to voicemail -->
+ <prompt phrase="Для разговора с представителем по обслуживанию клиентов" filename="ivr-speak_to_a_customer_service_representative.wav"/>
<!-- To speak to a customer service representative -->
+ <prompt phrase="принять сообщение." filename="ivr-take_a_message.wav"/>
<!-- Take a message -->
+ <prompt phrase="Спасибо" filename="ivr-thank_you.wav"/>
<!-- Thank you -->
+ <prompt phrase="Неправильное значение" filename="ivr-that_was_an_invalid_entry.wav"/>
<!-- That was an invalid entry -->
+ <prompt phrase="Этот звонок от" filename="ivr-this_is_a_call_from.wav"/>
<!-- This is a call from -->
+ <prompt phrase="это голосовое меню позволит Вам протестировать некоторые функции" filename="ivr-this_ivr_will_let_you_test_features.wav"/>
<!-- This IVR will let you test some of the features... -->
+ <prompt phrase="Для того чтобы набрать конференцию ФС ___" filename="ivr-to_call_the_freeswitch_conference.wav"/>
<!-- To call the FreeSWITCH conference -->
+ <prompt phrase="Для выполнения эхо-теста в ФС" filename="ivr-to_do_a_freeswitch_echo_test.wav"/>
<!-- To do a FreeSWITCH echo test -->
+ <prompt phrase="Для выполнения эхо-теста free world dialed" filename="ivr-to_do_a_fwd_echo_test.wav"/>
<!-- To do a fwd echo test -->
+ <prompt phrase="чтобы прослушать пример голосового подменю" filename="ivr-to_hear_sample_submenu.wav"/>
<!-- To hear a sample IVR submenu -->
+ <prompt phrase="Чтобы услышать кричащих обезьян" filename="ivr-to_hear_screaming_monkeys.wav"/>
<!-- To hear screaming monkeys -->
+ <prompt phrase="Для прослушивания списка мелодий в режиме ожидания" filename="ivr-to_listen_to_moh.wav"/>
<!-- To list to music on hold -->
+ <prompt phrase="Для повтора этих параметров" filename="ivr-to_repeat_these_options.wav"/>
<!-- To repeat these options -->
+ <prompt phrase="Для возврата к предыдущему меню" filename="ivr-to_return_to_previous_menu.wav"/>
<!-- To return to the previous menu -->
+ <prompt phrase="Для соединения с оператором" filename="ivr-to_speak_with_an_operator.wav"/>
<!-- To speak with an operator -->
+ <prompt phrase="Добро пожаловать в FreeSwitch, будущее телефонии" filename="ivr-welcome_to_freeswitch.wav"/>
<!-- Welcome to FreeSWITCH, the future of telephony -->
+ <prompt phrase="Вы можете выйти в любое время повесив трубку" filename="ivr-you_may_exit_by_hanging_up.wav"/>
<!-- You may exit at any time by simply hanging up -->
+ <prompt phrase="или" filename="ivr-or.wav"/>
<!-- or -->
+ <prompt phrase="не" filename="ivr-not.wav"/>
<!-- not -->
+ <prompt phrase="Вызов" filename="ivr-call.wav"/>
<!-- call -->
+ <prompt phrase="Вы можете" filename="ivr-you_may.wav"/>
<!-- You may -->
+ <prompt phrase="Здравствуйте" filename="ivr-hello.wav"/>
<!-- hello -->
+ <prompt phrase="Используя клавиатуру телефона…" filename="ivr-use_telephone_keypad.wav"/>
<!-- Using your telephone keypad... -->
+ <prompt phrase="Пожалуйста, назовите имя сотрудника, которому пытаетесь дозвониться" filename="ivr-spell_name.wav"/>
<!-- please spell the name of the person you are trying to reach. -->
+ <prompt phrase="Сначала фамилия" filename="ivr-last_name_first.wav"/>
<!--Last name firs -->
+ <prompt phrase="Сначала имя" filename="ivr-first_name_first.wav"/>
<!--First name first -->
+ <prompt phrase="Нажмите 1 для Q или Z." filename="ivr-press_one_q_or_z.wav"/>
<!--Press 1 for Q or Z. -->
+ <prompt phrase="Отдел продаж" filename="ivr-sales.wav"/>
<!-- Sales -->
+ <prompt phrase="Центр обслуживания клиентов" filename="ivr-customer_service.wav"/>
<!-- Customer service -->
+ <prompt phrase="Отдел технической поддержки" filename="ivr-technical_support.wav"/>
<!-- Technical support -->
+ <prompt phrase="Оператор" filename="ivr-operator.wav"/>
<!-- Operator -->
+ <prompt phrase="Вы набрали несуществующий добавочный номер" filename="ivr-you_have_dialed_an_invalid_extension.wav"/>
<!--You have dialed an invalid extension. -->
+ <prompt phrase="Пожалйста, наберите добавочный номер и нажмите клавишу решетка" filename="ivr-please_enter_extension_followed_by_pound.wav"/>
<!--Please enter your extension, followed by the pound sign. -->
+ <prompt phrase="Пожалуйста введите ваш пинкод и нажмите клавишу решётка" filename="ivr-please_enter_pin_followed_by_pound.wav"/>
<!-- Please enter your pin number, followed by the pound sign. -->
+ <prompt phrase="Ваш пин код или номер не верны" filename="ivr-pin_or_extension_is-invalid.wav"/>
<!-- Your pin number or extension is invalid. -->
+ <prompt phrase="Вы закрепляете этот телефон за вашей учётной записью" filename="ivr-you_are_about_to_provision_this_phone.wav"/>
<!-- You are about to provision this phone to your account... -->
+ <prompt phrase="Пожалуйста повторите ваш пин код для подтверждения" filename="ivr-please_reenter_your_pin.wav"/>
<!-- Please re-enter your pin number to confirm. -->
+ <prompt phrase="Для регистрации на clueCon , пожалуйста нажмите .." filename="ivr-register_for_cluecon.wav"/>
<!-- To register for ClueCon, please press... -->
+ <prompt phrase="Для входа" filename="ivr-to_log_in.wav"/>
<!-- to log in -->
+ <prompt phrase="Для выхода" filename="ivr-to_log_out.wav"/>
<!-- to log out -->
+ <prompt phrase="Вы вошли" filename="ivr-you_are_now_logged_in.wav"/>
<!-- You are now logged in -->
+ <prompt phrase="Вы вышли" filename="ivr-you_are_now_logged_out.wav"/>
<!-- You are now logged out -->
+ <prompt phrase="Попробуйте снова" filename="ivr-please_try_again.wav"/>
<!-- Please try again. -->
+ <prompt phrase="Вы закрепляете этот телефон за Вашим добавочным номером" filename="ivr-provision_phone_permanently_to_extension.wav"/>
<!-- You are about to provision this phone permanently to your extension. -->
+ <prompt phrase="Пожалуйста введите добавочный номер за которым вы хотите закрепить этот телефон и нажмите решётку" filename="ivr-extension_to_provision_this_phone.wav"/>
<!-- Please enter the extension number to which you would like to provision this phone,followed by the pound sign. -->
+ <prompt phrase="Спасибо, этот телефон сейчас перезагрузится" filename="ivr-this_phone_will_now_reboot.wav"/>
<!-- Thank you, this phone will now reboot. -->
</ivr>
<misc>
- <prompt phrase="Этот звонок шифруется " filename= "call_secured.wav"/>
<!-- This call has been secured -->
- <prompt phrase="завершаемый нажатием на клавишу решетка " filename= "vm-followed_by.wav"/>
<!-- Followed by pound -->
- <prompt phrase="Если вы этот человек " filename= "if_you_are_this_person.wav"/>
<!-- If you are this person -->
- <prompt phrase="Если вы хотите " filename= "if_you_would_like_to.wav"/>
<!-- If you would like to -->
- <prompt phrase="Предоставьте номер ссылки " filename= "provide_reference_number.wav"/>
<!-- Provide reference number -->
- <prompt phrase="Пожалуйста, введите добавочный номер на который хотите перевести звонок " filename= "transfer1.wav"/>
<!-- Please enter extension you want to transfer to -->
- <prompt phrase="Перевод" filename= "transfer2.wav"/>
<!-- Transfer -->
- <prompt phrase="Мы пытаемся связаться" filename= "we_are_trying_to_reach.wav"/>
<!-- We are trying to reach -->
- <prompt phrase="Произошла ошибка, пожалуйста обратитесь к администратору " filename= "error.wav"/>
<!-- An error has occurred please contact the administrator -->
+ <prompt phrase="Этот звонок шифруется" filename="call_secured.wav"/>
<!-- This call has been secured -->
+ <prompt phrase="завершаемый нажатием на клавишу решетка" filename="vm-followed_by.wav"/>
<!-- Followed by pound -->
+ <prompt phrase="Если вы этот человек" filename="if_you_are_this_person.wav"/>
<!-- If you are this person -->
+ <prompt phrase="Если вы хотите" filename="if_you_would_like_to.wav"/>
<!-- If you would like to -->
+ <prompt phrase="Предоставьте номер ссылки" filename="provide_reference_number.wav"/>
<!-- Provide reference number -->
+ <prompt phrase="Пожалуйста, введите добавочный номер на который хотите перевести звонок" filename="transfer1.wav"/>
<!-- Please enter extension you want to transfer to -->
+ <prompt phrase="Перевод" filename="transfer2.wav"/>
<!-- Transfer -->
+ <prompt phrase="Мы пытаемся связаться" filename="we_are_trying_to_reach.wav"/>
<!-- We are trying to reach -->
+ <prompt phrase="Произошла ошибка, пожалуйста обратитесь к администратору" filename="error.wav"/>
<!-- An error has occurred please contact the administrator -->
</misc>
</ru>
</language>
1
0
[commit] r13073 - freeswitch/trunk/scripts/contrib/nmartin/dial_by_name_directory
by FreeSWITCH SVN 17 Apr '09
by FreeSWITCH SVN 17 Apr '09
17 Apr '09
Author: nmartin
Date: Thu Apr 16 23:50:32 2009
New Revision: 13073
Log:
cleaned up licensing and attribution to original author
Modified:
freeswitch/trunk/scripts/contrib/nmartin/dial_by_name_directory/README
freeswitch/trunk/scripts/contrib/nmartin/dial_by_name_directory/dial_by_name_directory.js
Modified: freeswitch/trunk/scripts/contrib/nmartin/dial_by_name_directory/README
==============================================================================
--- freeswitch/trunk/scripts/contrib/nmartin/dial_by_name_directory/README (original)
+++ freeswitch/trunk/scripts/contrib/nmartin/dial_by_name_directory/README Thu Apr 16 23:50:32 2009
@@ -28,8 +28,8 @@
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
-The original author of this work, Nik Martin, must be credited
-as the original author of this work.
+The original authors of this work, John Wehle, then Nik Martin, must be credited
+as the original authors of this work.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
Modified: freeswitch/trunk/scripts/contrib/nmartin/dial_by_name_directory/dial_by_name_directory.js
==============================================================================
--- freeswitch/trunk/scripts/contrib/nmartin/dial_by_name_directory/dial_by_name_directory.js (original)
+++ freeswitch/trunk/scripts/contrib/nmartin/dial_by_name_directory/dial_by_name_directory.js Thu Apr 16 23:50:32 2009
@@ -11,6 +11,7 @@
If the prior author's claimed copyright is infringed by the one I claim we'll
work it out, BUT I prefer a much looser MIT license:
==============================================================
+
Copyright (c) 2009 Nik Martin
Permission is hereby granted, free of charge, to any person
@@ -25,8 +26,8 @@
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
-The original author of this work, Nik Martin, must be credited
-as the original author of this work.
+The original authors of this work, John Wehle, then Nik Martin, must be credited
+as the original authors of this work.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
@@ -203,7 +204,13 @@
session.streamFile (recorded_name);
break;
}
+//TODO: say <module_name> <say_type> <say_method> <text> << spell out the name if they have not recorded one yet
+
}
+
+
session.execute ("phrase", "spell," + choice);
+//TODO: prompt to see if they REALLY want this person, then go back up if not.
+
session.execute ("transfer", choice + " XML features");
exit();
\ No newline at end of file
1
0
[commit] r13072 - freeswitch/trunk/scripts/contrib/nmartin/dial_by_name_directory
by FreeSWITCH SVN 17 Apr '09
by FreeSWITCH SVN 17 Apr '09
17 Apr '09
Author: nmartin
Date: Thu Apr 16 23:14:48 2009
New Revision: 13072
Log:
New and improved Dial By Name Directory, includes an actual helpful README, example usage, and a generic phrase macro that uses stock FreeSWITCH IVR prompts. Refactored about 60 lines of code out of the original aadir.js, added comments and debugging.
Added:
freeswitch/trunk/scripts/contrib/nmartin/dial_by_name_directory/
freeswitch/trunk/scripts/contrib/nmartin/dial_by_name_directory/README
freeswitch/trunk/scripts/contrib/nmartin/dial_by_name_directory/dial_by_name_directory.js
freeswitch/trunk/scripts/contrib/nmartin/dial_by_name_directory/dial_by_name_directory.xml
Added: freeswitch/trunk/scripts/contrib/nmartin/dial_by_name_directory/README
==============================================================================
--- (empty file)
+++ freeswitch/trunk/scripts/contrib/nmartin/dial_by_name_directory/README Thu Apr 16 23:14:48 2009
@@ -0,0 +1,64 @@
+Dial By Name Directory
+Nik Martin
+For support, contact me at freeswitch(a)servercorps.com
+
+=======================
+Nostly From the Original Code:
+Original Code Author: John Wehle
+Date: November 6, 2008
+Copyright (c) 2008 Feith Systems and Software, Inc.
+All Rights Reserved
+=======================
+
+
+If the prior author's claimed copyright is infringed by the one I claim we'll
+work it out, BUT I prefer a much looser license:
+==============================================================
+Copyright (c) 2009 Nik Martin
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+The original author of this work, Nik Martin, must be credited
+as the original author of this work.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+
+==============================================================
+
+dial_by_name_directory.xml is a phrase macro for the beginning of the directory app.
+dial_by_name_directory.js is the directory app itself.
+
+Place dial_by_name_directory somewhere in conf/lang/en/ maybe in a folder named directory?
+edit en.xml in conf/lang/en to include the directory/ directory (uh-oh, bad name)
+
+drop dial_by_name_directpry.js in scripts/
+
+in the dial plan, execute the dial by name directpry like:
+
+<extension name="dial_by_name">
+ <condition field="destination_number" expression="^6000$">
+ <action application="javascript" data="dial_by_name_directory.js" />
+ </condition>
+</extension>
+
+or, from an IVR:
+
+<entry action="menu-exec-app" digits="9" param="javascript dial_by_name_directory.js"/>
\ No newline at end of file
Added: freeswitch/trunk/scripts/contrib/nmartin/dial_by_name_directory/dial_by_name_directory.js
==============================================================================
--- (empty file)
+++ freeswitch/trunk/scripts/contrib/nmartin/dial_by_name_directory/dial_by_name_directory.js Thu Apr 16 23:14:48 2009
@@ -0,0 +1,209 @@
+/**
+=======================
+Mostly From the Original Code aadir.js:
+Original Code Author: John Wehle
+Date: November 6, 2008
+Copyright (c) 2008 Feith Systems and Software, Inc.
+All Rights Reserved
+=======================
+
+
+If the prior author's claimed copyright is infringed by the one I claim we'll
+work it out, BUT I prefer a much looser MIT license:
+==============================================================
+Copyright (c) 2009 Nik Martin
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+The original author of this work, Nik Martin, must be credited
+as the original author of this work.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+
+==============================================================
+*/
+
+var digitTimeOut = 3000;
+var interDigitTimeOut = 1000;
+var absoluteTimeOut = 10000;
+var base_dir = session.getVariable ("base_dir");
+var domain = session.getVariable ("domain");
+var voicemail_path = base_dir + "/storage/voicemail/default/" + domain + "/";
+var file_exts = [ ".wav", ".mp3" ];
+var extRE = /^1[0-9][0-9][0-9]$/g;
+var operator = "operator";
+var directory;
+
+var translations = [ "0",
+ "QZ", "ABC", "DEF",
+ "GHI", "JKL", "MNO",
+ "PQRS", "TUV", "WXYZ" ];
+var extension = "";
+var dtmf_digits = "";
+
+
+/**
+ * Build an array of [last_namefirst_name,extension].
+ * matches will then start at last name and go until
+ * a unique match emerges:
+ * martinnik and martinmatt match until the a in matt and i in nik
+ *
+ * @return the image at the specified URL
+ */
+
+function build_directory_list() {
+ var i;
+ var name;
+ var number;
+ var dir = apiExecute ("xml_locate", "directory domain name " + domain);
+ var re = /\s+$/g;
+ var length = dir.search (re);
+ if (length == -1)
+ length = dir.length;
+ dir = dir.substring (0, length);
+ var xdir = new XML (dir);
+ directory = new Array ();
+ i = 0;
+ re = /[^A-Z0-9\s]/gi;
+ for each (var variables in xdir.groups.group.users.user.variables) {
+
+ name = "";
+ number = "";
+ for each (variable in variables.variable) {
+ if (variable.(a)name.toString() == "effective_caller_id_name")
+ name = variable.(a)value.toString();
+
+ //clean up the name string, letters and numbers only
+ name = name.replace (re, "");
+ if (variable.(a)name.toString() == "effective_caller_id_number")
+ number = variable.(a)value.toString();
+ }
+ if (name.length == 0 || number.length == 0 || number.search (extRE) == -1)
+ continue;
+ directory[i] = new Array (2);
+ //make the name look like LastnameFirstname
+ name = name.split(" ")[1] + name.split(" ")[0];
+ directory[i][0] = name;
+ directory[i][1] = number;
+ console_log ("debug", directory[i][0] + ":" + directory[i][1] + "\n");
+ i++;
+ }
+}
+
+function directory_lookup (digits) {
+ var i;
+ var match = "";
+ var pattern = "^";
+ var re;
+ if (digits.length && digits[0] == 0)
+ return 0;
+ for (i = 0; i < digits.length; i++) {
+ if (isNaN (parseInt (digits[i], 10)))
+ return -1;
+ //build a regex pattern to match against
+ pattern += "[" + translations[parseInt (digits[i], 10)] + "]";
+ console_log("debug", "pattern: " + pattern + "\n");
+ }
+ re = new RegExp (pattern, "i");
+ for (i = 0; i < directory.length; i++)
+ if (directory[i][0].search (re) != -1) {
+ if (! isNaN (parseInt (match, 10)))
+ return "";
+ match = directory[i][1];
+ }
+ if (isNaN (parseInt (match, 10)))
+ return -1;
+ return match;
+}
+function on_dtmf (session, type, obj, arg) {
+ if (type == "dtmf") {
+ dtmf_digits += obj.digit;
+ extension = directory_lookup (dtmf_digits)
+ return false;
+ }
+ return true;
+}
+function directory_prompt () {
+ var choice;
+ var index;
+ var repeat;
+ extension = "";
+ choice = "";
+ repeat = 0;
+ while (session.ready() && repeat < 3) {
+ /* play phrase - if digit keyed while playing callback will catch them*/
+ session.sayPhrase ("dial_by_name_directory", "#", "", on_dtmf, "");
+ choice = dtmf_digits;
+ while ( isNaN (parseInt (extension, 10)) ) {
+ if (! session.ready ())
+ return "";
+ dtmf_digits = session.getDigits (1, '#', digitTimeOut,
+ interDigitTimeOut, absoluteTimeOut);
+ choice += dtmf_digits;
+ console_log ("debug", "choice: " + choice + "\n");
+ extension = directory_lookup(choice);
+ }
+ if (parseInt (extension, 10) >= 0)
+ break;
+ session.sayPhrase ("voicemail_invalid_extension", "#", "", on_dtmf, "");
+ dtmf_digits = "";
+ extension = "";
+ choice = "";
+ repeat++;
+ session.flushDigits ();
+ }
+ return extension;
+}
+var choice = "";
+var fd;
+var i;
+var recorded_name;
+session.answer ();
+session.execute("sleep", "1000");
+console_log("info", "loading dial-by-name directory\n");
+build_directory_list();
+dtmf_digits = "";
+session.flushDigits ();
+choice = directory_prompt ();
+
+if (! session.ready ()) {
+ session.hangup();
+ exit();
+}
+
+//this must try to determine if the extension is a number, but it seems that
+//non-integer extension are ok in FS. Leftover from original code
+if ( isNaN (parseInt (choice, 10)) || parseInt (choice, 10) <= 0) {
+ session.execute ("transfer", operator + " XML default");
+ exit();
+}
+
+for (i = 0; i < file_exts.length; i++) {
+ recorded_name = voicemail_path + choice + "/recorded_name" + file_exts[i];
+ fd = new File (recorded_name);
+ if (fd.exists) {
+ session.streamFile (recorded_name);
+ break;
+ }
+}
+session.execute ("phrase", "spell," + choice);
+session.execute ("transfer", choice + " XML features");
+exit();
\ No newline at end of file
Added: freeswitch/trunk/scripts/contrib/nmartin/dial_by_name_directory/dial_by_name_directory.xml
==============================================================================
--- (empty file)
+++ freeswitch/trunk/scripts/contrib/nmartin/dial_by_name_directory/dial_by_name_directory.xml Thu Apr 16 23:14:48 2009
@@ -0,0 +1,18 @@
+<?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="dial_by_name_directory">
+ <input pattern="^(.*)$">
+ <match>
+ <action function="play-file" data="ivr/ivr-use_telephone_keypad.wav"/>
+ <!--<action function="say" data="$1" method="pronounced" type="name_spelled"/>-->
+ <action function="play-file" data="ivr/ivr-spell_name.wav"/>
+ <action function="play-file" data="ivr/ivr-last_name_first.wav"/>
+ </match>
+ </input>
+ </macro>
+
+
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
1
0
Author: mcollins
Date: Thu Apr 16 22:50:11 2009
New Revision: 13071
Log:
Mas translations on el Spanish phrase-o file-o
Modified:
freeswitch/trunk/docs/phrase/phrase_es.xml
Modified: freeswitch/trunk/docs/phrase/phrase_es.xml
==============================================================================
--- freeswitch/trunk/docs/phrase/phrase_es.xml (original)
+++ freeswitch/trunk/docs/phrase/phrase_es.xml Thu Apr 16 22:50:11 2009
@@ -204,23 +204,23 @@
<prompt phrase="En punto" filename="oclock.wav"/>
<prompt phrase="oh" filename="oh.wav"/>
<prompt phrase="P.M." filename="p-m.wav"/>
- <prompt phrase="Second" filename="second.wav"/>
- <prompt phrase="Seconds" filename="seconds.wav"/>
- <prompt phrase="Today" filename="today.wav"/>
- <prompt phrase="Tomorrow" filename="tomorrow.wav"/>
- <prompt phrase="Yesterday" filename="yesterday.wav"/>
+ <prompt phrase="Segundo" filename="second.wav"/>
+ <prompt phrase="Segundos" filename="seconds.wav"/>
+ <prompt phrase="Hoy" filename="today.wav"/>
+ <prompt phrase="Ma�ana" filename="tomorrow.wav"/>
+ <prompt phrase="Ayer" filename="yesterday.wav"/>
</time>
<voicemail>
- <prompt phrase="The person at extension" filename="vm-person.wav"/>
- <prompt phrase="marked urgent" filename="vm-marked-urgent.wav"/>
- <prompt phrase="emailed" filename="vm-emailed.wav"/>
- <prompt phrase="you have" filename="vm-you_have.wav"/>
- <prompt phrase="please enter your i d, followed by" filename="vm-enter_id.wav"/>
- <prompt phrase="please enter your password, followed by" filename="vm-enter_pass.wav"/>
- <prompt phrase="login incorrect" filename="vm-fail_auth.wav"/>
- <prompt phrase="welcome to your voicemail" filename="vm-hello.wav"/>
- <prompt phrase="goodbye" filename="vm-goodbye.wav"/>
- <prompt phrase="at the tone please record your name, press any key or stop talking to end the recording." filename="vm-record_name1.wav"/>
+ <prompt phrase="La persona a la extensi�n" filename="vm-person.wav"/>
+ <prompt phrase="marcado urgente" filename="vm-marked-urgent.wav"/>
+ <prompt phrase="correo electr�nico" filename="vm-emailed.wav"/>
+ <prompt phrase="usted tiene" filename="vm-you_have.wav"/>
+ <prompt phrase="por favor ingrese su numero de usuario, seguido por" filename="vm-enter_id.wav"/>
+ <prompt phrase="por favor ingrese su contrase�a, seguido por" filename="vm-enter_pass.wav"/>
+ <prompt phrase="inicio de sesi�n incorrectos" filename="vm-fail_auth.wav"/>
+ <prompt phrase="bienvenido a su buz�n de voz" filename="vm-hello.wav"/>
+ <prompt phrase="Gracias por llamar" filename="vm-goodbye.wav"/>
+ <prompt phrase="En el tono, por favor anote su nombre, pulse cualquier tecla o dejar de hablar para poner fin a la grabaci�n." filename="vm-record_name1.wav"/>
<prompt phrase="choose a greeting between 1 and 9" filename="vm-choose_greeting_choose.wav"/>
<prompt phrase="invalid value" filename="vm-choose_greeting_fail.wav"/>
<prompt phrase="too many failed attempts" filename="vm-abort.wav"/>
1
0
17 Apr '09
Author: anthm
Date: Thu Apr 16 22:38:40 2009
New Revision: 13070
Log:
up
Modified:
freeswitch/trunk/src/mod/applications/mod_cluechoo/mod_cluechoo.c
Modified: freeswitch/trunk/src/mod/applications/mod_cluechoo/mod_cluechoo.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_cluechoo/mod_cluechoo.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_cluechoo/mod_cluechoo.c Thu Apr 16 22:38:40 2009
@@ -217,7 +217,7 @@
int hangover = 40, hangunder = 15;
int talking = 0;
int energy_level = 500;
-
+ int done = 0;
switch_core_session_get_read_impl(session, &read_impl);
printf("%s", SWITCH_SEQ_CLEARSCR);
@@ -245,15 +245,18 @@
for (x = COLS - 1; ; --x) {
- if (!switch_channel_ready(channel)) {
- break;
+ if (!done && !switch_channel_ready(channel)) {
+ done = 1;
}
-
- status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
- if (!SWITCH_READ_ACCEPTABLE(status)) {
- break;
+
+ if (!done) {
+ status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
+ if (!SWITCH_READ_ACCEPTABLE(status)) {
+ done = 1;
+ }
}
-
+
+ if (!done)
{
int16_t *fdata = (int16_t *) read_frame->data;
uint32_t samples = read_frame->datalen / sizeof(*fdata);
@@ -261,6 +264,7 @@
double energy = 0;
int divisor = 0;
+
for (count = 0; count < samples; count++) {
energy += abs(fdata[j]);
j += read_impl.number_of_channels;
@@ -296,11 +300,13 @@
}
}
}
- }
- if (!talking) {
- x++;
- continue;
+ if (!talking) {
+ x++;
+ continue;
+ }
+ } else {
+ usleep(20000);
}
if (LOGO == 0) {
@@ -310,8 +316,6 @@
}
refresh();
-
-
/*
if (x == COLS / 4) {
sleep(2);
1
0
17 Apr '09
Author: anthm
Date: Thu Apr 16 22:05:33 2009
New Revision: 13069
Log:
clue choo
Modified:
freeswitch/trunk/build/modules.conf.in
freeswitch/trunk/conf/autoload_configs/modules.conf.xml
Modified: freeswitch/trunk/build/modules.conf.in
==============================================================================
--- freeswitch/trunk/build/modules.conf.in (original)
+++ freeswitch/trunk/build/modules.conf.in Thu Apr 16 22:05:33 2009
@@ -21,6 +21,7 @@
#applications/mod_vmd
#applications/mod_memcache
#applications/mod_spy
+applications/mod_cluechoo
#asr_tts/mod_flite
#asr_tts/mod_pocketsphinx
#asr_tts/mod_cepstral
Modified: freeswitch/trunk/conf/autoload_configs/modules.conf.xml
==============================================================================
--- freeswitch/trunk/conf/autoload_configs/modules.conf.xml (original)
+++ freeswitch/trunk/conf/autoload_configs/modules.conf.xml Thu Apr 16 22:05:33 2009
@@ -49,6 +49,7 @@
<load module="mod_limit"/>
<load module="mod_esf"/>
<load module="mod_fsv"/>
+ <load module="mod_cluechoo"/>
<!--<load module="mod_spy"/>-->
<!-- SNOM Module -->
1
0
17 Apr '09
Author: anthm
Date: Thu Apr 16 22:03:20 2009
New Revision: 13068
Log:
clue choo
Added:
freeswitch/trunk/src/mod/applications/mod_cluechoo/
freeswitch/trunk/src/mod/applications/mod_cluechoo/Makefile
freeswitch/trunk/src/mod/applications/mod_cluechoo/mod_cluechoo.c
freeswitch/trunk/src/mod/applications/mod_cluechoo/sl.h
Added: freeswitch/trunk/src/mod/applications/mod_cluechoo/Makefile
==============================================================================
--- (empty file)
+++ freeswitch/trunk/src/mod/applications/mod_cluechoo/Makefile Thu Apr 16 22:03:20 2009
@@ -0,0 +1,2 @@
+BASE=../../../..
+include $(BASE)/build/modmake.rules
Added: freeswitch/trunk/src/mod/applications/mod_cluechoo/mod_cluechoo.c
==============================================================================
--- (empty file)
+++ freeswitch/trunk/src/mod/applications/mod_cluechoo/mod_cluechoo.c Thu Apr 16 22:03:20 2009
@@ -0,0 +1,492 @@
+/*
+ * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
+ * Copyright (C) 2005-2009, Anthony Minessale II <anthm(a)freeswitch.org>
+ *
+ * Version: MPL 1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
+ *
+ * The Initial Developer of the Original Code is
+ * Anthony Minessale II <anthm(a)freeswitch.org>
+ * Portions created by the Initial Developer are Copyright (C)
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * Anthony Minessale II <anthm(a)freeswitch.org>
+ * Neal Horman <neal at wanlink dot com>
+ *
+ *
+ * mod_cluechoo.c -- Framework Demo Module
+ *
+ */
+#include <switch.h>
+
+/* Prototypes */
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_cluechoo_shutdown);
+SWITCH_MODULE_RUNTIME_FUNCTION(mod_cluechoo_runtime);
+SWITCH_MODULE_LOAD_FUNCTION(mod_cluechoo_load);
+
+/* SWITCH_MODULE_DEFINITION(name, load, shutdown, runtime)
+ * Defines a switch_loadable_module_function_table_t and a static const char[] modname
+ */
+SWITCH_MODULE_DEFINITION(mod_cluechoo, mod_cluechoo_load, mod_cluechoo_shutdown, NULL);
+
+int add_D51();
+int add_sl();
+int add_man();
+int add_smoke();
+int go(int i);
+int vgo(int i, switch_core_session_t *session);
+
+SWITCH_STANDARD_APP(cluechoo_app)
+{
+ switch_channel_t *channel = switch_core_session_get_channel(session);
+
+ switch_channel_answer(channel);
+ switch_ivr_sleep(session, 1000, SWITCH_FALSE, NULL);
+
+ while(switch_channel_ready(channel)) {
+ if (vgo(0, session) < 0) {
+ break;
+ }
+ }
+}
+
+SWITCH_STANDARD_API(cluechoo_function)
+{
+ //stream->write_function(stream, "+OK Reloading\n");
+
+ go(0);
+ return SWITCH_STATUS_SUCCESS;
+}
+
+/* Macro expands to: switch_status_t mod_cluechoo_load(switch_loadable_module_interface_t **module_interface, switch_memory_pool_t *pool) */
+SWITCH_MODULE_LOAD_FUNCTION(mod_cluechoo_load)
+{
+ switch_api_interface_t *api_interface;
+ switch_application_interface_t *app_interface;
+
+ /* connect my internal structure to the blank pointer passed to me */
+ *module_interface = switch_loadable_module_create_module_interface(pool, modname);
+
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Hello World!\n");
+
+ SWITCH_ADD_API(api_interface, "cluechoo", "Cluechoo API", cluechoo_function, "syntax");
+
+ SWITCH_ADD_APP(app_interface, "cluechoo", "cluechoo", "cluechoo", cluechoo_app, "", SAF_NONE);
+
+ /* indicate that the module should continue to be loaded */
+ return SWITCH_STATUS_SUCCESS;
+}
+
+/*
+ Called when the system shuts down
+ Macro expands to: switch_status_t mod_cluechoo_shutdown() */
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_cluechoo_shutdown)
+{
+
+ return SWITCH_STATUS_SUCCESS;
+}
+
+
+/*========================================
+ * sl.c:
+ * Copyright 1993,1998 Toyoda Masashi
+ * (toyoda(a)is.titech.ac.jp)
+ * Last Modified: 1998/ 7/22
+ *========================================
+ */
+/* sl version 3.03 : add usleep(20000) */
+/* by Toyoda Masashi 1998/ 7/22 */
+/* sl version 3.02 : D51 flies! Change options. */
+/* by Toyoda Masashi 1993/ 1/19 */
+/* sl version 3.01 : Wheel turns smoother */
+/* by Toyoda Masashi 1992/12/25 */
+/* sl version 3.00 : Add d(D51) option */
+/* by Toyoda Masashi 1992/12/24 */
+/* sl version 2.02 : Bug fixed.(dust remains in screen) */
+/* by Toyoda Masashi 1992/12/17 */
+/* sl version 2.01 : Smoke run and disappear. */
+/* Change '-a' to accident option. */
+/* by Toyoda Masashi 1992/12/16 */
+/* sl version 2.00 : Add a(all),l(long),F(Fly!) options. */
+/* by Toyoda Masashi 1992/12/15 */
+/* sl version 1.02 : Add turning wheel. */
+/* by Toyoda Masashi 1992/12/14 */
+/* sl version 1.01 : Add more complex smoke. */
+/* by Toyoda Masashi 1992/12/14 */
+/* sl version 1.00 : SL runs vomitting out smoke. */
+/* by Toyoda Masashi 1992/12/11 */
+
+#include <curses.h>
+#include <signal.h>
+#include <unistd.h>
+#include "sl.h"
+
+int ACCIDENT = 0;
+int LOGO = 0;
+int FLY = 0;
+
+int my_mvaddstr(int y, int x, char *str)
+{
+ for ( ; x < 0; ++x, ++str)
+ if (*str == '\0') return ERR;
+ for ( ; *str != '\0'; ++str, ++x)
+ if (mvaddch(y, x, *str) == ERR) return ERR;
+ return OK;
+}
+
+void option(char *str)
+{
+ extern int ACCIDENT, FLY;
+
+ while (*str != '\0') {
+ switch (*str++) {
+ case 'a': ACCIDENT = 1; break;
+ case 'F': FLY = 1; break;
+ case 'l': LOGO = 1; break;
+ default: break;
+ }
+ }
+}
+
+int go(int i)
+{
+ int x;
+ int sleep_len = 40000;
+
+ if (i > 0) {
+ sleep_len = i;
+ }
+
+ /*
+ for (i = 1; i < argc; ++i) {
+ if (*argv[i] == '-') {
+ option(argv[i] + 1);
+ }
+ }
+ */
+ initscr();
+ signal(SIGINT, SIG_IGN);
+ noecho();
+ leaveok(stdscr, TRUE);
+ scrollok(stdscr, FALSE);
+
+ for (x = COLS - 1; ; --x) {
+ if (LOGO == 0) {
+ if (add_D51(x) == ERR) break;
+ } else {
+ if (add_sl(x) == ERR) break;
+ }
+ refresh();
+ if (x == COLS / 4) {
+ sleep(2);
+ } else {
+ usleep(sleep_len);
+ }
+ }
+ mvcur(0, COLS - 1, LINES - 1, 0);
+ endwin();
+
+ return 0;
+}
+
+
+int vgo(int i, switch_core_session_t *session)
+{
+ int x;
+ int sleep_len = 40000;
+ switch_channel_t *channel = switch_core_session_get_channel(session);
+ switch_frame_t *read_frame;
+ switch_status_t status;
+ switch_codec_implementation_t read_impl = {0};
+ switch_codec_t codec = {0};
+ int hangover_hits = 0, hangunder_hits = 0;
+ int diff_level = 400;
+ int hangover = 40, hangunder = 15;
+ int talking = 0;
+ int energy_level = 500;
+
+ switch_core_session_get_read_impl(session, &read_impl);
+
+ printf("%s", SWITCH_SEQ_CLEARSCR);
+
+ if (i > 0) {
+ sleep_len = i;
+ }
+
+ initscr();
+ signal(SIGINT, SIG_IGN);
+ noecho();
+ leaveok(stdscr, TRUE);
+ scrollok(stdscr, FALSE);
+
+
+ if (switch_core_codec_init(&codec,
+ "L16",
+ NULL, (int) read_impl.samples_per_second, read_impl.microseconds_per_packet / 1000,
+ 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL,
+ switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) {
+ return -1;
+ }
+
+ switch_core_session_set_read_codec(session, &codec);
+
+ for (x = COLS - 1; ; --x) {
+
+ if (!switch_channel_ready(channel)) {
+ break;
+ }
+
+ status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
+ if (!SWITCH_READ_ACCEPTABLE(status)) {
+ break;
+ }
+
+ {
+ int16_t *fdata = (int16_t *) read_frame->data;
+ uint32_t samples = read_frame->datalen / sizeof(*fdata);
+ uint32_t score, count = 0, j = 0;
+ double energy = 0;
+ int divisor = 0;
+
+ for (count = 0; count < samples; count++) {
+ energy += abs(fdata[j]);
+ j += read_impl.number_of_channels;
+ }
+
+ if (!(divisor = read_impl.actual_samples_per_second / 8000)) {
+ divisor = 1;
+ }
+
+ score = (uint32_t) (energy / (samples / divisor));
+
+ if (score > energy_level) {
+ uint32_t diff = score - energy_level;
+ if (hangover_hits) {
+ hangover_hits--;
+ }
+
+ if (diff >= diff_level || ++hangunder_hits >= hangunder) {
+ hangover_hits = hangunder_hits = 0;
+
+ if (!talking) {
+ talking = 1;
+ }
+ }
+ } else {
+ if (hangunder_hits) {
+ hangunder_hits--;
+ }
+ if (talking) {
+ if (++hangover_hits >= hangover) {
+ hangover_hits = hangunder_hits = 0;
+ talking = 0;
+ }
+ }
+ }
+ }
+
+ if (!talking) {
+ x++;
+ continue;
+ }
+
+ if (LOGO == 0) {
+ if (add_D51(x) == ERR) break;
+ } else {
+ if (add_sl(x) == ERR) break;
+ }
+ refresh();
+
+
+
+ /*
+ if (x == COLS / 4) {
+ sleep(2);
+ } else {
+ usleep(sleep_len);
+ }
+ */
+ }
+ mvcur(0, COLS - 1, LINES - 1, 0);
+ endwin();
+
+ switch_core_session_set_read_codec(session, NULL);
+ switch_core_codec_destroy(&codec);
+ return 0;
+}
+
+
+int add_sl(int x)
+{
+ static char *sl[LOGOPATTERNS][LOGOHIGHT + 1]
+ = {{LOGO1, LOGO2, LOGO3, LOGO4, LWHL11, LWHL12, DELLN},
+ {LOGO1, LOGO2, LOGO3, LOGO4, LWHL21, LWHL22, DELLN},
+ {LOGO1, LOGO2, LOGO3, LOGO4, LWHL31, LWHL32, DELLN},
+ {LOGO1, LOGO2, LOGO3, LOGO4, LWHL41, LWHL42, DELLN},
+ {LOGO1, LOGO2, LOGO3, LOGO4, LWHL51, LWHL52, DELLN},
+ {LOGO1, LOGO2, LOGO3, LOGO4, LWHL61, LWHL62, DELLN}};
+
+ static char *coal[LOGOHIGHT + 1]
+ = {LCOAL1, LCOAL2, LCOAL3, LCOAL4, LCOAL5, LCOAL6, DELLN};
+
+ static char *car[LOGOHIGHT + 1]
+ = {LCAR1, LCAR2, LCAR3, LCAR4, LCAR5, LCAR6, DELLN};
+
+ int i, y, py1 = 0, py2 = 0, py3 = 0;
+
+ if (x < - LOGOLENGTH) return ERR;
+ y = LINES / 2 - 3;
+
+ if (FLY == 1) {
+ y = (x / 6) + LINES - (COLS / 6) - LOGOHIGHT;
+ py1 = 2; py2 = 4; py3 = 6;
+ }
+
+ for (i = 0; i <= LOGOHIGHT; ++i) {
+ my_mvaddstr(y + i, x, sl[(LOGOLENGTH + x) / 3 % LOGOPATTERNS][i]);
+ my_mvaddstr(y + i + py1, x + 21, coal[i]);
+ my_mvaddstr(y + i + py2, x + 42, car[i]);
+ my_mvaddstr(y + i + py3, x + 63, car[i]);
+ }
+ if (ACCIDENT == 1) {
+ add_man(y + 1, x + 14);
+ add_man(y + 1 + py2, x + 45); add_man(y + 1 + py2, x + 53);
+ add_man(y + 1 + py3, x + 66); add_man(y + 1 + py3, x + 74);
+ }
+ add_smoke(y - 1, x + LOGOFUNNEL);
+ return OK;
+}
+
+static int loops = 0;
+
+int add_D51(int x)
+{
+ static char *d51[D51PATTERNS][D51HIGHT + 1]
+ = {{D51STR1, D51STR2, D51STR3, D51STR4, D51STR5, D51STR6, D51STR7,
+ D51WHL11, D51WHL12, D51WHL13, D51DEL},
+ {D51STR1, D51STR2, D51STR3, D51STR4, D51STR5, D51STR6, D51STR7,
+ D51WHL21, D51WHL22, D51WHL23, D51DEL},
+ {D51STR1, D51STR2, D51STR3, D51STR4, D51STR5, D51STR6, D51STR7,
+ D51WHL31, D51WHL32, D51WHL33, D51DEL},
+ {D51STR1, D51STR2, D51STR3, D51STR4, D51STR5, D51STR6, D51STR7,
+ D51WHL41, D51WHL42, D51WHL43, D51DEL},
+ {D51STR1, D51STR2, D51STR3, D51STR4, D51STR5, D51STR6, D51STR7,
+ D51WHL51, D51WHL52, D51WHL53, D51DEL},
+ {D51STR1, D51STR2, D51STR3, D51STR4, D51STR5, D51STR6, D51STR7,
+ D51WHL61, D51WHL62, D51WHL63, D51DEL}};
+ static char *coal[D51HIGHT + 1]
+ = {COAL01, COAL02, COAL03, COAL04, COAL05,
+ COAL06, COAL07, COAL08, COAL09, COAL10, COALDEL};
+
+ static char *acoal[D51HIGHT + 1]
+ = {COAL01, COAL02, COAL03, COAL04, COAL5A,
+ COAL06, COAL07, COAL08, COAL09, COAL10, COALDEL};
+
+ int y, i, dy = 0;
+
+ if (x < - D51LENGTH) return ERR;
+ y = LINES / 2 - 5;
+
+ if (FLY == 1) {
+ y = (x / 7) + LINES - (COLS / 7) - D51HIGHT;
+ dy = 1;
+ }
+
+ for (i = 0; i <= D51HIGHT; ++i) {
+ my_mvaddstr(y + i, x, d51[(D51LENGTH + x) % D51PATTERNS][i]);
+ my_mvaddstr(y + i + dy, x + 53, loops > 60 ? coal[i] : acoal[i]);
+ loops++;
+ if (loops == 500) loops = -100;
+ }
+ if (ACCIDENT == 1) {
+ add_man(y + 2, x + 43);
+ add_man(y + 2, x + 47);
+ }
+ add_smoke(y - 1, x + D51FUNNEL);
+ return OK;
+}
+
+
+int add_man(int y, int x)
+{
+ static char *man[2][2] = {{"", "(O)"}, {"Help!", "\\O/"}};
+ int i;
+
+ for (i = 0; i < 2; ++i) {
+ my_mvaddstr(y + i, x, man[(LOGOLENGTH + x) / 12 % 2][i]);
+ }
+
+ return 0;
+}
+
+
+int add_smoke(int y, int x)
+#define SMOKEPTNS 16
+{
+ static struct smokes {
+ int y, x;
+ int ptrn, kind;
+ } S[1000];
+ static int sum = 0;
+ static char *Smoke[2][SMOKEPTNS]
+ = {{"( )", "( )", "( )", "( )", "( )",
+ "( )" , "( )" , "( )" , "()" , "()" ,
+ "O" , "O" , "O" , "O" , "O" ,
+ " " },
+ {"(@@@)", "(@@@@)", "(@@@@)", "(@@@)", "(@@)",
+ "(@@)" , "(@)" , "(@)" , "@@" , "@@" ,
+ "@" , "@" , "@" , "@" , "@" ,
+ " " }};
+ static char *Eraser[SMOKEPTNS]
+ = {" ", " ", " ", " ", " ",
+ " " , " " , " " , " " , " " ,
+ " " , " " , " " , " " , " " ,
+ " " };
+ static int dy[SMOKEPTNS] = { 2, 1, 1, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0 };
+ static int dx[SMOKEPTNS] = {-2, -1, 0, 1, 1, 1, 1, 1, 2, 2,
+ 2, 2, 2, 3, 3, 3 };
+ int i;
+
+ if (x % 4 == 0) {
+ for (i = 0; i < sum; ++i) {
+ my_mvaddstr(S[i].y, S[i].x, Eraser[S[i].ptrn]);
+ S[i].y -= dy[S[i].ptrn];
+ S[i].x += dx[S[i].ptrn];
+ S[i].ptrn += (S[i].ptrn < SMOKEPTNS - 1) ? 1 : 0;
+ my_mvaddstr(S[i].y, S[i].x, Smoke[S[i].kind][S[i].ptrn]);
+ }
+ my_mvaddstr(y, x, Smoke[sum % 2][0]);
+ S[sum].y = y; S[sum].x = x;
+ S[sum].ptrn = 0; S[sum].kind = sum % 2;
+ sum ++;
+ }
+
+ return 0;
+}
+
+
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:t
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4
+ */
Added: freeswitch/trunk/src/mod/applications/mod_cluechoo/sl.h
==============================================================================
--- (empty file)
+++ freeswitch/trunk/src/mod/applications/mod_cluechoo/sl.h Thu Apr 16 22:03:20 2009
@@ -0,0 +1,107 @@
+/*========================================
+ * sl.h: Text data of SL version 3.01
+ * Copyright 1993 Toyoda Masashi
+ * (toyoda(a)is.titech.ac.jp)
+ * Last Modified: 1992/12/23
+ *========================================
+ */
+
+#define D51HIGHT 10
+#define D51FUNNEL 7
+#define D51LENGTH 83
+#define D51PATTERNS 6
+
+
+#define D51STR1 " ==== ________ ___________ "
+#define D51STR2 " _D _| |_______/ \\__I_I_____===__|_________| "
+#define D51STR3 " |(_)--- | H\\________/ | | =|___ ___| "
+#define D51STR4 " / | | H | | | | ||_| |_|| "
+#define D51STR5 " | | | H |__--------------------| [___] | "
+#define D51STR6 " | ________|___H__/__|_____/[][]~\\_______| | "
+#define D51STR7 " |/ | |-----------I_____I [][] [] D |=======|__ "
+
+#define D51WHL11 "__/ =| o |=-~~\\ /~~\\ /~~\\ /~~\\ ____Y___________|__ "
+#define D51WHL12 " |/-=|___|= || || || |_____/~\\___/ "
+#define D51WHL13 " \\_/ \\O=====O=====O=====O_/ \\_/ "
+
+#define D51WHL21 "__/ =| o |=-~~\\ /~~\\ /~~\\ /~~\\ ____Y___________|__ "
+#define D51WHL22 " |/-=|___|=O=====O=====O=====O |_____/~\\___/ "
+#define D51WHL23 " \\_/ \\__/ \\__/ \\__/ \\__/ \\_/ "
+
+#define D51WHL31 "__/ =| o |=-O=====O=====O=====O \\ ____Y___________|__ "
+#define D51WHL32 " |/-=|___|= || || || |_____/~\\___/ "
+#define D51WHL33 " \\_/ \\__/ \\__/ \\__/ \\__/ \\_/ "
+
+#define D51WHL41 "__/ =| o |=-~O=====O=====O=====O\\ ____Y___________|__ "
+#define D51WHL42 " |/-=|___|= || || || |_____/~\\___/ "
+#define D51WHL43 " \\_/ \\__/ \\__/ \\__/ \\__/ \\_/ "
+
+#define D51WHL51 "__/ =| o |=-~~\\ /~~\\ /~~\\ /~~\\ ____Y___________|__ "
+#define D51WHL52 " |/-=|___|= O=====O=====O=====O|_____/~\\___/ "
+#define D51WHL53 " \\_/ \\__/ \\__/ \\__/ \\__/ \\_/ "
+
+#define D51WHL61 "__/ =| o |=-~~\\ /~~\\ /~~\\ /~~\\ ____Y___________|__ "
+#define D51WHL62 " |/-=|___|= || || || |_____/~\\___/ "
+#define D51WHL63 " \\_/ \\_O=====O=====O=====O/ \\_/ "
+
+#define D51DEL " "
+
+
+
+#define COAL01 " "
+#define COAL02 " "
+#define COAL03 " _________________ "
+#define COAL04 " _| \\_____A "
+#define COAL05 " =| Come To ClueCon! | "
+#define COAL5A " =| CLUE CHOO! | "
+#define COAL06 " -| http://www.cluecon.com | "
+#define COAL07 "__|________________________|_ "
+#define COAL08 "|__________________________|_ "
+#define COAL09 " |_D__D__D_| |_D__D__D_| "
+#define COAL10 " \\_/ \\_/ \\_/ \\_/ "
+
+#define COALDEL " "
+
+#define LOGOHIGHT 6
+#define LOGOFUNNEL 4
+#define LOGOLENGTH 84
+#define LOGOPATTERNS 6
+
+#define LOGO1 " ++ +------ "
+#define LOGO2 " || |+-+ | "
+#define LOGO3 " /---------|| | | "
+#define LOGO4 " + ======== +-+ | "
+
+#define LWHL11 " _|--O========O~\\-+ "
+#define LWHL12 "//// \\_/ \\_/ "
+
+#define LWHL21 " _|--/O========O\\-+ "
+#define LWHL22 "//// \\_/ \\_/ "
+
+#define LWHL31 " _|--/~O========O-+ "
+#define LWHL32 "//// \\_/ \\_/ "
+
+#define LWHL41 " _|--/~\\------/~\\-+ "
+#define LWHL42 "//// \\_O========O "
+
+#define LWHL51 " _|--/~\\------/~\\-+ "
+#define LWHL52 "//// \\O========O/ "
+
+#define LWHL61 " _|--/~\\------/~\\-+ "
+#define LWHL62 "//// O========O_/ "
+
+#define LCOAL1 "____ "
+#define LCOAL2 "| \\@@@@@@@@@@@ "
+#define LCOAL3 "| \\@@@@@@@@@@@@@_ "
+#define LCOAL4 "| | "
+#define LCOAL5 "|__________________| "
+#define LCOAL6 " (O) (O) "
+
+#define LCAR1 "____________________ "
+#define LCAR2 "| ___ ___ ___ ___ | "
+#define LCAR3 "| |_| |_| |_| |_| | "
+#define LCAR4 "|__________________| "
+#define LCAR5 "|__________________| "
+#define LCAR6 " (O) (O) "
+
+#define DELLN " "
1
0