Freeswitch-trunk
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
July 2008
- 9 participants
- 340 discussions
[commit] r9184 - in freeswitch/trunk: . src/mod/say/mod_say_de src/mod/say/mod_say_en src/mod/say/mod_say_es src/mod/say/mod_say_fr src/mod/say/mod_say_it src/mod/say/mod_say_nl src/mod/say/mod_say_zh
by Freeswitch SVN 28 Jul '08
by Freeswitch SVN 28 Jul '08
28 Jul '08
Author: mikej
Date: Mon Jul 28 12:13:52 2008
New Revision: 9184
Modified:
freeswitch/trunk/Freeswitch.2008.sln
freeswitch/trunk/src/mod/say/mod_say_de/mod_say_de.c
freeswitch/trunk/src/mod/say/mod_say_en/mod_say_en.c
freeswitch/trunk/src/mod/say/mod_say_es/mod_say_es.c
freeswitch/trunk/src/mod/say/mod_say_fr/mod_say_fr.c
freeswitch/trunk/src/mod/say/mod_say_it/mod_say_it.c
freeswitch/trunk/src/mod/say/mod_say_nl/mod_say_nl.c
freeswitch/trunk/src/mod/say/mod_say_zh/ (props changed)
freeswitch/trunk/src/mod/say/mod_say_zh/mod_say_zh.2008.vcproj
freeswitch/trunk/src/mod/say/mod_say_zh/mod_say_zh.c
Log:
fix leak when call hangs up or other error condition while saying an ip address (add mod_say_zh to windows build)
Modified: freeswitch/trunk/Freeswitch.2008.sln
==============================================================================
--- freeswitch/trunk/Freeswitch.2008.sln (original)
+++ freeswitch/trunk/Freeswitch.2008.sln Mon Jul 28 12:13:52 2008
@@ -961,6 +961,11 @@
{202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
EndProjectSection
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_say_zh", "src\mod\say\mod_say_zh\mod_say_zh.2008.vcproj", "{B6A9FB7A-1CC4-442B-812D-EC33E4E4A36E}"
+ ProjectSection(ProjectDependencies) = postProject
+ {202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -1662,6 +1667,12 @@
{2A3D00C6-588D-4E86-81AC-9EF5EDE86E03}.Release|Win32.ActiveCfg = Release|Win32
{2A3D00C6-588D-4E86-81AC-9EF5EDE86E03}.Release|Win32.Build.0 = Release|Win32
{2A3D00C6-588D-4E86-81AC-9EF5EDE86E03}.Release|x64.ActiveCfg = Release|Win32
+ {B6A9FB7A-1CC4-442B-812D-EC33E4E4A36E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B6A9FB7A-1CC4-442B-812D-EC33E4E4A36E}.Debug|Win32.Build.0 = Debug|Win32
+ {B6A9FB7A-1CC4-442B-812D-EC33E4E4A36E}.Debug|x64.ActiveCfg = Debug|Win32
+ {B6A9FB7A-1CC4-442B-812D-EC33E4E4A36E}.Release|Win32.ActiveCfg = Release|Win32
+ {B6A9FB7A-1CC4-442B-812D-EC33E4E4A36E}.Release|Win32.Build.0 = Release|Win32
+ {B6A9FB7A-1CC4-442B-812D-EC33E4E4A36E}.Release|x64.ActiveCfg = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -1771,6 +1782,7 @@
{06E3A538-AB32-44F2-B477-755FF9CB5D37} = {6CD61A1D-797C-470A-BE08-8C31B68BB336}
{6D1BEC70-4DCD-4FE9-ADBD-4A43A67E4D05} = {6CD61A1D-797C-470A-BE08-8C31B68BB336}
{A4B122CF-5196-476B-8C0E-D8BD59AC3C14} = {6CD61A1D-797C-470A-BE08-8C31B68BB336}
+ {B6A9FB7A-1CC4-442B-812D-EC33E4E4A36E} = {6CD61A1D-797C-470A-BE08-8C31B68BB336}
{3B08FEFD-4D3D-4C16-BA94-EE83509E32A0} = {57D119DC-484F-420F-B9E9-8589FD9A8DF8}
{7BFD517E-7F8F-4A40-A78E-8D3632738227} = {57D119DC-484F-420F-B9E9-8589FD9A8DF8}
{6374D55C-FABE-4A02-9CF1-4145308A56C5} = {57D119DC-484F-420F-B9E9-8589FD9A8DF8}
Modified: freeswitch/trunk/src/mod/say/mod_say_de/mod_say_de.c
==============================================================================
--- freeswitch/trunk/src/mod/say/mod_say_de/mod_say_de.c (original)
+++ freeswitch/trunk/src/mod/say/mod_say_de/mod_say_de.c Mon Jul 28 12:13:52 2008
@@ -236,28 +236,24 @@
static switch_status_t de_ip(switch_core_session_t *session, char *tosay, switch_say_type_t type, switch_say_method_t method, switch_input_args_t *args)
{
char *a, *b, *c, *d;
- switch_status_t status = SWITCH_STATUS_SUCCESS;
- if (!(a = strdup(tosay))) {
+ if (!(a = switch_core_session_strdup(session, tosay))) {
return SWITCH_STATUS_FALSE;
}
if (!(b = strchr(a, '.'))) {
- status = SWITCH_STATUS_FALSE;
- goto done;
+ return SWITCH_STATUS_FALSE;
}
*b++ = '\0';
if (!(c = strchr(b, '.'))) {
- status = SWITCH_STATUS_FALSE;
- goto done;
+ return SWITCH_STATUS_FALSE;
}
*c++ = '\0';
if (!(d = strchr(c, '.'))) {
- status = SWITCH_STATUS_FALSE;
- goto done;
+ return SWITCH_STATUS_FALSE;
}
*d++ = '\0';
@@ -270,9 +266,7 @@
say_file("digits/dot.wav");
say_num(atoi(d), method);
- done:
- switch_safe_free(a);
- return status;
+ return SWITCH_STATUS_SUCCESS;
}
Modified: freeswitch/trunk/src/mod/say/mod_say_en/mod_say_en.c
==============================================================================
--- freeswitch/trunk/src/mod/say/mod_say_en/mod_say_en.c (original)
+++ freeswitch/trunk/src/mod/say/mod_say_en/mod_say_en.c Mon Jul 28 12:13:52 2008
@@ -225,28 +225,24 @@
static switch_status_t en_ip(switch_core_session_t *session, char *tosay, switch_say_type_t type, switch_say_method_t method, switch_input_args_t *args)
{
char *a, *b, *c, *d;
- switch_status_t status = SWITCH_STATUS_SUCCESS;
- if (!(a = strdup(tosay))) {
+ if (!(a = switch_core_session_strdup(session, tosay))) {
return SWITCH_STATUS_FALSE;
}
if (!(b = strchr(a, '.'))) {
- status = SWITCH_STATUS_FALSE;
- goto done;
+ return SWITCH_STATUS_FALSE;
}
*b++ = '\0';
if (!(c = strchr(b, '.'))) {
- status = SWITCH_STATUS_FALSE;
- goto done;
+ return SWITCH_STATUS_FALSE;
}
*c++ = '\0';
if (!(d = strchr(c, '.'))) {
- status = SWITCH_STATUS_FALSE;
- goto done;
+ return SWITCH_STATUS_FALSE;
}
*d++ = '\0';
@@ -259,9 +255,7 @@
say_file("digits/dot.wav");
say_num(atoi(d), method);
- done:
- switch_safe_free(a);
- return status;
+ return SWITCH_STATUS_SUCCESS;
}
Modified: freeswitch/trunk/src/mod/say/mod_say_es/mod_say_es.c
==============================================================================
--- freeswitch/trunk/src/mod/say/mod_say_es/mod_say_es.c (original)
+++ freeswitch/trunk/src/mod/say/mod_say_es/mod_say_es.c Mon Jul 28 12:13:52 2008
@@ -225,28 +225,24 @@
static switch_status_t es_ip(switch_core_session_t *session, char *tosay, switch_say_type_t type, switch_say_method_t method, switch_input_args_t *args)
{
char *a, *b, *c, *d;
- switch_status_t status = SWITCH_STATUS_SUCCESS;
- if (!(a = strdup(tosay))) {
+ if (!(a = switch_core_session_strdup(session, tosay))) {
return SWITCH_STATUS_FALSE;
}
if (!(b = strchr(a, '.'))) {
- status = SWITCH_STATUS_FALSE;
- goto done;
+ return SWITCH_STATUS_FALSE;
}
*b++ = '\0';
if (!(c = strchr(b, '.'))) {
- status = SWITCH_STATUS_FALSE;
- goto done;
+ return SWITCH_STATUS_FALSE;
}
*c++ = '\0';
if (!(d = strchr(c, '.'))) {
- status = SWITCH_STATUS_FALSE;
- goto done;
+ return SWITCH_STATUS_FALSE;
}
*d++ = '\0';
@@ -259,9 +255,7 @@
say_file("digits/dot.wav");
say_num(atoi(d), method);
- done:
- switch_safe_free(a);
- return status;
+ return SWITCH_STATUS_SUCCESS;
}
Modified: freeswitch/trunk/src/mod/say/mod_say_fr/mod_say_fr.c
==============================================================================
--- freeswitch/trunk/src/mod/say/mod_say_fr/mod_say_fr.c (original)
+++ freeswitch/trunk/src/mod/say/mod_say_fr/mod_say_fr.c Mon Jul 28 12:13:52 2008
@@ -225,28 +225,24 @@
static switch_status_t fr_ip(switch_core_session_t *session, char *tosay, switch_say_type_t type, switch_say_method_t method, switch_input_args_t *args)
{
char *a, *b, *c, *d;
- switch_status_t status = SWITCH_STATUS_SUCCESS;
- if (!(a = strdup(tosay))) {
+ if (!(a = switch_core_session_strdup(session, tosay))) {
return SWITCH_STATUS_FALSE;
}
if (!(b = strchr(a, '.'))) {
- status = SWITCH_STATUS_FALSE;
- goto done;
+ return SWITCH_STATUS_FALSE;
}
*b++ = '\0';
if (!(c = strchr(b, '.'))) {
- status = SWITCH_STATUS_FALSE;
- goto done;
+ return SWITCH_STATUS_FALSE;
}
*c++ = '\0';
if (!(d = strchr(c, '.'))) {
- status = SWITCH_STATUS_FALSE;
- goto done;
+ return SWITCH_STATUS_FALSE;
}
*d++ = '\0';
@@ -259,9 +255,7 @@
say_file("digits/dot.wav");
say_num(atoi(d), method);
- done:
- switch_safe_free(a);
- return status;
+ return SWITCH_STATUS_SUCCESS;
}
Modified: freeswitch/trunk/src/mod/say/mod_say_it/mod_say_it.c
==============================================================================
--- freeswitch/trunk/src/mod/say/mod_say_it/mod_say_it.c (original)
+++ freeswitch/trunk/src/mod/say/mod_say_it/mod_say_it.c Mon Jul 28 12:13:52 2008
@@ -225,28 +225,24 @@
static switch_status_t it_ip(switch_core_session_t *session, char *tosay, switch_say_type_t type, switch_say_method_t method, switch_input_args_t *args)
{
char *a, *b, *c, *d;
- switch_status_t status = SWITCH_STATUS_SUCCESS;
- if (!(a = strdup(tosay))) {
+ if (!(a = switch_core_session_strdup(session, tosay))) {
return SWITCH_STATUS_FALSE;
}
if (!(b = strchr(a, '.'))) {
- status = SWITCH_STATUS_FALSE;
- goto done;
+ return SWITCH_STATUS_FALSE;
}
*b++ = '\0';
if (!(c = strchr(b, '.'))) {
- status = SWITCH_STATUS_FALSE;
- goto done;
+ return SWITCH_STATUS_FALSE;
}
*c++ = '\0';
if (!(d = strchr(c, '.'))) {
- status = SWITCH_STATUS_FALSE;
- goto done;
+ return SWITCH_STATUS_FALSE;
}
*d++ = '\0';
@@ -259,9 +255,7 @@
say_file("digits/dot.wav");
say_num(atoi(d), method);
- done:
- switch_safe_free(a);
- return status;
+ return SWITCH_STATUS_SUCCESS;
}
Modified: freeswitch/trunk/src/mod/say/mod_say_nl/mod_say_nl.c
==============================================================================
--- freeswitch/trunk/src/mod/say/mod_say_nl/mod_say_nl.c (original)
+++ freeswitch/trunk/src/mod/say/mod_say_nl/mod_say_nl.c Mon Jul 28 12:13:52 2008
@@ -225,28 +225,24 @@
static switch_status_t nl_ip(switch_core_session_t *session, char *tosay, switch_say_type_t type, switch_say_method_t method, switch_input_args_t *args)
{
char *a, *b, *c, *d;
- switch_status_t status = SWITCH_STATUS_SUCCESS;
- if (!(a = strdup(tosay))) {
+ if (!(a = switch_core_session_strdup(session, tosay))) {
return SWITCH_STATUS_FALSE;
}
if (!(b = strchr(a, '.'))) {
- status = SWITCH_STATUS_FALSE;
- goto done;
+ return SWITCH_STATUS_FALSE;
}
*b++ = '\0';
if (!(c = strchr(b, '.'))) {
- status = SWITCH_STATUS_FALSE;
- goto done;
+ return SWITCH_STATUS_FALSE;
}
*c++ = '\0';
if (!(d = strchr(c, '.'))) {
- status = SWITCH_STATUS_FALSE;
- goto done;
+ return SWITCH_STATUS_FALSE;
}
*d++ = '\0';
@@ -259,9 +255,7 @@
say_file("digits/dot.wav");
say_num(atoi(d), method);
- done:
- switch_safe_free(a);
- return status;
+ return SWITCH_STATUS_SUCCESS;
}
Modified: freeswitch/trunk/src/mod/say/mod_say_zh/mod_say_zh.2008.vcproj
==============================================================================
--- freeswitch/trunk/src/mod/say/mod_say_zh/mod_say_zh.2008.vcproj (original)
+++ freeswitch/trunk/src/mod/say/mod_say_zh/mod_say_zh.2008.vcproj Mon Jul 28 12:13:52 2008
@@ -3,7 +3,7 @@
ProjectType="Visual C++"
Version="9.00"
Name="mod_say_zh"
- ProjectGUID="{988CACF7-3FCB-4992-BE69-77872AE67DC8}"
+ ProjectGUID="{B6A9FB7A-1CC4-442B-812D-EC33E4E4A36E}"
RootNamespace="mod_say_zh"
Keyword="Win32Proj"
TargetFrameworkVersion="131072"
Modified: freeswitch/trunk/src/mod/say/mod_say_zh/mod_say_zh.c
==============================================================================
--- freeswitch/trunk/src/mod/say/mod_say_zh/mod_say_zh.c (original)
+++ freeswitch/trunk/src/mod/say/mod_say_zh/mod_say_zh.c Mon Jul 28 12:13:52 2008
@@ -290,51 +290,41 @@
}
-static switch_status_t zh_ip(switch_core_session_t *session, char *tosay, switch_say_type_t type, switch_say_method_t method, switch_input_args_t *args)
-{
- char *a;
- char *b;
- char *c;
- char *d;
-
- switch_status_t status = SWITCH_STATUS_SUCCESS;
- if (!(a = strdup(tosay))) {
- return SWITCH_STATUS_FALSE;
- }
-
- if (!(b = strchr(a, '.'))) {
- status = SWITCH_STATUS_FALSE;
- goto done;
- }
-
- *b++ = '\0';
-
- if (!(c = strchr(b, '.'))) {
- status = SWITCH_STATUS_FALSE;
- goto done;
- }
-
- *c++ = '\0';
-
- if (!(d = strchr(c, '.'))) {
- status = SWITCH_STATUS_FALSE;
- goto done;
- }
-
- *d++ = '\0';
-
- say_num(atoi(a), method);
- say_file("digits/dot.wav");
- say_num(atoi(b), method);
- say_file("digits/dot.wav");
- say_num(atoi(c), method);
- say_file("digits/dot.wav");
- say_num(atoi(d), method);
-
-done:
- switch_safe_free(a);
- return status;
-}
+static switch_status_t zh_ip(switch_core_session_t *session, char *tosay, switch_say_type_t type, switch_say_method_t method, switch_input_args_t *args)
+{
+ char *a, *b, *c, *d;
+ if (!(a = switch_core_session_strdup(session, tosay))) {
+ return SWITCH_STATUS_FALSE;
+ }
+
+ if (!(b = strchr(a, '.'))) {
+ return SWITCH_STATUS_FALSE;
+ }
+
+ *b++ = '\0';
+
+ if (!(c = strchr(b, '.'))) {
+ return SWITCH_STATUS_FALSE;
+ }
+
+ *c++ = '\0';
+
+ if (!(d = strchr(c, '.'))) {
+ return SWITCH_STATUS_FALSE;
+ }
+
+ *d++ = '\0';
+
+ say_num(atoi(a), method);
+ say_file("digits/dot.wav");
+ say_num(atoi(b), method);
+ say_file("digits/dot.wav");
+ say_num(atoi(c), method);
+ say_file("digits/dot.wav");
+ say_num(atoi(d), method);
+
+ return SWITCH_STATUS_SUCCESS;
+}
static switch_status_t zh_say_time(switch_core_session_t *session,
char *tosay,
1
0
28 Jul '08
Author: mikej
Date: Mon Jul 28 11:55:24 2008
New Revision: 9183
Modified:
freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c
Log:
handle invalid events
Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c Mon Jul 28 11:55:24 2008
@@ -1828,13 +1828,14 @@
char *body = switch_event_get_body(event);
char *p, *freeme = NULL;
- if ((p = strchr(to, '+')) && strncmp(to, CONF_CHAT_PROTO, strlen(CONF_CHAT_PROTO))) {
- freeme = switch_mprintf("%s+%s@%s", CONF_CHAT_PROTO, member->conference->name, member->conference->domain);
- to = freeme;
+ if (to && from && body) {
+ if ((p = strchr(to, '+')) && strncmp(to, CONF_CHAT_PROTO, strlen(CONF_CHAT_PROTO))) {
+ freeme = switch_mprintf("%s+%s@%s", CONF_CHAT_PROTO, member->conference->name, member->conference->domain);
+ to = freeme;
+ }
+ chat_send(proto, from, to, subject, body, hint);
+ switch_safe_free(freeme);
}
-
- chat_send(proto, from, to, subject, body, hint);
- switch_safe_free(freeme);
switch_event_destroy(&event);
}
1
0
Author: mikej
Date: Mon Jul 28 11:38:52 2008
New Revision: 9182
Modified:
freeswitch/trunk/src/switch_core_session.c
Log:
plug leak (FSCORE-164)
Modified: freeswitch/trunk/src/switch_core_session.c
==============================================================================
--- freeswitch/trunk/src/switch_core_session.c (original)
+++ freeswitch/trunk/src/switch_core_session.c Mon Jul 28 11:38:52 2008
@@ -1033,7 +1033,7 @@
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Application %s Requires media on channel %s!\n",
app, switch_channel_get_name(session->channel));
} else if (!switch_test_flag(application_interface, SAF_SUPPORT_NOMEDIA) && !switch_channel_media_ready(session->channel)) {
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Application %s Requires media! pre_answering channel %s\n",
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Application %s Requires media! pre_anyswering channel %s\n",
app, switch_channel_get_name(session->channel));
if (switch_channel_pre_answer(session->channel) != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Well, that didn't work very well did it? ...\n");
@@ -1048,7 +1048,11 @@
if (switch_channel_get_variable(session->channel, "presence_id")) {
char *myarg = NULL;
if (expanded) {
- switch_mprintf("%s(%s)", app, expanded);
+ myarg = switch_mprintf("%s(%s)", app, expanded);
+ } else if (!switch_strlen_zero(arg)) {
+ myarg = switch_mprintf("%s(%s)", app, arg);
+ } else {
+ myarg = switch_mprintf("%s", app);
}
if (myarg) {
switch_channel_presence(session->channel, "unknown", myarg);
1
0
Author: brian
Date: Mon Jul 28 08:52:59 2008
New Revision: 9181
Modified:
freeswitch/trunk/conf/dialplan/default.xml
Log:
fix FSCORE-165
Modified: freeswitch/trunk/conf/dialplan/default.xml
==============================================================================
--- freeswitch/trunk/conf/dialplan/default.xml (original)
+++ freeswitch/trunk/conf/dialplan/default.xml Mon Jul 28 08:52:59 2008
@@ -232,7 +232,7 @@
<!-- a sample IVR -->
<extension name="ivr_demo">
- <condition field="destination_number" expression="5000">
+ <condition field="destination_number" expression="^5000$">
<action application="answer"/>
<action application="sleep" data="2000"/>
<action application="ivr" data="demo_ivr"/>
1
0
26 Jul '08
Author: mikej
Date: Sat Jul 26 01:06:24 2008
New Revision: 9179
Modified:
freeswitch/trunk/src/mod/loggers/mod_syslog/mod_syslog.c
Log:
mod_syslog don't log blank lines (FSCORE-163)
Modified: freeswitch/trunk/src/mod/loggers/mod_syslog/mod_syslog.c
==============================================================================
--- freeswitch/trunk/src/mod/loggers/mod_syslog/mod_syslog.c (original)
+++ freeswitch/trunk/src/mod/loggers/mod_syslog/mod_syslog.c Sat Jul 26 01:06:24 2008
@@ -98,12 +98,11 @@
break;
}
- if (!switch_strlen_zero(node->data)) {
+ /* don't log blank lines */
+ if(!switch_strlen_zero(node->data) && (strspn(node->data, " \t\r\n") < strlen(node->data))) {
syslog(syslog_level, "%s", node->data);
}
-
-
return SWITCH_STATUS_SUCCESS;
}
1
0
[commit] r9178 - in freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl: . configuration sql
by Freeswitch SVN 25 Jul '08
by Freeswitch SVN 25 Jul '08
25 Jul '08
Author: intralanman
Date: Thu Jul 24 20:31:26 2008
New Revision: 9178
Added:
freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/acl.conf.php
Modified:
freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_configuration.php
freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/index.php
freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/mysql-5.0-with-samples.sql
Log:
added acl.conf
updated fs_configuration to allow fetching configs with no corresponding mod
updated index.php to return valid XML even when the XMLWriter class isn't available
added new tables to mysql schema
Added: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/acl.conf.php
==============================================================================
--- (empty file)
+++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/acl.conf.php Thu Jul 24 20:31:26 2008
@@ -0,0 +1,84 @@
+<?php
+/**
+ * @package FS_CURL
+ * @subpackage FS_CURL_Configuration
+ * acl.conf.php
+ */
+
+/**
+ * @package FS_CURL
+ * @subpackage FS_CURL_Configuration
+ * @license
+ * @author Raymond Chandler (intralanman) <intralanman(a)gmail.com>
+ * @version 0.1
+ * Class to write the XML for acl.conf
+ */
+class acl_conf extends fs_configuration {
+
+ public function acl_conf() {
+ $this -> fs_configuration();
+ }
+
+ public function main() {
+ $acl = $this -> get_acl();
+ $this -> write_acl($acl);
+ }
+
+ /**
+ * Write individual node elements with their attributes
+ *
+ * @param array $node_attributes
+ */
+ private function write_node($node_attributes) {
+ $this -> xmlw -> startElement('node');
+ $this -> xmlw -> writeAttribute('type', $node_attributes['type']);
+ $this -> xmlw -> writeAttribute('cidr', $node_attributes['cidr']);
+ $this -> xmlw -> endElement();
+ }
+
+ /**
+ * Fetch the ACL data from the database
+ *
+ * @return array $acl_data
+ */
+ private function get_acl() {
+ $query = sprintf(
+ 'SELECT * FROM acl_lists al JOIN acl_nodes an ON an.list_id=al.id;'
+ );
+ $acl_data = $this -> db -> queryAll($query, null, MDB2_FETCHMODE_ASSOC);
+ if (MDB2::isError($profiles)) {
+ $this -> comment($query);
+ $this -> comment($acl_data -> getMessage());
+ return array();
+ }
+ return $acl_data;
+ }
+
+ /**
+ * Write ACL data out
+ *
+ * @param array $acl
+ */
+ private function write_acl($acl) {
+ $this -> xmlw -> startElement('network-lists');
+ $node_count = count($acl);
+ for ($i=0; $i<$node_count; $i++) {
+ $last = $i - 1;
+ $next = $i + 1;
+ if ($last < 0 || $acl[$last]['acl_name'] != $acl[$i]['acl_name']) {
+ $this -> xmlw -> startElement('list');
+ $this -> xmlw -> writeAttribute('name', $acl[$i]['acl_name']);
+ $this -> xmlw -> writeAttribute(
+ 'default', $acl[$i]['default_policy']
+ );
+ }
+ $this -> write_node($acl[$i]);
+ if ((!array_key_exists($next, $acl))
+ || $acl[$next]['acl_name'] != $acl[$i]['acl_name']) {
+ $this -> xmlw -> endElement();
+ }
+ }
+ $this -> xmlw -> endElement();
+ }
+}
+?>
\ No newline at end of file
Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_configuration.php
==============================================================================
--- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_configuration.php (original)
+++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_configuration.php Thu Jul 24 20:31:26 2008
@@ -27,8 +27,9 @@
$this -> fs_curl();
$mod_name = sprintf('mod_%s', str_replace('.conf', '', $this -> request['key_value']));
$this -> comment("module name is $mod_name");
- if (!$this -> is_mod_enabled($mod_name)) {
- $this -> comment('module not enabled');
+ if (!($this -> is_mod_enabled($mod_name))
+ && !($this -> is_modless_conf($this -> request['key_value']))) {
+ $this -> comment('module not enabled and not modless config file');
$this -> file_not_found();
}
$this -> xmlw -> startElement('section');
@@ -47,9 +48,6 @@
* @return bool
*/
function is_mod_enabled($mod_name) {
- if ($mod_name == 'mod_post_load_modules') {
- return true;
- }
$query = sprintf('%s %s'
, "SELECT * FROM post_load_modules_conf"
, "WHERE module_name='$mod_name' AND load_module=1"
@@ -60,13 +58,35 @@
$this -> comment($res -> getMessage());
return true; //default allow policy
return false; //comment previous line to default deny
- $this -> file_not_found();
} elseif ($res -> numRows() == 1) {
return true;
} else {
return false;
}
}
+
+ /**
+ * Allow config files that aren't tied to any module
+ *
+ * @param string $conf
+ * @return bool
+ */
+ private function is_modless_conf($conf) {
+ $this -> comment("conf is $conf");
+ $query = sprintf(
+ "SELECT COUNT(*) cnt FROM modless_conf WHERE conf_name = '$conf';"
+ );
+ $res = $this -> db -> query($query);
+ if (MDB2::isError($res)) {
+ $this -> comment($query);
+ $this -> comment($res -> getMessage());
+ return true; //default allow policy
+ return false; //comment previous line to default deny
+ }
+ $row = $res -> fetchRow();
+ //$this -> comment($row['cnt']);
+ return $row['cnt'];
+ }
}
?>
\ No newline at end of file
Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/index.php
==============================================================================
--- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/index.php (original)
+++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/index.php Thu Jul 24 20:31:26 2008
@@ -16,7 +16,7 @@
*/
function file_not_found($no=false, $str=false, $file=false, $line=false) {
if ($no == E_STRICT) {
- return;
+ return;
}
header('Content-Type: text/xml');
$xmlw = new XMLWriter();
@@ -43,9 +43,17 @@
error_reporting(E_ALL);
set_error_handler('file_not_found');
+if (!class_exists('XMLWriter')) {
+ trigger_error(
+ "XMLWriter Class NOT Found... You Must install it before using this package"
+ , E_USER_ERROR
+ );
+}
if (!(@include_once('fs_curl.php'))
|| !(@include_once('global_defines.php'))) {
- trigger_error('could not include fs_curl.php or global_defines.php');
+ trigger_error(
+ 'could not include fs_curl.php or global_defines.php', E_USER_ERROR
+ );
}
if (!is_array($_REQUEST)) {
trigger_error('$_REQUEST is not an array');
@@ -67,8 +75,7 @@
$processor = sprintf('configuration/%s.php', $config);
$class = str_replace('.', '_', $config);
if (!(@include_once($processor))) {
- file_not_found();
- exit();
+ trigger_error("unable to include $processor");
}
$conf = new $class;
$conf -> comment("class name is $class");
Modified: freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/mysql-5.0-with-samples.sql
==============================================================================
--- freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/mysql-5.0-with-samples.sql (original)
+++ freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/mysql-5.0-with-samples.sql Thu Jul 24 20:31:26 2008
@@ -1,1079 +1,961 @@
--- MySQL dump 10.11
---
--- Host: localhost Database: freeswitch
--- ------------------------------------------------------
--- Server version 5.0.32-Debian_7etch5-log
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-
---
--- Table structure for table `carrier_gateway`
---
-
-DROP TABLE IF EXISTS `carrier_gateway`;
-CREATE TABLE `carrier_gateway` (
- `id` int(11) NOT NULL auto_increment,
- `carrier_id` int(11) default NULL,
- `gateway` varchar(32) default NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `gateway` (`gateway`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `carrier_gateway`
---
-
-LOCK TABLES `carrier_gateway` WRITE;
-/*!40000 ALTER TABLE `carrier_gateway` DISABLE KEYS */;
-INSERT INTO `carrier_gateway` VALUES (1,1,'GX1783b'),(2,2,'L3285032k1'),(3,1,'GX2946h'),(4,2,'L3973865l2');
-/*!40000 ALTER TABLE `carrier_gateway` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `carriers`
---
-
-DROP TABLE IF EXISTS `carriers`;
-CREATE TABLE `carriers` (
- `id` int(11) NOT NULL auto_increment,
- `Carrier_Name` varchar(255) default NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `carriers`
---
-
-LOCK TABLES `carriers` WRITE;
-/*!40000 ALTER TABLE `carriers` DISABLE KEYS */;
-INSERT INTO `carriers` VALUES (1,'Global Crossing'),(2,'Level 3 Communications');
-/*!40000 ALTER TABLE `carriers` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `conference_advertise`
---
-
-DROP TABLE IF EXISTS `conference_advertise`;
-CREATE TABLE `conference_advertise` (
- `id` int(10) unsigned NOT NULL auto_increment,
- `room` varchar(64) NOT NULL,
- `status` varchar(128) NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `unique_room` (`room`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `conference_advertise`
---
-
-LOCK TABLES `conference_advertise` WRITE;
-/*!40000 ALTER TABLE `conference_advertise` DISABLE KEYS */;
-INSERT INTO `conference_advertise` VALUES (1,'3000@$${domain}','Freeswitch Conference'),(2,'3001@$${domain}','FreeSWITCH Conference 2'),(3,'3002@$${domain}','FreeSWITCH Conference 3');
-/*!40000 ALTER TABLE `conference_advertise` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `conference_controls`
---
-
-DROP TABLE IF EXISTS `conference_controls`;
-CREATE TABLE `conference_controls` (
- `id` int(10) unsigned NOT NULL auto_increment,
- `conf_group` varchar(64) NOT NULL,
- `action` varchar(64) NOT NULL,
- `digits` varchar(16) NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `unique_group_action` USING BTREE (`conf_group`,`action`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `conference_controls`
---
-
-LOCK TABLES `conference_controls` WRITE;
-/*!40000 ALTER TABLE `conference_controls` DISABLE KEYS */;
-INSERT INTO `conference_controls` VALUES (1,'default','mute','0'),(2,'default','deaf_mute','*'),(3,'default','energy up','9'),(4,'default','energy equ','8'),(5,'default','energy dn','7'),(6,'default','vol talk up','3'),(7,'default','vol talk dn','1'),(8,'default','vol talk zero','2'),(9,'default','vol listen up','6'),(10,'default','vol listen dn','4'),(11,'default','vol listen zero','5'),(12,'default','hangup','#');
-/*!40000 ALTER TABLE `conference_controls` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `conference_profiles`
---
-
-DROP TABLE IF EXISTS `conference_profiles`;
-CREATE TABLE `conference_profiles` (
- `id` int(10) unsigned NOT NULL auto_increment,
- `profile_name` varchar(64) NOT NULL,
- `param_name` varchar(64) NOT NULL,
- `param_value` varchar(64) NOT NULL,
- PRIMARY KEY (`id`),
- KEY `unique_profile_param` (`profile_name`,`param_name`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `conference_profiles`
---
-
-LOCK TABLES `conference_profiles` WRITE;
-/*!40000 ALTER TABLE `conference_profiles` DISABLE KEYS */;
-INSERT INTO `conference_profiles` VALUES (1,'default','domain','$${domain}'),(2,'default','rate','8000'),(3,'default','interval','20'),(4,'default','energy-level','300'),(5,'default','moh-sound','$${moh_uri}'),(6,'default','caller-id-name','$${outbound_caller_name}'),(7,'default','caller-id-number','$${outbound_caller_number}');
-/*!40000 ALTER TABLE `conference_profiles` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `db_data`
---
-
-DROP TABLE IF EXISTS `db_data`;
-CREATE TABLE `db_data` (
- `hostname` varchar(255) default NULL,
- `realm` varchar(255) default NULL,
- `data_key` varchar(255) default NULL,
- `data` varchar(255) default NULL
-) ENGINE=InnoDB;
-
---
--- Dumping data for table `db_data`
---
-
-LOCK TABLES `db_data` WRITE;
-/*!40000 ALTER TABLE `db_data` DISABLE KEYS */;
-/*!40000 ALTER TABLE `db_data` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `dialplan`
---
-
-DROP TABLE IF EXISTS `dialplan`;
-CREATE TABLE `dialplan` (
- `id` int(11) NOT NULL auto_increment,
- `context` varchar(64) NOT NULL,
- `extension` varchar(64) NOT NULL,
- `condition_field` varchar(64) NOT NULL,
- `condition_expression` varchar(64) NOT NULL,
- `application_name` varchar(64) NOT NULL,
- `application_data` text,
- `weight` int(11) NOT NULL,
- `type` varchar(16) NOT NULL default 'action',
- `ext_continue` smallint(1) NOT NULL default '0',
- `global_weight` int(11) NOT NULL default '10000',
- `cond_break` varchar(8) default NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
---
--- Dumping data for table `dialplan`
---
-
-LOCK TABLES `dialplan` WRITE;
-/*!40000 ALTER TABLE `dialplan` DISABLE KEYS */;
-INSERT INTO `dialplan` VALUES (113,'public','public_extensions','destination_number','^(10[01][0-9])$','transfer','$1 XML default',1,'action',0,200,''),(114,'public','public_did','destination_number','^(5551212)$','transfer','$1 XML default',1,'action',0,300,''),(271,'US-Numbering-Plan','US_International','destination_number','^011(\\d+)$','set','continue_on_fail=true',1,'action',0,200,''),(272,'US-Numbering-Plan','US_International','destination_number','^011(\\d+)$','set','hangup_after_bridge=true',2,'action',0,200,''),(273,'US-Numbering-Plan','US_International','destination_number','^011(\\d+)$','enum','1$1',3,'action',0,200,''),(274,'US-Numbering-Plan','US_International','destination_number','^011(\\d+)$','bridge','${enum_auto_route}',4,'action',0,200,''),(275,'US-Numbering-Plan','US_International','destination_number','^011(\\d+)$','bridge','sofia/gateway/${default_gateway}/011$1',5,'action',0,200,''),(276,'US-Numbering-Plan','US_LD','destination_number','^1?([2-9]\\d{2}[2-9]\\d{6})$','set','continue_on_fail=true',1,'action',0,300,''),(277,'US-Numbering-Plan','US_LD','destination_number','^1?([2-9]\\d{2}[2-9]\\d{6})$','set','hangup_after_bridge=true',2,'action',0,300,''),(278,'US-Numbering-Plan','US_LD','destination_number','^1?([2-9]\\d{2}[2-9]\\d{6})$','enum','1$1',3,'action',0,300,''),(279,'US-Numbering-Plan','US_LD','destination_number','^1?([2-9]\\d{2}[2-9]\\d{6})$','bridge','${enum_auto_route}',4,'action',0,300,''),(280,'US-Numbering-Plan','US_LD','destination_number','^1?([2-9]\\d{2}[2-9]\\d{6})$','bridge','sofia/gateway/${default_gateway}/1$1',5,'action',0,300,''),(281,'US-Numbering-Plan','US_Local','${default_area_code}','\\d{3}','say','you must dial the area code to call this destination',1,'anti-action',0,400,'on-true'),(282,'US-Numbering-Plan','US_Local','destination_number','^([2-9]\\d{6})$','set','continue_on_fail=true',1,'action',0,400,''),(283,'US-Numbering-Plan','US_Local','destination_number','^([2-9]\\d{6})$','set','hangup_after_bridge=true',2,'action',0,400,''),(284,'US-Numbering-Plan','US_Local','destination_number','^([2-9]\\d{6})$','enum','1$1',3,'action',0,400,''),(285,'US-Numbering-Plan','US_Local','destination_number','^([2-9]\\d{6})$','bridge','${enum_auto_route}',4,'action',0,400,''),(286,'US-Numbering-Plan','US_Local','destination_number','^([2-9]\\d{6})$','bridge','sofia/gateway/${default_gateway}/1${default_area_code}$1',5,'action',0,400,''),(287,'US-Numbering-Plan','FCC_Services','^([4689]11)$','','bridge','sofia/gateway/${default_gateway}/$1',1,'action',0,500,''),(333,'default','intercept','destination_number','^886$','answer','',1,'action',0,200,''),(334,'default','intercept','destination_number','^886$','intercept','${db(select/last_dial/global)}',2,'action',0,200,''),(335,'default','intercept','destination_number','^886$','sleep','2000',3,'action',0,200,''),(336,'default','intercept-ext','destination_number','^\\*\\*(\\d+)$','answer','',1,'action',0,300,''),(337,'default','intercept-ext','destination_number','^\\*\\*(\\d+)$','intercept','${db(select/last_dial_ext/$1)}',2,'action',0,300,''),(338,'default','intercept-ext','destination_number','^\\*\\*(\\d+)$','sleep','2000',3,'action',0,300,''),(339,'default','redial','destination_number','^870$','transfer','${db(select/last_dial/${caller_id_number})}',1,'action',0,400,''),(340,'default','global','${network_addr}','','set','use_profile=${cond(${is_lan_addr($${local_ip_v4})} == yes ? nat : default)}',1,'action',1,500,''),(341,'default','global','${network_addr}','','set','use_profile=${cond(${is_lan_addr(${network_addr})} == yes ? nat : default)}',2,'anti-action',1,500,''),(342,'default','global','${numbering_plan}','','set_user','default@${domain}',1,'action',1,500,''),(343,'default','global','','','info','',1,'action',1,500,''),(344,'default','global','','','db','insert/spymap/${caller_id_number}/${uuid}',2,'action',1,500,''),(345,'default','global','','','db','insert/last_dial/${caller_id_number}/${destination_number}',3,'action',1,500,''),(346,'default','global','','','db','insert/last_dial/global/${uuid}',4,'action',1,500,''),(347,'default','eavesdrop','destination_number','^88(.*)$|^\\*0(.*)$','answer','',1,'action',0,600,''),(348,'default','eavesdrop','destination_number','^88(.*)$|^\\*0(.*)$','eavesdrop','${db(select/spymap/$1)}',2,'action',0,600,''),(349,'default','call_return','destination_number','^\\*69$|^869$','transfer','${db(select/call_return/${caller_id_number})}',1,'action',0,700,''),(350,'default','del-group','destination_number','^80(\\d{2})$','answer','',1,'action',0,800,''),(351,'default','del-group','destination_number','^80(\\d{2})$','group','delete:$1:${sofia_contact(${sip_from_user}@${domain})}',2,'action',0,800,''),(352,'default','del-group','destination_number','^80(\\d{2})$','gentones','%(1000, 0, 320)',3,'action',0,800,''),(353,'default','add-group','destination_number','^81(\\d{2})$','answer','',1,'action',0,900,''),(354,'default','add-group','destination_number','^81(\\d{2})$','group','insert:$1:${sofia_contact(${sip_from_user}@${domain})}',2,'action',0,900,''),(355,'default','add-group','destination_number','^81(\\d{2})$','gentones','%(1000, 0, 640)',3,'action',0,900,''),(356,'default','call-group-simo','destination_number','^82(\\d{2})$','bridge','${group(call:$1)}',1,'action',0,1000,''),(357,'default','call-group-order','destination_number','^83(\\d{2})$','set','call_timeout=10',1,'action',0,1100,''),(358,'default','call-group-order','destination_number','^83(\\d{2})$','bridge','${group(call:$1:order)}',2,'action',0,1100,''),(359,'default','Local_Extension','destination_number','^(10[01][0-9])$','set','dialed_ext=$1',1,'action',0,1200,'on-true'),(360,'default','Local_Extension','destination_number','^${caller_id_number}$','set','voicemail_authorized=${sip_authorized}',1,'action',0,1200,''),(361,'default','Local_Extension','destination_number','^${caller_id_number}$','answer','',2,'action',0,1200,''),(362,'default','Local_Extension','destination_number','^${caller_id_number}$','sleep','1000',3,'action',0,1200,''),(363,'default','Local_Extension','destination_number','^${caller_id_number}$','voicemail','check default $${domain} ${dialed_ext}',4,'action',0,1200,''),(364,'default','Local_Extension','destination_number','^${caller_id_number}$','ring_ready','',5,'anti-action',0,1200,''),(365,'default','Local_Extension','destination_number','^${caller_id_number}$','set','call_timeout=130',6,'anti-action',0,1200,''),(366,'default','Local_Extension','destination_number','^${caller_id_number}$','set','hangup_after_bridge=true',7,'anti-action',0,1200,''),(367,'default','Local_Extension','destination_number','^${caller_id_number}$','set','left_hanging_extension=5900',8,'anti-action',0,1200,''),(368,'default','Local_Extension','destination_number','^${caller_id_number}$','set','continue_on_fail=true',9,'anti-action',0,1200,''),(369,'default','Local_Extension','destination_number','^${caller_id_number}$','db','insert/call_return/${dialed_ext}/${caller_id_number}',10,'anti-action',0,1200,''),(370,'default','Local_Extension','destination_number','^${caller_id_number}$','db','insert/last_dial_ext/${dialed_ext}/${uuid}',11,'anti-action',0,1200,''),(371,'default','Local_Extension','destination_number','^${caller_id_number}$','bridge','{left_hanging_extension=5900,transfer_fallback_extension=${dialed_ext}}USER/${dialed_ext}@$${domain}',12,'anti-action',0,1200,''),(372,'default','Local_Extension','destination_number','^${caller_id_number}$','answer','',13,'anti-action',0,1200,''),(373,'default','Local_Extension','destination_number','^${caller_id_number}$','sleep','1000',14,'anti-action',0,1200,''),(374,'default','Local_Extension','destination_number','^${caller_id_number}$','voicemail','default $${domain} ${dialed_ext}',15,'anti-action',0,1200,''),(375,'default','sip_uri','destination_number','^sip:(.*)$','bridge','sofia/${use_profile}/$1',1,'action',0,1300,''),(376,'default','conferences','destination_number','^(3\\d{3})$','conference','$1@default',1,'action',0,1400,''),(377,'default','freeswitch_public_conf_via_sip','destination_number','^9(888|1616)$','bridge','sofia/${use_profile}/$1(a)conference.freeswitch.org',1,'action',0,1500,''),(378,'default','ivr_demo','destination_number','5000','ivr','demo',1,'action',0,1600,''),(379,'default','park','destination_number','^(590[0-9])$','fifo','$1@$${domain} in undef $${moh_uri}',1,'action',0,1700,''),(380,'default','unpark','destination_number','^\\*{0,2}park\\+(590[0-9])$','answer','',1,'action',0,1800,''),(381,'default','unpark','destination_number','^\\*{0,2}park\\+(590[0-9])$','fifo','$1@$${domain} out nowait',2,'action',0,1800,''),(382,'default','hold_music','destination_number','^9999$','answer','',1,'action',0,1900,''),(383,'default','hold_music','destination_number','^9999$','playback','$${moh_uri}',2,'action',0,1900,''),(384,'default','enum','destination_number','^(.*)$','transfer','$1 enum',1,'action',0,2000,'');
-/*!40000 ALTER TABLE `dialplan` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `dialplan_special`
---
-
-DROP TABLE IF EXISTS `dialplan_special`;
-CREATE TABLE `dialplan_special` (
- `id` int(11) NOT NULL auto_increment,
- `context` varchar(255) NOT NULL,
- `class_file` varchar(255) NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `unique_context` (`context`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `dialplan_special`
---
-
-LOCK TABLES `dialplan_special` WRITE;
-/*!40000 ALTER TABLE `dialplan_special` DISABLE KEYS */;
-INSERT INTO `dialplan_special` VALUES (1,'lcr','dialplans/lcr.php'),(2,'lcr2','some/php/file.php');
-/*!40000 ALTER TABLE `dialplan_special` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `dingaling_profile_params`
---
-
-DROP TABLE IF EXISTS `dingaling_profile_params`;
-CREATE TABLE `dingaling_profile_params` (
- `id` int(10) unsigned NOT NULL auto_increment,
- `dingaling_id` int(10) unsigned NOT NULL,
- `param_name` varchar(64) NOT NULL,
- `param_value` varchar(64) NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `unique_type_name` (`dingaling_id`,`param_name`),
- CONSTRAINT `dingaling_profile` FOREIGN KEY (`dingaling_id`) REFERENCES `dingaling_profiles` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `dingaling_profile_params`
---
-
-LOCK TABLES `dingaling_profile_params` WRITE;
-/*!40000 ALTER TABLE `dingaling_profile_params` DISABLE KEYS */;
-INSERT INTO `dingaling_profile_params` VALUES (1,1,'password','secret'),(2,1,'dialplan','XML,enum'),(3,1,'server','example.org'),(4,1,'name','fs.example.org');
-/*!40000 ALTER TABLE `dingaling_profile_params` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `dingaling_profiles`
---
-
-DROP TABLE IF EXISTS `dingaling_profiles`;
-CREATE TABLE `dingaling_profiles` (
- `id` int(10) unsigned NOT NULL auto_increment,
- `profile_name` varchar(64) NOT NULL,
- `type` varchar(64) NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `unique_name` (`profile_name`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `dingaling_profiles`
---
-
-LOCK TABLES `dingaling_profiles` WRITE;
-/*!40000 ALTER TABLE `dingaling_profiles` DISABLE KEYS */;
-INSERT INTO `dingaling_profiles` VALUES (1,'fs.intralanman.servehttp.com','component');
-/*!40000 ALTER TABLE `dingaling_profiles` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `dingaling_settings`
---
-
-DROP TABLE IF EXISTS `dingaling_settings`;
-CREATE TABLE `dingaling_settings` (
- `id` int(10) unsigned NOT NULL auto_increment,
- `param_name` varchar(64) NOT NULL,
- `param_value` varchar(64) NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `unique_param` (`param_name`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `dingaling_settings`
---
-
-LOCK TABLES `dingaling_settings` WRITE;
-/*!40000 ALTER TABLE `dingaling_settings` DISABLE KEYS */;
-INSERT INTO `dingaling_settings` VALUES (1,'debug','0'),(2,'codec-prefs','$${global_codec_prefs}');
-/*!40000 ALTER TABLE `dingaling_settings` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `directory`
---
-
-DROP TABLE IF EXISTS `directory`;
-CREATE TABLE `directory` (
- `id` int(11) NOT NULL auto_increment,
- `username` varchar(255) NOT NULL,
- `mailbox` varchar(255) NOT NULL,
- `domain` varchar(255) NOT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
---
--- Dumping data for table `directory`
---
-
-LOCK TABLES `directory` WRITE;
-/*!40000 ALTER TABLE `directory` DISABLE KEYS */;
-INSERT INTO `directory` VALUES (1,'1000','','example.com'),(2,'1001','','example.org'),(3,'1002','','example.net'),(5,'1003','','example.info'),(6,'1004','','example.com'),(7,'1005','','example.org'),(8,'1006','','example.net'),(9,'1007','','example.info'),(10,'1008','','$${domain}'),(11,'1009','','$${local_ip_v4}'),(12,'tester','1000','$${domain}');
-/*!40000 ALTER TABLE `directory` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `directory_domains`
---
-
-DROP TABLE IF EXISTS `directory_domains`;
-CREATE TABLE `directory_domains` (
- `id` int(10) unsigned NOT NULL auto_increment,
- `domain_name` varchar(128) NOT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `directory_domains`
---
-
-LOCK TABLES `directory_domains` WRITE;
-/*!40000 ALTER TABLE `directory_domains` DISABLE KEYS */;
-INSERT INTO `directory_domains` VALUES (1,'freeswitch.org'),(2,'sofaswitch.org');
-/*!40000 ALTER TABLE `directory_domains` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `directory_gateway_params`
---
-
-DROP TABLE IF EXISTS `directory_gateway_params`;
-CREATE TABLE `directory_gateway_params` (
- `id` int(10) unsigned NOT NULL auto_increment,
- `d_gw_id` int(10) unsigned NOT NULL,
- `param_name` varchar(64) NOT NULL,
- `param_value` varchar(64) NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `unique_gw_param` (`d_gw_id`,`param_name`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `directory_gateway_params`
---
-
-LOCK TABLES `directory_gateway_params` WRITE;
-/*!40000 ALTER TABLE `directory_gateway_params` DISABLE KEYS */;
-/*!40000 ALTER TABLE `directory_gateway_params` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `directory_gateways`
---
-
-DROP TABLE IF EXISTS `directory_gateways`;
-CREATE TABLE `directory_gateways` (
- `id` int(10) unsigned NOT NULL auto_increment,
- `directory_id` int(10) unsigned NOT NULL,
- `gateway_name` varchar(128) NOT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `directory_gateways`
---
-
-LOCK TABLES `directory_gateways` WRITE;
-/*!40000 ALTER TABLE `directory_gateways` DISABLE KEYS */;
-/*!40000 ALTER TABLE `directory_gateways` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `directory_global_params`
---
-
-DROP TABLE IF EXISTS `directory_global_params`;
-CREATE TABLE `directory_global_params` (
- `id` int(10) unsigned NOT NULL auto_increment,
- `param_name` varchar(64) NOT NULL,
- `param_value` varchar(128) NOT NULL,
- `domain_id` int(10) unsigned NOT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `directory_global_params`
---
-
-LOCK TABLES `directory_global_params` WRITE;
-/*!40000 ALTER TABLE `directory_global_params` DISABLE KEYS */;
-INSERT INTO `directory_global_params` VALUES (1,'default_gateway','errors',1);
-/*!40000 ALTER TABLE `directory_global_params` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `directory_global_vars`
---
-
-DROP TABLE IF EXISTS `directory_global_vars`;
-CREATE TABLE `directory_global_vars` (
- `id` int(10) unsigned NOT NULL auto_increment,
- `var_name` varchar(64) NOT NULL,
- `var_value` varchar(128) NOT NULL,
- `domain_id` int(10) unsigned NOT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `directory_global_vars`
---
-
-LOCK TABLES `directory_global_vars` WRITE;
-/*!40000 ALTER TABLE `directory_global_vars` DISABLE KEYS */;
-/*!40000 ALTER TABLE `directory_global_vars` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `directory_params`
---
-
-DROP TABLE IF EXISTS `directory_params`;
-CREATE TABLE `directory_params` (
- `id` int(11) NOT NULL auto_increment,
- `directory_id` int(11) default NULL,
- `param_name` varchar(255) default NULL,
- `param_value` varchar(255) default NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
---
--- Dumping data for table `directory_params`
---
-
-LOCK TABLES `directory_params` WRITE;
-/*!40000 ALTER TABLE `directory_params` DISABLE KEYS */;
-INSERT INTO `directory_params` VALUES (1,1,'password','1234'),(2,1,'vm-password','861000'),(3,2,'password','1234'),(4,2,'vm-password','861001'),(7,5,'password','1234'),(8,6,'password','1234'),(9,7,'password','1234'),(10,8,'password','1234'),(11,9,'password','1234'),(12,10,'password','1234'),(13,11,'password','1234'),(14,3,'vm-password','861002'),(15,3,'password','1234'),(16,11,'vm-password','861009'),(17,10,'vm-password','861008'),(18,9,'vm-password','861007'),(19,8,'vm-password','861006'),(20,7,'vm-password','861005'),(21,6,'vm-password','861004'),(22,5,'vm-password','861003');
-/*!40000 ALTER TABLE `directory_params` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `directory_vars`
---
-
-DROP TABLE IF EXISTS `directory_vars`;
-CREATE TABLE `directory_vars` (
- `id` int(11) NOT NULL auto_increment,
- `directory_id` int(11) default NULL,
- `var_name` varchar(255) default NULL,
- `var_value` varchar(255) default NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
---
--- Dumping data for table `directory_vars`
---
-
-LOCK TABLES `directory_vars` WRITE;
-/*!40000 ALTER TABLE `directory_vars` DISABLE KEYS */;
-INSERT INTO `directory_vars` VALUES (1,1,'numbering_plan','US'),(2,2,'numbering_plan','US'),(3,3,'numbering_plan','AU'),(4,5,'numbering_plan','US'),(5,5,'area_code','434');
-/*!40000 ALTER TABLE `directory_vars` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `group_data`
---
-
-DROP TABLE IF EXISTS `group_data`;
-CREATE TABLE `group_data` (
- `hostname` varchar(255) default NULL,
- `groupname` varchar(255) default NULL,
- `url` varchar(255) default NULL
-) ENGINE=InnoDB;
-
---
--- Dumping data for table `group_data`
---
-
-LOCK TABLES `group_data` WRITE;
-/*!40000 ALTER TABLE `group_data` DISABLE KEYS */;
-/*!40000 ALTER TABLE `group_data` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `iax_conf`
---
-
-DROP TABLE IF EXISTS `iax_conf`;
-CREATE TABLE `iax_conf` (
- `id` int(11) NOT NULL auto_increment,
- `profile_name` varchar(255) default NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `iax_conf`
---
-
-LOCK TABLES `iax_conf` WRITE;
-/*!40000 ALTER TABLE `iax_conf` DISABLE KEYS */;
-INSERT INTO `iax_conf` VALUES (3,'test_profile');
-/*!40000 ALTER TABLE `iax_conf` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `iax_settings`
---
-
-DROP TABLE IF EXISTS `iax_settings`;
-CREATE TABLE `iax_settings` (
- `id` int(11) NOT NULL auto_increment,
- `iax_id` int(11) default NULL,
- `param_name` varchar(255) default NULL,
- `param_value` varchar(255) default NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `iax_settings`
---
-
-LOCK TABLES `iax_settings` WRITE;
-/*!40000 ALTER TABLE `iax_settings` DISABLE KEYS */;
-INSERT INTO `iax_settings` VALUES (35,3,'debug','1'),(36,3,'ip','$${local_ip_v4}'),(37,3,'port','4569'),(38,3,'context','public'),(39,3,'dialplan','enum,XML'),(40,3,'codec-prefs','$${global_codec_prefs}'),(41,3,'codec-master','us'),(42,3,'codec-rate','8');
-/*!40000 ALTER TABLE `iax_settings` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `ivr_conf`
---
-
-DROP TABLE IF EXISTS `ivr_conf`;
-CREATE TABLE `ivr_conf` (
- `id` int(10) unsigned NOT NULL auto_increment,
- `name` varchar(64) NOT NULL,
- `greet_long` varchar(255) NOT NULL,
- `greet_short` varchar(255) NOT NULL,
- `invalid_sound` varchar(255) NOT NULL,
- `exit_sound` varchar(255) NOT NULL,
- `max_failures` int(10) unsigned NOT NULL default '3',
- `timeout` int(11) NOT NULL default '5',
- `tts_engine` varchar(64) default NULL,
- `tts_voice` varchar(64) default NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `unique_name` (`name`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `ivr_conf`
---
-
-LOCK TABLES `ivr_conf` WRITE;
-/*!40000 ALTER TABLE `ivr_conf` DISABLE KEYS */;
-INSERT INTO `ivr_conf` VALUES (1,'demo','soundfiles/ivr/demo/greet-long.wav','soundfiles/ivr/demo/greet-short.wav','soundfiles/ivr/invalid.wav','soundfiles/ivr/exit.wav',3,5,'cepstral','allison'),(2,'demo2','soundfiles/ivr/demo2/greet-long.wav','soundfiles/ivr/demo2/greet-short.wav','soundfiles/ivr/invalid.wav','soundfiles/ivr/exit.wav',3,5,NULL,NULL),(3,'menu8','soundfiles/ivr/menu8/greet-long.wav','soundfiles/ivr/menu8/greet-short.wav','soundfiles/ivr/menu8/invalid.wav','soundfiles/ivr/menu8/exit.wav',3,5,NULL,NULL);
-/*!40000 ALTER TABLE `ivr_conf` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `ivr_entries`
---
-
-DROP TABLE IF EXISTS `ivr_entries`;
-CREATE TABLE `ivr_entries` (
- `id` int(10) unsigned NOT NULL auto_increment,
- `ivr_id` int(10) unsigned NOT NULL,
- `action` varchar(64) NOT NULL,
- `digits` varchar(16) NOT NULL,
- `params` varchar(255) default NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `unique_ivr_digits` USING BTREE (`ivr_id`,`digits`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `ivr_entries`
---
-
-LOCK TABLES `ivr_entries` WRITE;
-/*!40000 ALTER TABLE `ivr_entries` DISABLE KEYS */;
-INSERT INTO `ivr_entries` VALUES (1,1,'menu-play-sound','1','soundfiles/features.wav'),(2,1,'menu-exit','*',NULL),(3,1,'menu-sub','2','demo2'),(4,1,'menu-exec-api','3','bridge sofia/$${domain}/888(a)conference.freeswtich.org'),(5,1,'menu-call-transfer','4','888'),(6,2,'menu-back','#',NULL),(7,2,'menu-top','*',NULL),(8,3,'menu-back','#',NULL),(9,3,'menu-top','*',NULL),(10,3,'menu-playsound','4','soundfiles/4.wav');
-/*!40000 ALTER TABLE `ivr_entries` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `jabber_subscriptions`
---
-
-DROP TABLE IF EXISTS `jabber_subscriptions`;
-CREATE TABLE `jabber_subscriptions` (
- `sub_from` varchar(255) default NULL,
- `sub_to` varchar(255) default NULL,
- `show_pres` varchar(255) default NULL,
- `status` varchar(255) default NULL
-) ENGINE=InnoDB;
-
---
--- Dumping data for table `jabber_subscriptions`
---
-
-LOCK TABLES `jabber_subscriptions` WRITE;
-/*!40000 ALTER TABLE `jabber_subscriptions` DISABLE KEYS */;
-/*!40000 ALTER TABLE `jabber_subscriptions` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `lcr`
---
-
-DROP TABLE IF EXISTS `lcr`;
-CREATE TABLE `lcr` (
- `id` int(11) NOT NULL auto_increment,
- `digits` varchar(15) default NULL,
- `rate` int(11) NOT NULL,
- `carrier_id` int(11) NOT NULL,
- `lead_strip` int(11) NOT NULL,
- `trail_strip` int(11) NOT NULL,
- `prefix` varchar(16) NOT NULL,
- `suffix` varchar(16) NOT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB;
-
---
--- Dumping data for table `lcr`
---
-
-LOCK TABLES `lcr` WRITE;
-/*!40000 ALTER TABLE `lcr` DISABLE KEYS */;
-INSERT INTO `lcr` VALUES (1,'1407',23,2,0,0,'',''),(2,'1407',29,1,0,0,'',''),(3,'1407282',28,2,0,0,'',''),(4,'1434',29,1,0,0,'',''),(5,'1434315',21,1,0,0,'','');
-/*!40000 ALTER TABLE `lcr` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `limit_conf`
---
-
-DROP TABLE IF EXISTS `limit_conf`;
-CREATE TABLE `limit_conf` (
- `id` int(11) NOT NULL auto_increment,
- `name` varchar(255) default NULL,
- `value` varchar(255) default NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
---
--- Dumping data for table `limit_conf`
---
-
-LOCK TABLES `limit_conf` WRITE;
-/*!40000 ALTER TABLE `limit_conf` DISABLE KEYS */;
-/*!40000 ALTER TABLE `limit_conf` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `limit_data`
---
-
-DROP TABLE IF EXISTS `limit_data`;
-CREATE TABLE `limit_data` (
- `hostname` varchar(255) default NULL,
- `realm` varchar(255) default NULL,
- `id` varchar(255) default NULL,
- `uuid` varchar(255) default NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
---
--- Dumping data for table `limit_data`
---
-
-LOCK TABLES `limit_data` WRITE;
-/*!40000 ALTER TABLE `limit_data` DISABLE KEYS */;
-/*!40000 ALTER TABLE `limit_data` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `local_stream_conf`
---
-
-DROP TABLE IF EXISTS `local_stream_conf`;
-CREATE TABLE `local_stream_conf` (
- `id` int(11) NOT NULL auto_increment,
- `directory_name` varchar(255) default NULL,
- `directory_path` text,
- `param_name` varchar(255) default NULL,
- `param_value` varchar(255) default NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
---
--- Dumping data for table `local_stream_conf`
---
-
-LOCK TABLES `local_stream_conf` WRITE;
-/*!40000 ALTER TABLE `local_stream_conf` DISABLE KEYS */;
-/*!40000 ALTER TABLE `local_stream_conf` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `post_load_modules_conf`
---
-
-DROP TABLE IF EXISTS `post_load_modules_conf`;
-CREATE TABLE `post_load_modules_conf` (
- `id` int(10) unsigned NOT NULL auto_increment,
- `module_name` varchar(64) NOT NULL,
- `load_module` tinyint(1) NOT NULL default '1',
- `priority` int(10) unsigned NOT NULL default '1000',
- PRIMARY KEY (`id`),
- UNIQUE KEY `unique_mod` (`module_name`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `post_load_modules_conf`
---
-
-LOCK TABLES `post_load_modules_conf` WRITE;
-/*!40000 ALTER TABLE `post_load_modules_conf` DISABLE KEYS */;
-INSERT INTO `post_load_modules_conf` VALUES (1,'mod_sofia',1,2000),(2,'mod_iax',1,2000),(3,'mod_xml_rpc',1,100),(4,'mod_portaudio',1,1000),(5,'mod_enum',1,2000),(6,'mod_xml_cdr',1,1000),(7,'mod_spidermonkey',1,1000),(8,'mod_alsa',0,1000),(9,'mod_log_file',1,0),(10,'mod_commands',1,1000),(11,'mod_voicemail',1,1000),(12,'mod_dialplan_xml',1,150),(13,'mod_dialplan_asterisk',1,150),(14,'mod_openzap',0,1000),(15,'mod_woomera',0,1000),(17,'mod_speex',1,500),(18,'mod_ilbc',0,1000),(20,'mod_g723_1',1,500),(21,'mod_g729',1,500),(22,'mod_g722',1,500),(23,'mod_g726',1,500),(25,'mod_amr',1,500),(26,'mod_fifo',1,1000),(27,'mod_limit',1,1000),(28,'mod_syslog',1,0),(29,'mod_dingaling',1,2000),(30,'mod_cdr_csv',1,1000),(31,'mod_event_socket',1,100),(32,'mod_multicast',0,1000),(33,'mod_zeroconf',0,1000),(34,'mod_xmpp_event',0,1000),(35,'mod_sndfile',1,1000),(36,'mod_native_file',1,1000),(37,'mod_shout',1,1000),(38,'mod_local_stream',1,1000),(39,'mod_perl',0,1000),(40,'mod_python',0,1000),(41,'mod_java',0,1000),(42,'mod_cepstral',0,1000),(43,'mod_openmrcp',0,1000),(44,'mod_lumenvox',0,1000),(45,'mod_rss',0,1000),(46,'mod_say_de',1,1000),(47,'mod_say_fr',0,1000),(48,'mod_say_en',1,1000),(49,'mod_conference',1,1000),(50,'mod_ivr',0,1000),(51,'mod_console',1,0),(52,'mod_dptools',1,1500),(53,'mod_voipcodecs',1,500);
-/*!40000 ALTER TABLE `post_load_modules_conf` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `rss_conf`
---
-
-DROP TABLE IF EXISTS `rss_conf`;
-CREATE TABLE `rss_conf` (
- `id` int(11) NOT NULL auto_increment,
- `directory_id` int(11) NOT NULL,
- `feed` text NOT NULL,
- `local_file` text NOT NULL,
- `description` text,
- `priority` int(11) NOT NULL default '1000',
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
---
--- Dumping data for table `rss_conf`
---
-
-LOCK TABLES `rss_conf` WRITE;
-/*!40000 ALTER TABLE `rss_conf` DISABLE KEYS */;
-/*!40000 ALTER TABLE `rss_conf` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `sip_authentication`
---
-
-DROP TABLE IF EXISTS `sip_authentication`;
-CREATE TABLE `sip_authentication` (
- `nonce` varchar(255) default NULL,
- `expires` int(8) default NULL
-) ENGINE=InnoDB;
-
---
--- Dumping data for table `sip_authentication`
---
-
-LOCK TABLES `sip_authentication` WRITE;
-/*!40000 ALTER TABLE `sip_authentication` DISABLE KEYS */;
-/*!40000 ALTER TABLE `sip_authentication` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `sip_dialogs`
---
-
-DROP TABLE IF EXISTS `sip_dialogs`;
-CREATE TABLE `sip_dialogs` (
- `call_id` varchar(255) default NULL,
- `uuid` varchar(255) default NULL,
- `sip_to_user` varchar(255) default NULL,
- `sip_to_host` varchar(255) default NULL,
- `sip_from_user` varchar(255) default NULL,
- `sip_from_host` varchar(255) default NULL,
- `contact_user` varchar(255) default NULL,
- `contact_host` varchar(255) default NULL,
- `state` varchar(255) default NULL,
- `direction` varchar(255) default NULL,
- `user_agent` varchar(255) default NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `sip_dialogs`
---
-
-LOCK TABLES `sip_dialogs` WRITE;
-/*!40000 ALTER TABLE `sip_dialogs` DISABLE KEYS */;
-/*!40000 ALTER TABLE `sip_dialogs` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `sip_registrations`
---
-
-DROP TABLE IF EXISTS `sip_registrations`;
-CREATE TABLE `sip_registrations` (
- `call_id` varchar(255) default NULL,
- `sip_user` varchar(255) default NULL,
- `sip_host` varchar(255) default NULL,
- `contact` varchar(1024) default NULL,
- `status` varchar(255) default NULL,
- `rpid` varchar(255) default NULL,
- `expires` int(11) default NULL,
- `user_agent` varchar(255) default NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `sip_registrations`
---
-
-LOCK TABLES `sip_registrations` WRITE;
-/*!40000 ALTER TABLE `sip_registrations` DISABLE KEYS */;
-/*!40000 ALTER TABLE `sip_registrations` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `sip_subscriptions`
---
-
-DROP TABLE IF EXISTS `sip_subscriptions`;
-CREATE TABLE `sip_subscriptions` (
- `proto` varchar(255) default NULL,
- `sip_user` varchar(255) default NULL,
- `sip_host` varchar(255) default NULL,
- `sub_to_user` varchar(255) default NULL,
- `sub_to_host` varchar(255) default NULL,
- `event` varchar(255) default NULL,
- `contact` varchar(1024) default NULL,
- `call_id` varchar(255) default NULL,
- `full_from` varchar(255) default NULL,
- `full_via` varchar(255) default NULL,
- `expires` int(11) default NULL,
- `user_agent` varchar(255) default NULL,
- `accept` varchar(255) default NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `sip_subscriptions`
---
-
-LOCK TABLES `sip_subscriptions` WRITE;
-/*!40000 ALTER TABLE `sip_subscriptions` DISABLE KEYS */;
-/*!40000 ALTER TABLE `sip_subscriptions` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `sofia_aliases`
---
-
-DROP TABLE IF EXISTS `sofia_aliases`;
-CREATE TABLE `sofia_aliases` (
- `id` int(10) unsigned NOT NULL auto_increment,
- `sofia_id` int(10) unsigned NOT NULL,
- `alias_name` varchar(255) NOT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `sofia_aliases`
---
-
-LOCK TABLES `sofia_aliases` WRITE;
-/*!40000 ALTER TABLE `sofia_aliases` DISABLE KEYS */;
-INSERT INTO `sofia_aliases` VALUES (1,1,'default'),(3,1,'sip.example.com');
-/*!40000 ALTER TABLE `sofia_aliases` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `sofia_conf`
---
-
-DROP TABLE IF EXISTS `sofia_conf`;
-CREATE TABLE `sofia_conf` (
- `id` int(11) NOT NULL auto_increment,
- `profile_name` varchar(255) default NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `sofia_conf`
---
-
-LOCK TABLES `sofia_conf` WRITE;
-/*!40000 ALTER TABLE `sofia_conf` DISABLE KEYS */;
-INSERT INTO `sofia_conf` VALUES (1,'$${domain}');
-/*!40000 ALTER TABLE `sofia_conf` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `sofia_domains`
---
-
-DROP TABLE IF EXISTS `sofia_domains`;
-CREATE TABLE `sofia_domains` (
- `id` int(11) NOT NULL auto_increment,
- `sofia_id` int(11) default NULL,
- `domain_name` varchar(255) default NULL,
- `parse` tinyint(1) default NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `sofia_domains`
---
-
-LOCK TABLES `sofia_domains` WRITE;
-/*!40000 ALTER TABLE `sofia_domains` DISABLE KEYS */;
-/*!40000 ALTER TABLE `sofia_domains` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `sofia_gateways`
---
-
-DROP TABLE IF EXISTS `sofia_gateways`;
-CREATE TABLE `sofia_gateways` (
- `id` int(11) NOT NULL auto_increment,
- `sofia_id` int(11) default NULL,
- `gateway_name` varchar(255) default NULL,
- `gateway_param` varchar(255) default NULL,
- `gateway_value` varchar(255) default NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `sofia_gateways`
---
-
-LOCK TABLES `sofia_gateways` WRITE;
-/*!40000 ALTER TABLE `sofia_gateways` DISABLE KEYS */;
-INSERT INTO `sofia_gateways` VALUES (8,1,'default','proxy','asterlink.com'),(9,1,'default','realm','asterlink.com'),(10,1,'default','username','USERNAME_HERE'),(11,1,'default','register','false'),(12,1,'default','expire-seconds','60'),(13,1,'default','retry_seconds','2'),(14,1,'default','password','PASSWORD_HERE');
-/*!40000 ALTER TABLE `sofia_gateways` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `sofia_settings`
---
-
-DROP TABLE IF EXISTS `sofia_settings`;
-CREATE TABLE `sofia_settings` (
- `id` int(11) NOT NULL auto_increment,
- `sofia_id` int(11) default NULL,
- `param_name` varchar(255) default NULL,
- `param_value` varchar(255) default NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `sofia_settings`
---
-
-LOCK TABLES `sofia_settings` WRITE;
-/*!40000 ALTER TABLE `sofia_settings` DISABLE KEYS */;
-INSERT INTO `sofia_settings` VALUES (1,1,'user-agent-string','RayUA 2.0pre4'),(2,1,'auth-calls','true'),(5,1,'debug','1'),(6,1,'rfc2833-pt','101'),(7,1,'sip-port','5060'),(8,1,'dialplan','XML'),(9,1,'dtmf-duration','100'),(10,1,'codec-prefs','$${global_codec_prefs}'),(11,1,'rtp-timeout-sec','300'),(12,1,'rtp-ip','$${local_ip_v4}'),(13,1,'sip-ip','$${local_ip_v4}'),(14,1,'context','default'),(15,1,'manage-presence','true'),(16,1,'force-register-domain','intralanman.servehttp.com'),(17,1,'inbound-codec-negotiation','generous'),(18,1,'rtp-rewrite-timestampes','true'),(19,1,'nonce-ttl','60'),(20,1,'vad','out'),(36,1,'odbc-dsn','freeswitch-mysql:freeswitch:Fr33Sw1tch');
-/*!40000 ALTER TABLE `sofia_settings` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `voicemail_conf`
---
-
-DROP TABLE IF EXISTS `voicemail_conf`;
-CREATE TABLE `voicemail_conf` (
- `id` int(10) unsigned NOT NULL auto_increment,
- `vm_profile` varchar(64) NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `unique_profile` (`vm_profile`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `voicemail_conf`
---
-
-LOCK TABLES `voicemail_conf` WRITE;
-/*!40000 ALTER TABLE `voicemail_conf` DISABLE KEYS */;
-INSERT INTO `voicemail_conf` VALUES (1,'default');
-/*!40000 ALTER TABLE `voicemail_conf` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `voicemail_data`
---
-
-DROP TABLE IF EXISTS `voicemail_data`;
-CREATE TABLE `voicemail_data` (
- `created_epoch` int(8) default NULL,
- `read_epoch` int(8) default NULL,
- `user` varchar(255) default NULL,
- `domain` varchar(255) default NULL,
- `uuid` varchar(255) default NULL,
- `cid_name` varchar(255) default NULL,
- `cid_number` varchar(255) default NULL,
- `in_folder` varchar(255) default NULL,
- `file_path` varchar(255) default NULL,
- `flags` varchar(255) default NULL,
- `read_flags` varchar(255) default NULL
-) ENGINE=InnoDB;
-
---
--- Dumping data for table `voicemail_data`
---
-
-LOCK TABLES `voicemail_data` WRITE;
-/*!40000 ALTER TABLE `voicemail_data` DISABLE KEYS */;
-/*!40000 ALTER TABLE `voicemail_data` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `voicemail_email`
---
-
-DROP TABLE IF EXISTS `voicemail_email`;
-CREATE TABLE `voicemail_email` (
- `id` int(10) unsigned NOT NULL auto_increment,
- `voicemail_id` int(10) unsigned NOT NULL,
- `param_name` varchar(64) NOT NULL,
- `param_value` varchar(64) NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `unique_profile_param` (`param_name`,`voicemail_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `voicemail_email`
---
-
-LOCK TABLES `voicemail_email` WRITE;
-/*!40000 ALTER TABLE `voicemail_email` DISABLE KEYS */;
-INSERT INTO `voicemail_email` VALUES (1,1,'template-file','voicemail.tpl'),(2,1,'date-fmt','%A, %B %d %Y, %I %M %p'),(3,1,'email-from','${voicemail_account}@${voicemail_domain}');
-/*!40000 ALTER TABLE `voicemail_email` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `voicemail_prefs`
---
-
-DROP TABLE IF EXISTS `voicemail_prefs`;
-CREATE TABLE `voicemail_prefs` (
- `user` varchar(255) default NULL,
- `domain` varchar(255) default NULL,
- `name_path` varchar(255) default NULL,
- `greeting_path` varchar(255) default NULL
-) ENGINE=InnoDB;
-
---
--- Dumping data for table `voicemail_prefs`
---
-
-LOCK TABLES `voicemail_prefs` WRITE;
-/*!40000 ALTER TABLE `voicemail_prefs` DISABLE KEYS */;
-/*!40000 ALTER TABLE `voicemail_prefs` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `voicemail_settings`
---
-
-DROP TABLE IF EXISTS `voicemail_settings`;
-CREATE TABLE `voicemail_settings` (
- `id` int(11) NOT NULL auto_increment,
- `voicemail_id` int(11) default NULL,
- `param_name` varchar(255) default NULL,
- `param_value` varchar(255) default NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `voicemail_settings`
---
-
-LOCK TABLES `voicemail_settings` WRITE;
-/*!40000 ALTER TABLE `voicemail_settings` DISABLE KEYS */;
-INSERT INTO `voicemail_settings` VALUES (1,1,'file-extension','wav'),(2,1,'terminator-key','#'),(3,1,'max-login-attempts','3'),(4,1,'digit-timeout','10000'),(5,1,'max-record-length','300'),(6,1,'tone-spec','%(1000, 0, 640)'),(7,1,'callback-dialplan','XML'),(8,1,'callback-context','default'),(9,1,'play-new-messages-key','1'),(10,1,'play-saved-messages-key','2'),(11,1,'main-menu-key','*'),(12,1,'config-menu-key','5'),(13,1,'record-greeting-key','1'),(14,1,'choose-greeting-key','2'),(15,1,'record-file-key','3'),(16,1,'listen-file-key','1'),(17,1,'record-name-key','3'),(18,1,'save-file-key','9'),(19,1,'delete-file-key','7'),(20,1,'undelete-file-key','8'),(21,1,'email-key','4'),(22,1,'pause-key','0'),(23,1,'restart-key','1'),(24,1,'ff-key','6'),(25,1,'rew-key','4'),(26,1,'record-silence-threshold','200'),(27,1,'record-silence-hits','2'),(28,1,'web-template-file','web-vm.tpl'),(29,1,'operator-extension','operator XML default'),(30,1,'operator-key','9');
-/*!40000 ALTER TABLE `voicemail_settings` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
--- Dump completed on 2008-04-10 15:11:05
+-- MySQL dump 10.11
+--
+-- Host: localhost Database: freeswitch
+-- ------------------------------------------------------
+-- Server version 5.0.45-community-nt
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8 */;
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+
+--
+-- Table structure for table `acl_lists`
+--
+
+DROP TABLE IF EXISTS `acl_lists`;
+CREATE TABLE `acl_lists` (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `acl_name` varchar(128) NOT NULL,
+ `default_policy` varchar(45) NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `acl_lists`
+--
+
+LOCK TABLES `acl_lists` WRITE;
+/*!40000 ALTER TABLE `acl_lists` DISABLE KEYS */;
+INSERT INTO `acl_lists` VALUES (1,'rfc1918','deny'),(2,'lan','allow');
+/*!40000 ALTER TABLE `acl_lists` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `acl_nodes`
+--
+
+DROP TABLE IF EXISTS `acl_nodes`;
+CREATE TABLE `acl_nodes` (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `cidr` varchar(45) NOT NULL,
+ `type` varchar(16) NOT NULL,
+ `list_id` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `acl_nodes`
+--
+
+LOCK TABLES `acl_nodes` WRITE;
+/*!40000 ALTER TABLE `acl_nodes` DISABLE KEYS */;
+INSERT INTO `acl_nodes` VALUES (1,'192.168.0.0/16','allow',1),(2,'10.0.0.0/8','allow',1),(3,'172.16.0.0/12','allow',1);
+/*!40000 ALTER TABLE `acl_nodes` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `conference_advertise`
+--
+
+DROP TABLE IF EXISTS `conference_advertise`;
+CREATE TABLE `conference_advertise` (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `room` varchar(64) NOT NULL,
+ `status` varchar(128) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `unique_room` (`room`)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `conference_advertise`
+--
+
+LOCK TABLES `conference_advertise` WRITE;
+/*!40000 ALTER TABLE `conference_advertise` DISABLE KEYS */;
+INSERT INTO `conference_advertise` VALUES (1,'3000@$${domain}','Freeswitch Conference'),(2,'3001@$${domain}','FreeSWITCH Conference 2'),(3,'3002@$${domain}','FreeSWITCH Conference 3');
+/*!40000 ALTER TABLE `conference_advertise` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `conference_controls`
+--
+
+DROP TABLE IF EXISTS `conference_controls`;
+CREATE TABLE `conference_controls` (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `conf_group` varchar(64) NOT NULL,
+ `action` varchar(64) NOT NULL,
+ `digits` varchar(16) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `unique_group_action` USING BTREE (`conf_group`,`action`)
+) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `conference_controls`
+--
+
+LOCK TABLES `conference_controls` WRITE;
+/*!40000 ALTER TABLE `conference_controls` DISABLE KEYS */;
+INSERT INTO `conference_controls` VALUES (1,'default','mute','0'),(2,'default','deaf_mute','*'),(3,'default','energy up','9'),(4,'default','energy equ','8'),(5,'default','energy dn','7'),(6,'default','vol talk up','3'),(7,'default','vol talk dn','1'),(8,'default','vol talk zero','2'),(9,'default','vol listen up','6'),(10,'default','vol listen dn','4'),(11,'default','vol listen zero','5'),(12,'default','hangup','#');
+/*!40000 ALTER TABLE `conference_controls` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `conference_profiles`
+--
+
+DROP TABLE IF EXISTS `conference_profiles`;
+CREATE TABLE `conference_profiles` (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `profile_name` varchar(64) NOT NULL,
+ `param_name` varchar(64) NOT NULL,
+ `param_value` varchar(64) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `unique_profile_param` (`profile_name`,`param_name`)
+) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `conference_profiles`
+--
+
+LOCK TABLES `conference_profiles` WRITE;
+/*!40000 ALTER TABLE `conference_profiles` DISABLE KEYS */;
+INSERT INTO `conference_profiles` VALUES (1,'default','domain','$${domain}'),(2,'default','rate','8000'),(3,'default','interval','20'),(4,'default','energy-level','300'),(5,'default','moh-sound','$${moh_uri}'),(6,'default','caller-id-name','$${outbound_caller_name}'),(7,'default','caller-id-number','$${outbound_caller_number}');
+/*!40000 ALTER TABLE `conference_profiles` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `dialplan`
+--
+
+DROP TABLE IF EXISTS `dialplan`;
+CREATE TABLE `dialplan` (
+ `id` int(11) NOT NULL auto_increment,
+ `context` varchar(64) NOT NULL,
+ `extension` varchar(64) NOT NULL,
+ `condition_field` varchar(64) NOT NULL,
+ `condition_expression` varchar(64) NOT NULL,
+ `application_name` varchar(64) NOT NULL,
+ `application_data` text,
+ `weight` int(11) NOT NULL,
+ `type` varchar(16) NOT NULL default 'action',
+ `ext_continue` text NOT NULL,
+ `global_weight` int(11) NOT NULL default '10000',
+ `cond_break` varchar(8) default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM AUTO_INCREMENT=388 DEFAULT CHARSET=utf8;
+
+--
+-- Dumping data for table `dialplan`
+--
+
+LOCK TABLES `dialplan` WRITE;
+/*!40000 ALTER TABLE `dialplan` DISABLE KEYS */;
+INSERT INTO `dialplan` VALUES (273,'US-Numbering-Plan','US_International','destination_number','^011(\\d+)$','enum','1$1',3,'action','0',200,''),(272,'US-Numbering-Plan','US_International','destination_number','^011(\\d+)$','set','hangup_after_bridge=true',2,'action','0',200,''),(271,'US-Numbering-Plan','US_International','destination_number','^011(\\d+)$','set','continue_on_fail=true',1,'action','0',200,''),(383,'default','hold_music','destination_number','^9999$','playback','$${moh_uri}',2,'action','0',1900,''),(384,'default','enum','destination_number','^(.*)$','transfer','$1 enum',1,'action','0',2000,''),(382,'default','hold_music','destination_number','^9999$','answer','',1,'action','0',1900,''),(378,'default','ivr_demo','destination_number','5000','ivr','demo',1,'action','0',1600,''),(379,'default','park','destination_number','^(590[0-9])$','fifo','$1@$${domain} in undef $${moh_uri}',1,'action','0',1700,''),(380,'default','unpark','destination_number','^\\*{0,2}park\\+(590[0-9])$','answer','',1,'action','0',1800,''),(381,'default','unpark','destination_number','^\\*{0,2}park\\+(590[0-9])$','fifo','$1@$${domain} out nowait',2,'action','0',1800,''),(375,'default','sip_uri','destination_number','^sip:(.*)$','bridge','sofia/${use_profile}/$1',1,'action','0',1300,''),(376,'default','conferences','destination_number','^(3\\d{3})$','conference','$1@default',1,'action','0',1400,''),(377,'default','freeswitch_public_conf_via_sip','destination_number','^9(888|1616)$','bridge','sofia/${use_profile}/$1(a)conference.freeswitch.org',1,'action','0',1500,''),(372,'default','Local_Extension','destination_number','^${caller_id_number}$','answer','',13,'anti-action','0',1200,''),(373,'default','Local_Extension','destination_number','^${caller_id_number}$','sleep','1000',14,'anti-action','0',1200,''),(374,'default','Local_Extension','destination_number','^${caller_id_number}$','voicemail','default $${domain} ${dialed_ext}',15,'anti-action','0',1200,''),(371,'default','Local_Extension','destination_number','^${caller_id_number}$','bridge','{left_hanging_extension=5900,transfer_fallback_extension=${dialed_ext}}USER/${dialed_ext}@$${domain}',12,'anti-action','0',1200,''),(367,'default','Local_Extension','destination_number','^${caller_id_number}$','set','left_hanging_extension=5900',8,'anti-action','0',1200,''),(368,'default','Local_Extension','destination_number','^${caller_id_number}$','set','continue_on_fail=true',9,'anti-action','0',1200,''),(369,'default','Local_Extension','destination_number','^${caller_id_number}$','db','insert/call_return/${dialed_ext}/${caller_id_number}',10,'anti-action','0',1200,''),(370,'default','Local_Extension','destination_number','^${caller_id_number}$','db','insert/last_dial_ext/${dialed_ext}/${uuid}',11,'anti-action','0',1200,''),(364,'default','Local_Extension','destination_number','^${caller_id_number}$','ring_ready','',5,'anti-action','0',1200,''),(365,'default','Local_Extension','destination_number','^${caller_id_number}$','set','call_timeout=130',6,'anti-action','0',1200,''),(366,'default','Local_Extension','destination_number','^${caller_id_number}$','set','hangup_after_bridge=true',7,'anti-action','0',1200,''),(361,'default','Local_Extension','destination_number','^${caller_id_number}$','answer','',2,'action','0',1200,''),(362,'default','Local_Extension','destination_number','^${caller_id_number}$','sleep','1000',3,'action','0',1200,''),(363,'default','Local_Extension','destination_number','^${caller_id_number}$','voicemail','check default $${domain} ${dialed_ext}',4,'action','0',1200,''),(359,'default','Local_Extension','destination_number','^(10[01][0-9])$','set','dialed_ext=$1',1,'action','0',1200,'on-true'),(360,'default','Local_Extension','destination_number','^${caller_id_number}$','set','voicemail_authorized=${sip_authorized}',1,'action','0',1200,''),(357,'default','call-group-order','destination_number','^83(\\d{2})$','set','call_timeout=10',1,'action','0',1100,''),(358,'default','call-group-order','destination_number','^83(\\d{2})$','bridge','${group(call:$1:order)}',2,'action','0',1100,''),(356,'default','call-group-simo','destination_number','^82(\\d{2})$','bridge','${group(call:$1)}',1,'action','0',1000,''),(355,'default','add-group','destination_number','^81(\\d{2})$','gentones','%(1000, 0, 640)',3,'action','0',900,''),(354,'default','add-group','destination_number','^81(\\d{2})$','group','insert:$1:${sofia_contact(${sip_from_user}@${domain})}',2,'action','0',900,''),(350,'default','del-group','destination_number','^80(\\d{2})$','answer','',1,'action','0',800,''),(351,'default','del-group','destination_number','^80(\\d{2})$','group','delete:$1:${sofia_contact(${sip_from_user}@${domain})}',2,'action','0',800,''),(352,'default','del-group','destination_number','^80(\\d{2})$','gentones','%(1000, 0, 320)',3,'action','0',800,''),(353,'default','add-group','destination_number','^81(\\d{2})$','answer','',1,'action','0',900,''),(349,'default','call_return','destination_number','^\\*69$|^869$','transfer','${db(select/call_return/${caller_id_number})}',1,'action','0',700,''),(348,'default','eavesdrop','destination_number','^88(.*)$|^\\*0(.*)$','eavesdrop','${db(select/spymap/$1)}',2,'action','0',600,''),(347,'default','eavesdrop','destination_number','^88(.*)$|^\\*0(.*)$','answer','',1,'action','0',600,''),(344,'default','global','','','db','insert/spymap/${caller_id_number}/${uuid}',2,'action','1',500,''),(345,'default','global','','','db','insert/last_dial/${caller_id_number}/${destination_number}',3,'action','1',500,''),(346,'default','global','','','db','insert/last_dial/global/${uuid}',4,'action','1',500,''),(340,'default','global','${network_addr}','','set','use_profile=${cond(${is_lan_addr($${local_ip_v4})} == yes ? nat : default)}',1,'action','1',500,''),(342,'default','global','${numbering_plan}','','set_user','default@${domain}',1,'action','1',500,''),(343,'default','global','','','info','',1,'action','1',500,''),(341,'default','global','${network_addr}','','set','use_profile=${cond(${is_lan_addr(${network_addr})} == yes ? nat : default)}',2,'anti-action','1',500,''),(338,'default','intercept-ext','destination_number','^\\*\\*(\\d+)$','sleep','2000',3,'action','0',300,''),(339,'default','redial','destination_number','^870$','transfer','${db(select/last_dial/${caller_id_number})}',1,'action','0',400,''),(337,'default','intercept-ext','destination_number','^\\*\\*(\\d+)$','intercept','${db(select/last_dial_ext/$1)}',2,'action','0',300,''),(335,'default','intercept','destination_number','^886$','sleep','2000',3,'action','0',200,''),(336,'default','intercept-ext','destination_number','^\\*\\*(\\d+)$','answer','',1,'action','0',300,''),(333,'default','intercept','destination_number','^886$','answer','',1,'action','0',200,''),(334,'default','intercept','destination_number','^886$','intercept','${db(select/last_dial/global)}',2,'action','0',200,''),(113,'public','public_extensions','destination_number','^(10[01][0-9])$','transfer','$1 XML default',1,'action','0',200,''),(114,'public','public_did','destination_number','^(5551212)$','transfer','$1 XML default',1,'action','0',300,''),(274,'US-Numbering-Plan','US_International','destination_number','^011(\\d+)$','bridge','${enum_auto_route}',4,'action','0',200,''),(275,'US-Numbering-Plan','US_International','destination_number','^011(\\d+)$','bridge','sofia/gateway/${default_gateway}/011$1',5,'action','0',200,''),(276,'US-Numbering-Plan','US_LD','destination_number','^1?([2-9]\\d{2}[2-9]\\d{6})$','set','continue_on_fail=true',1,'action','0',300,''),(277,'US-Numbering-Plan','US_LD','destination_number','^1?([2-9]\\d{2}[2-9]\\d{6})$','set','hangup_after_bridge=true',2,'action','0',300,''),(278,'US-Numbering-Plan','US_LD','destination_number','^1?([2-9]\\d{2}[2-9]\\d{6})$','enum','1$1',3,'action','0',300,''),(279,'US-Numbering-Plan','US_LD','destination_number','^1?([2-9]\\d{2}[2-9]\\d{6})$','bridge','${enum_auto_route}',4,'action','0',300,''),(280,'US-Numbering-Plan','US_LD','destination_number','^1?([2-9]\\d{2}[2-9]\\d{6})$','bridge','sofia/gateway/${default_gateway}/1$1',5,'action','0',300,''),(281,'US-Numbering-Plan','US_Local','${default_area_code}','\\d{3}','say','you must dial the area code to call this destination',1,'anti-action','0',400,'on-true'),(282,'US-Numbering-Plan','US_Local','destination_number','^([2-9]\\d{6})$','set','continue_on_fail=true',1,'action','0',400,''),(283,'US-Numbering-Plan','US_Local','destination_number','^([2-9]\\d{6})$','set','hangup_after_bridge=true',2,'action','0',400,''),(284,'US-Numbering-Plan','US_Local','destination_number','^([2-9]\\d{6})$','enum','1$1',3,'action','0',400,''),(285,'US-Numbering-Plan','US_Local','destination_number','^([2-9]\\d{6})$','bridge','${enum_auto_route}',4,'action','0',400,''),(286,'US-Numbering-Plan','US_Local','destination_number','^([2-9]\\d{6})$','bridge','sofia/gateway/${default_gateway}/1${default_area_code}$1',5,'action','0',400,''),(287,'US-Numbering-Plan','FCC_Services','^([4689]11)$','','bridge','sofia/gateway/${default_gateway}/$1',1,'action','0',500,''),(385,'default','new_exten','destination_number','^(\\d+)$','bridge','sofia/gateway/gw1/number',0,'action','true',10000,'never'),(386,'default','new_exten','destination_number','^(\\d+)$','bridge','sofia/gateway/gw1/number',0,'action','true',10000,'never'),(387,'default','new_exten','destination_number','^(\\d+)$','bridge','sofia/gateway/gw2/number',0,'anti-action','true',10000,'never');
+/*!40000 ALTER TABLE `dialplan` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `dialplan_special`
+--
+
+DROP TABLE IF EXISTS `dialplan_special`;
+CREATE TABLE `dialplan_special` (
+ `id` int(11) NOT NULL auto_increment,
+ `context` varchar(255) NOT NULL,
+ `class_file` varchar(255) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `unique_context` (`context`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `dialplan_special`
+--
+
+LOCK TABLES `dialplan_special` WRITE;
+/*!40000 ALTER TABLE `dialplan_special` DISABLE KEYS */;
+/*!40000 ALTER TABLE `dialplan_special` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `dingaling_profile_params`
+--
+
+DROP TABLE IF EXISTS `dingaling_profile_params`;
+CREATE TABLE `dingaling_profile_params` (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `dingaling_id` int(10) unsigned NOT NULL,
+ `param_name` varchar(64) NOT NULL,
+ `param_value` varchar(64) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `unique_type_name` (`dingaling_id`,`param_name`),
+ CONSTRAINT `dingaling_profile` FOREIGN KEY (`dingaling_id`) REFERENCES `dingaling_profiles` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `dingaling_profile_params`
+--
+
+LOCK TABLES `dingaling_profile_params` WRITE;
+/*!40000 ALTER TABLE `dingaling_profile_params` DISABLE KEYS */;
+INSERT INTO `dingaling_profile_params` VALUES (1,1,'password','secret'),(2,1,'dialplan','XML,enum'),(3,1,'server','example.org'),(4,1,'name','fs.example.org');
+/*!40000 ALTER TABLE `dingaling_profile_params` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `dingaling_profiles`
+--
+
+DROP TABLE IF EXISTS `dingaling_profiles`;
+CREATE TABLE `dingaling_profiles` (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `profile_name` varchar(64) NOT NULL,
+ `type` varchar(64) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `unique_name` (`profile_name`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `dingaling_profiles`
+--
+
+LOCK TABLES `dingaling_profiles` WRITE;
+/*!40000 ALTER TABLE `dingaling_profiles` DISABLE KEYS */;
+INSERT INTO `dingaling_profiles` VALUES (1,'fs.intralanman.servehttp.com','component');
+/*!40000 ALTER TABLE `dingaling_profiles` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `dingaling_settings`
+--
+
+DROP TABLE IF EXISTS `dingaling_settings`;
+CREATE TABLE `dingaling_settings` (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `param_name` varchar(64) NOT NULL,
+ `param_value` varchar(64) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `unique_param` (`param_name`)
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `dingaling_settings`
+--
+
+LOCK TABLES `dingaling_settings` WRITE;
+/*!40000 ALTER TABLE `dingaling_settings` DISABLE KEYS */;
+INSERT INTO `dingaling_settings` VALUES (1,'debug','0'),(2,'codec-prefs','$${global_codec_prefs}');
+/*!40000 ALTER TABLE `dingaling_settings` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `directory`
+--
+
+DROP TABLE IF EXISTS `directory`;
+CREATE TABLE `directory` (
+ `id` int(11) NOT NULL auto_increment,
+ `username` varchar(255) NOT NULL,
+ `domain` varchar(255) NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;
+
+--
+-- Dumping data for table `directory`
+--
+
+LOCK TABLES `directory` WRITE;
+/*!40000 ALTER TABLE `directory` DISABLE KEYS */;
+INSERT INTO `directory` VALUES (1,'1000','example.com'),(2,'1001','example.org'),(3,'1002','example.net'),(5,'1003','example.info'),(6,'1004','example.com'),(7,'1005','example.org'),(8,'1006','example.net'),(9,'1007','example.info'),(10,'1008','$${domain}'),(11,'1009','$${local_ip_v4}');
+/*!40000 ALTER TABLE `directory` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `directory_domains`
+--
+
+DROP TABLE IF EXISTS `directory_domains`;
+CREATE TABLE `directory_domains` (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `domain_name` varchar(128) NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `directory_domains`
+--
+
+LOCK TABLES `directory_domains` WRITE;
+/*!40000 ALTER TABLE `directory_domains` DISABLE KEYS */;
+INSERT INTO `directory_domains` VALUES (1,'freeswitch.org'),(2,'sofaswitch.org');
+/*!40000 ALTER TABLE `directory_domains` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `directory_gateway_params`
+--
+
+DROP TABLE IF EXISTS `directory_gateway_params`;
+CREATE TABLE `directory_gateway_params` (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `d_gw_id` int(10) unsigned NOT NULL,
+ `param_name` varchar(64) NOT NULL,
+ `param_value` varchar(64) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `unique_gw_param` (`d_gw_id`,`param_name`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `directory_gateway_params`
+--
+
+LOCK TABLES `directory_gateway_params` WRITE;
+/*!40000 ALTER TABLE `directory_gateway_params` DISABLE KEYS */;
+/*!40000 ALTER TABLE `directory_gateway_params` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `directory_gateways`
+--
+
+DROP TABLE IF EXISTS `directory_gateways`;
+CREATE TABLE `directory_gateways` (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `directory_id` int(10) unsigned NOT NULL,
+ `gateway_name` varchar(128) NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `directory_gateways`
+--
+
+LOCK TABLES `directory_gateways` WRITE;
+/*!40000 ALTER TABLE `directory_gateways` DISABLE KEYS */;
+/*!40000 ALTER TABLE `directory_gateways` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `directory_global_params`
+--
+
+DROP TABLE IF EXISTS `directory_global_params`;
+CREATE TABLE `directory_global_params` (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `param_name` varchar(64) NOT NULL,
+ `param_value` varchar(128) NOT NULL,
+ `domain_id` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `directory_global_params`
+--
+
+LOCK TABLES `directory_global_params` WRITE;
+/*!40000 ALTER TABLE `directory_global_params` DISABLE KEYS */;
+INSERT INTO `directory_global_params` VALUES (1,'default_gateway','errors',1);
+/*!40000 ALTER TABLE `directory_global_params` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `directory_global_vars`
+--
+
+DROP TABLE IF EXISTS `directory_global_vars`;
+CREATE TABLE `directory_global_vars` (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `var_name` varchar(64) NOT NULL,
+ `var_value` varchar(128) NOT NULL,
+ `domain_id` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `directory_global_vars`
+--
+
+LOCK TABLES `directory_global_vars` WRITE;
+/*!40000 ALTER TABLE `directory_global_vars` DISABLE KEYS */;
+/*!40000 ALTER TABLE `directory_global_vars` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `directory_params`
+--
+
+DROP TABLE IF EXISTS `directory_params`;
+CREATE TABLE `directory_params` (
+ `id` int(11) NOT NULL auto_increment,
+ `directory_id` int(11) default NULL,
+ `param_name` varchar(255) default NULL,
+ `param_value` varchar(255) default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8;
+
+--
+-- Dumping data for table `directory_params`
+--
+
+LOCK TABLES `directory_params` WRITE;
+/*!40000 ALTER TABLE `directory_params` DISABLE KEYS */;
+INSERT INTO `directory_params` VALUES (1,1,'password','1234'),(2,1,'vm-password','861000'),(3,2,'password','1234'),(4,2,'vm-password','861001'),(7,5,'password','1234'),(8,6,'password','1234'),(9,7,'password','1234'),(10,8,'password','1234'),(11,9,'password','1234'),(12,10,'password','1234'),(13,11,'password','1234'),(14,3,'vm-password','861002'),(15,3,'password','1234'),(16,11,'vm-password','861009'),(17,10,'vm-password','861008'),(18,9,'vm-password','861007'),(19,8,'vm-password','861006'),(20,7,'vm-password','861005'),(21,6,'vm-password','861004'),(22,5,'vm-password','861003');
+/*!40000 ALTER TABLE `directory_params` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `directory_vars`
+--
+
+DROP TABLE IF EXISTS `directory_vars`;
+CREATE TABLE `directory_vars` (
+ `id` int(11) NOT NULL auto_increment,
+ `directory_id` int(11) default NULL,
+ `var_name` varchar(255) default NULL,
+ `var_value` varchar(255) default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
+
+--
+-- Dumping data for table `directory_vars`
+--
+
+LOCK TABLES `directory_vars` WRITE;
+/*!40000 ALTER TABLE `directory_vars` DISABLE KEYS */;
+INSERT INTO `directory_vars` VALUES (1,1,'numbering_plan','US'),(2,2,'numbering_plan','US'),(3,3,'numbering_plan','AU'),(4,5,'numbering_plan','US'),(5,5,'area_code','434');
+/*!40000 ALTER TABLE `directory_vars` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `iax_conf`
+--
+
+DROP TABLE IF EXISTS `iax_conf`;
+CREATE TABLE `iax_conf` (
+ `id` int(11) NOT NULL auto_increment,
+ `profile_name` varchar(255) default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `iax_conf`
+--
+
+LOCK TABLES `iax_conf` WRITE;
+/*!40000 ALTER TABLE `iax_conf` DISABLE KEYS */;
+INSERT INTO `iax_conf` VALUES (3,'test_profile');
+/*!40000 ALTER TABLE `iax_conf` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `iax_settings`
+--
+
+DROP TABLE IF EXISTS `iax_settings`;
+CREATE TABLE `iax_settings` (
+ `id` int(11) NOT NULL auto_increment,
+ `iax_id` int(11) default NULL,
+ `param_name` varchar(255) default NULL,
+ `param_value` varchar(255) default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=43 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `iax_settings`
+--
+
+LOCK TABLES `iax_settings` WRITE;
+/*!40000 ALTER TABLE `iax_settings` DISABLE KEYS */;
+INSERT INTO `iax_settings` VALUES (35,3,'debug','1'),(36,3,'ip','$${local_ip_v4}'),(37,3,'port','4569'),(38,3,'context','public'),(39,3,'dialplan','enum,XML'),(40,3,'codec-prefs','$${global_codec_prefs}'),(41,3,'codec-master','us'),(42,3,'codec-rate','8');
+/*!40000 ALTER TABLE `iax_settings` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `ivr_conf`
+--
+
+DROP TABLE IF EXISTS `ivr_conf`;
+CREATE TABLE `ivr_conf` (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `name` varchar(64) NOT NULL,
+ `greet_long` varchar(255) NOT NULL,
+ `greet_short` varchar(255) NOT NULL,
+ `invalid_sound` varchar(255) NOT NULL,
+ `exit_sound` varchar(255) NOT NULL,
+ `max_failures` int(10) unsigned NOT NULL default '3',
+ `timeout` int(11) NOT NULL default '5',
+ `tts_engine` varchar(64) default NULL,
+ `tts_voice` varchar(64) default NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `unique_name` (`name`)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `ivr_conf`
+--
+
+LOCK TABLES `ivr_conf` WRITE;
+/*!40000 ALTER TABLE `ivr_conf` DISABLE KEYS */;
+INSERT INTO `ivr_conf` VALUES (1,'demo','soundfiles/ivr/demo/greet-long.wav','soundfiles/ivr/demo/greet-short.wav','soundfiles/ivr/invalid.wav','soundfiles/ivr/exit.wav',3,5,'cepstral','allison'),(2,'demo2','soundfiles/ivr/demo2/greet-long.wav','soundfiles/ivr/demo2/greet-short.wav','soundfiles/ivr/invalid.wav','soundfiles/ivr/exit.wav',3,5,NULL,NULL),(3,'menu8','soundfiles/ivr/menu8/greet-long.wav','soundfiles/ivr/menu8/greet-short.wav','soundfiles/ivr/menu8/invalid.wav','soundfiles/ivr/menu8/exit.wav',3,5,NULL,NULL);
+/*!40000 ALTER TABLE `ivr_conf` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `ivr_entries`
+--
+
+DROP TABLE IF EXISTS `ivr_entries`;
+CREATE TABLE `ivr_entries` (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `ivr_id` int(10) unsigned NOT NULL,
+ `action` varchar(64) NOT NULL,
+ `digits` varchar(16) NOT NULL,
+ `params` varchar(255) default NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `unique_ivr_digits` USING BTREE (`ivr_id`,`digits`)
+) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `ivr_entries`
+--
+
+LOCK TABLES `ivr_entries` WRITE;
+/*!40000 ALTER TABLE `ivr_entries` DISABLE KEYS */;
+INSERT INTO `ivr_entries` VALUES (1,1,'menu-play-sound','1','soundfiles/features.wav'),(2,1,'menu-exit','*',NULL),(3,1,'menu-sub','2','demo2'),(4,1,'menu-exec-api','3','bridge sofia/$${domain}/888(a)conference.freeswtich.org'),(5,1,'menu-call-transfer','4','888'),(6,2,'menu-back','#',NULL),(7,2,'menu-top','*',NULL),(8,3,'menu-back','#',NULL),(9,3,'menu-top','*',NULL),(10,3,'menu-playsound','4','soundfiles/4.wav');
+/*!40000 ALTER TABLE `ivr_entries` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `limit_conf`
+--
+
+DROP TABLE IF EXISTS `limit_conf`;
+CREATE TABLE `limit_conf` (
+ `id` int(11) NOT NULL auto_increment,
+ `name` varchar(255) default NULL,
+ `value` varchar(255) default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
+
+--
+-- Dumping data for table `limit_conf`
+--
+
+LOCK TABLES `limit_conf` WRITE;
+/*!40000 ALTER TABLE `limit_conf` DISABLE KEYS */;
+/*!40000 ALTER TABLE `limit_conf` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `limit_data`
+--
+
+DROP TABLE IF EXISTS `limit_data`;
+CREATE TABLE `limit_data` (
+ `hostname` varchar(255) default NULL,
+ `realm` varchar(255) default NULL,
+ `id` varchar(255) default NULL,
+ `uuid` varchar(255) default NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+--
+-- Dumping data for table `limit_data`
+--
+
+LOCK TABLES `limit_data` WRITE;
+/*!40000 ALTER TABLE `limit_data` DISABLE KEYS */;
+/*!40000 ALTER TABLE `limit_data` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `local_stream_conf`
+--
+
+DROP TABLE IF EXISTS `local_stream_conf`;
+CREATE TABLE `local_stream_conf` (
+ `id` int(11) NOT NULL auto_increment,
+ `directory_name` varchar(255) default NULL,
+ `directory_path` text,
+ `param_name` varchar(255) default NULL,
+ `param_value` varchar(255) default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+--
+-- Dumping data for table `local_stream_conf`
+--
+
+LOCK TABLES `local_stream_conf` WRITE;
+/*!40000 ALTER TABLE `local_stream_conf` DISABLE KEYS */;
+/*!40000 ALTER TABLE `local_stream_conf` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `modless_conf`
+--
+
+DROP TABLE IF EXISTS `modless_conf`;
+CREATE TABLE `modless_conf` (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `conf_name` varchar(64) NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `modless_conf`
+--
+
+LOCK TABLES `modless_conf` WRITE;
+/*!40000 ALTER TABLE `modless_conf` DISABLE KEYS */;
+INSERT INTO `modless_conf` VALUES (1,'acl.conf'),(2,'postload_switch.conf'),(3,'mod_post_load_modules.conf');
+/*!40000 ALTER TABLE `modless_conf` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `post_load_modules_conf`
+--
+
+DROP TABLE IF EXISTS `post_load_modules_conf`;
+CREATE TABLE `post_load_modules_conf` (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `module_name` varchar(64) NOT NULL,
+ `load_module` tinyint(1) NOT NULL default '1',
+ `priority` int(10) unsigned NOT NULL default '1000',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `unique_mod` (`module_name`)
+) ENGINE=InnoDB AUTO_INCREMENT=54 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `post_load_modules_conf`
+--
+
+LOCK TABLES `post_load_modules_conf` WRITE;
+/*!40000 ALTER TABLE `post_load_modules_conf` DISABLE KEYS */;
+INSERT INTO `post_load_modules_conf` VALUES (1,'mod_sofia',1,2000),(2,'mod_iax',1,2000),(3,'mod_xml_rpc',1,100),(4,'mod_portaudio',1,1000),(5,'mod_enum',1,2000),(6,'mod_xml_cdr',1,1000),(7,'mod_spidermonkey',1,1000),(8,'mod_alsa',0,1000),(9,'mod_log_file',1,0),(10,'mod_commands',1,1000),(11,'mod_voicemail',1,1000),(12,'mod_dialplan_xml',1,150),(13,'mod_dialplan_asterisk',1,150),(14,'mod_openzap',0,1000),(15,'mod_woomera',0,1000),(17,'mod_speex',1,500),(18,'mod_ilbc',0,1000),(20,'mod_g723_1',1,500),(21,'mod_g729',1,500),(22,'mod_g722',1,500),(23,'mod_g726',1,500),(25,'mod_amr',1,500),(26,'mod_fifo',1,1000),(27,'mod_limit',1,1000),(28,'mod_syslog',1,0),(29,'mod_dingaling',1,2000),(30,'mod_cdr_csv',1,1000),(31,'mod_event_socket',1,100),(32,'mod_multicast',0,1000),(33,'mod_zeroconf',0,1000),(34,'mod_xmpp_event',0,1000),(35,'mod_sndfile',1,1000),(36,'mod_native_file',1,1000),(37,'mod_shout',1,1000),(38,'mod_local_stream',1,1000),(39,'mod_perl',0,1000),(40,'mod_python',0,1000),(41,'mod_java',0,1000),(42,'mod_cepstral',0,1000),(43,'mod_openmrcp',0,1000),(44,'mod_lumenvox',0,1000),(45,'mod_rss',0,1000),(46,'mod_say_de',1,1000),(47,'mod_say_fr',0,1000),(48,'mod_say_en',1,1000),(49,'mod_conference',1,1000),(50,'mod_ivr',0,1000),(51,'mod_console',1,0),(52,'mod_dptools',1,1500),(53,'mod_voipcodecs',1,500);
+/*!40000 ALTER TABLE `post_load_modules_conf` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `rss_conf`
+--
+
+DROP TABLE IF EXISTS `rss_conf`;
+CREATE TABLE `rss_conf` (
+ `id` int(11) NOT NULL auto_increment,
+ `directory_id` int(11) NOT NULL,
+ `feed` text NOT NULL,
+ `local_file` text NOT NULL,
+ `description` text,
+ `priority` int(11) NOT NULL default '1000',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM AUTO_INCREMENT=15 DEFAULT CHARSET=utf8;
+
+--
+-- Dumping data for table `rss_conf`
+--
+
+LOCK TABLES `rss_conf` WRITE;
+/*!40000 ALTER TABLE `rss_conf` DISABLE KEYS */;
+/*!40000 ALTER TABLE `rss_conf` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `sip_authentication`
+--
+
+DROP TABLE IF EXISTS `sip_authentication`;
+CREATE TABLE `sip_authentication` (
+ `nonce` varchar(255) default NULL,
+ `expires` int(11) default NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `sip_authentication`
+--
+
+LOCK TABLES `sip_authentication` WRITE;
+/*!40000 ALTER TABLE `sip_authentication` DISABLE KEYS */;
+/*!40000 ALTER TABLE `sip_authentication` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `sip_dialogs`
+--
+
+DROP TABLE IF EXISTS `sip_dialogs`;
+CREATE TABLE `sip_dialogs` (
+ `call_id` varchar(255) default NULL,
+ `uuid` varchar(255) default NULL,
+ `sip_to_user` varchar(255) default NULL,
+ `sip_to_host` varchar(255) default NULL,
+ `sip_from_user` varchar(255) default NULL,
+ `sip_from_host` varchar(255) default NULL,
+ `contact_user` varchar(255) default NULL,
+ `contact_host` varchar(255) default NULL,
+ `state` varchar(255) default NULL,
+ `direction` varchar(255) default NULL,
+ `user_agent` varchar(255) default NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `sip_dialogs`
+--
+
+LOCK TABLES `sip_dialogs` WRITE;
+/*!40000 ALTER TABLE `sip_dialogs` DISABLE KEYS */;
+/*!40000 ALTER TABLE `sip_dialogs` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `sip_registrations`
+--
+
+DROP TABLE IF EXISTS `sip_registrations`;
+CREATE TABLE `sip_registrations` (
+ `call_id` varchar(255) default NULL,
+ `sip_user` varchar(255) default NULL,
+ `sip_host` varchar(255) default NULL,
+ `contact` varchar(1024) default NULL,
+ `status` varchar(255) default NULL,
+ `rpid` varchar(255) default NULL,
+ `expires` int(11) default NULL,
+ `user_agent` varchar(255) default NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `sip_registrations`
+--
+
+LOCK TABLES `sip_registrations` WRITE;
+/*!40000 ALTER TABLE `sip_registrations` DISABLE KEYS */;
+/*!40000 ALTER TABLE `sip_registrations` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `sip_subscriptions`
+--
+
+DROP TABLE IF EXISTS `sip_subscriptions`;
+CREATE TABLE `sip_subscriptions` (
+ `proto` varchar(255) default NULL,
+ `sip_user` varchar(255) default NULL,
+ `sip_host` varchar(255) default NULL,
+ `sub_to_user` varchar(255) default NULL,
+ `sub_to_host` varchar(255) default NULL,
+ `event` varchar(255) default NULL,
+ `contact` varchar(1024) default NULL,
+ `call_id` varchar(255) default NULL,
+ `full_from` varchar(255) default NULL,
+ `full_via` varchar(255) default NULL,
+ `expires` int(11) default NULL,
+ `user_agent` varchar(255) default NULL,
+ `accept` varchar(255) default NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `sip_subscriptions`
+--
+
+LOCK TABLES `sip_subscriptions` WRITE;
+/*!40000 ALTER TABLE `sip_subscriptions` DISABLE KEYS */;
+/*!40000 ALTER TABLE `sip_subscriptions` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `sofia_aliases`
+--
+
+DROP TABLE IF EXISTS `sofia_aliases`;
+CREATE TABLE `sofia_aliases` (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `sofia_id` int(10) unsigned NOT NULL,
+ `alias_name` varchar(255) NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `sofia_aliases`
+--
+
+LOCK TABLES `sofia_aliases` WRITE;
+/*!40000 ALTER TABLE `sofia_aliases` DISABLE KEYS */;
+INSERT INTO `sofia_aliases` VALUES (1,1,'default'),(3,1,'sip.example.com');
+/*!40000 ALTER TABLE `sofia_aliases` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `sofia_conf`
+--
+
+DROP TABLE IF EXISTS `sofia_conf`;
+CREATE TABLE `sofia_conf` (
+ `id` int(11) NOT NULL auto_increment,
+ `profile_name` varchar(255) default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `sofia_conf`
+--
+
+LOCK TABLES `sofia_conf` WRITE;
+/*!40000 ALTER TABLE `sofia_conf` DISABLE KEYS */;
+INSERT INTO `sofia_conf` VALUES (1,'$${domain}');
+/*!40000 ALTER TABLE `sofia_conf` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `sofia_domains`
+--
+
+DROP TABLE IF EXISTS `sofia_domains`;
+CREATE TABLE `sofia_domains` (
+ `id` int(11) NOT NULL auto_increment,
+ `sofia_id` int(11) default NULL,
+ `domain_name` varchar(255) default NULL,
+ `parse` tinyint(1) default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `sofia_domains`
+--
+
+LOCK TABLES `sofia_domains` WRITE;
+/*!40000 ALTER TABLE `sofia_domains` DISABLE KEYS */;
+/*!40000 ALTER TABLE `sofia_domains` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `sofia_gateways`
+--
+
+DROP TABLE IF EXISTS `sofia_gateways`;
+CREATE TABLE `sofia_gateways` (
+ `id` int(11) NOT NULL auto_increment,
+ `sofia_id` int(11) default NULL,
+ `gateway_name` varchar(255) default NULL,
+ `gateway_param` varchar(255) default NULL,
+ `gateway_value` varchar(255) default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `sofia_gateways`
+--
+
+LOCK TABLES `sofia_gateways` WRITE;
+/*!40000 ALTER TABLE `sofia_gateways` DISABLE KEYS */;
+INSERT INTO `sofia_gateways` VALUES (8,1,'default','proxy','asterlink.com'),(9,1,'default','realm','asterlink.com'),(10,1,'default','username','USERNAME_HERE'),(11,1,'default','register','false'),(12,1,'default','expire-seconds','60'),(13,1,'default','retry_seconds','2'),(14,1,'default','password','PASSWORD_HERE');
+/*!40000 ALTER TABLE `sofia_gateways` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `sofia_settings`
+--
+
+DROP TABLE IF EXISTS `sofia_settings`;
+CREATE TABLE `sofia_settings` (
+ `id` int(11) NOT NULL auto_increment,
+ `sofia_id` int(11) default NULL,
+ `param_name` varchar(255) default NULL,
+ `param_value` varchar(255) default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `sofia_settings`
+--
+
+LOCK TABLES `sofia_settings` WRITE;
+/*!40000 ALTER TABLE `sofia_settings` DISABLE KEYS */;
+INSERT INTO `sofia_settings` VALUES (1,1,'user-agent-string','RayUA 2.0pre4'),(2,1,'auth-calls','true'),(5,1,'debug','1'),(6,1,'rfc2833-pt','101'),(7,1,'sip-port','5060'),(8,1,'dialplan','XML'),(9,1,'dtmf-duration','100'),(10,1,'codec-prefs','$${global_codec_prefs}'),(11,1,'rtp-timeout-sec','300'),(12,1,'rtp-ip','$${local_ip_v4}'),(13,1,'sip-ip','$${local_ip_v4}'),(14,1,'context','default'),(15,1,'manage-presence','true'),(16,1,'force-register-domain','intralanman.servehttp.com'),(17,1,'inbound-codec-negotiation','generous'),(18,1,'rtp-rewrite-timestampes','true'),(19,1,'nonce-ttl','60'),(20,1,'vad','out'),(36,1,'odbc-dsn','freeswitch-mysql:freeswitch:Fr33Sw1tch');
+/*!40000 ALTER TABLE `sofia_settings` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `voicemail_conf`
+--
+
+DROP TABLE IF EXISTS `voicemail_conf`;
+CREATE TABLE `voicemail_conf` (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `vm_profile` varchar(64) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `unique_profile` (`vm_profile`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `voicemail_conf`
+--
+
+LOCK TABLES `voicemail_conf` WRITE;
+/*!40000 ALTER TABLE `voicemail_conf` DISABLE KEYS */;
+INSERT INTO `voicemail_conf` VALUES (1,'default');
+/*!40000 ALTER TABLE `voicemail_conf` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `voicemail_email`
+--
+
+DROP TABLE IF EXISTS `voicemail_email`;
+CREATE TABLE `voicemail_email` (
+ `id` int(10) unsigned NOT NULL auto_increment,
+ `voicemail_id` int(10) unsigned NOT NULL,
+ `param_name` varchar(64) NOT NULL,
+ `param_value` varchar(64) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `unique_profile_param` (`param_name`,`voicemail_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `voicemail_email`
+--
+
+LOCK TABLES `voicemail_email` WRITE;
+/*!40000 ALTER TABLE `voicemail_email` DISABLE KEYS */;
+INSERT INTO `voicemail_email` VALUES (1,1,'template-file','voicemail.tpl'),(2,1,'date-fmt','%A, %B %d %Y, %I %M %p'),(3,1,'email-from','${voicemail_account}@${voicemail_domain}');
+/*!40000 ALTER TABLE `voicemail_email` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `voicemail_settings`
+--
+
+DROP TABLE IF EXISTS `voicemail_settings`;
+CREATE TABLE `voicemail_settings` (
+ `id` int(11) NOT NULL auto_increment,
+ `voicemail_id` int(11) default NULL,
+ `param_name` varchar(255) default NULL,
+ `param_value` varchar(255) default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `voicemail_settings`
+--
+
+LOCK TABLES `voicemail_settings` WRITE;
+/*!40000 ALTER TABLE `voicemail_settings` DISABLE KEYS */;
+INSERT INTO `voicemail_settings` VALUES (1,1,'file-extension','wav'),(2,1,'terminator-key','#'),(3,1,'max-login-attempts','3'),(4,1,'digit-timeout','10000'),(5,1,'max-record-length','300'),(6,1,'tone-spec','%(1000, 0, 640)'),(7,1,'callback-dialplan','XML'),(8,1,'callback-context','default'),(9,1,'play-new-messages-key','1'),(10,1,'play-saved-messages-key','2'),(11,1,'main-menu-key','*'),(12,1,'config-menu-key','5'),(13,1,'record-greeting-key','1'),(14,1,'choose-greeting-key','2'),(15,1,'record-file-key','3'),(16,1,'listen-file-key','1'),(17,1,'record-name-key','3'),(18,1,'save-file-key','9'),(19,1,'delete-file-key','7'),(20,1,'undelete-file-key','8'),(21,1,'email-key','4'),(22,1,'pause-key','0'),(23,1,'restart-key','1'),(24,1,'ff-key','6'),(25,1,'rew-key','4'),(26,1,'record-silence-threshold','200'),(27,1,'record-silence-hits','2'),(28,1,'web-template-file','web-vm.tpl'),(29,1,'operator-extension','operator XML default'),(30,1,'operator-key','9');
+/*!40000 ALTER TABLE `voicemail_settings` ENABLE KEYS */;
+UNLOCK TABLES;
+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+
+-- Dump completed on 2008-07-25 0:11:32
1
0
25 Jul '08
Author: brian
Date: Thu Jul 24 20:28:18 2008
New Revision: 9177
Modified:
freeswitch/trunk/src/mod/applications/mod_timezone/mod_timezone.c
Log:
remove non standard comment string
Modified: freeswitch/trunk/src/mod/applications/mod_timezone/mod_timezone.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_timezone/mod_timezone.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_timezone/mod_timezone.c Thu Jul 24 20:28:18 2008
@@ -204,7 +204,6 @@
return SWITCH_STATUS_SUCCESS;
}
-// Called when the system shuts down
SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_timezone_shutdown)
{
@@ -219,7 +218,6 @@
return SWITCH_STATUS_UNLOAD;
}
-
/* For Emacs:
* Local Variables:
* mode:c
1
0
Author: brian
Date: Thu Jul 24 20:25:42 2008
New Revision: 9176
Modified:
freeswitch/trunk/build/modules.conf.in
Log:
add to modules.conf.in
Modified: freeswitch/trunk/build/modules.conf.in
==============================================================================
--- freeswitch/trunk/build/modules.conf.in (original)
+++ freeswitch/trunk/build/modules.conf.in Thu Jul 24 20:25:42 2008
@@ -2,6 +2,7 @@
loggers/mod_logfile
loggers/mod_syslog
applications/mod_commands
+applications/mod_timezone
applications/mod_conference
applications/mod_dptools
applications/mod_enum
1
0
[commit] r9175 - in freeswitch/trunk: conf/autoload_configs src/mod/applications/mod_timezone
by Freeswitch SVN 25 Jul '08
by Freeswitch SVN 25 Jul '08
25 Jul '08
Author: brian
Date: Thu Jul 24 20:25:18 2008
New Revision: 9175
Added:
freeswitch/trunk/conf/autoload_configs/timezones.conf.xml
freeswitch/trunk/src/mod/applications/mod_timezone/
freeswitch/trunk/src/mod/applications/mod_timezone/Makefile
freeswitch/trunk/src/mod/applications/mod_timezone/localtime_find.c
freeswitch/trunk/src/mod/applications/mod_timezone/mod_timezone.c
freeswitch/trunk/src/mod/applications/mod_timezone/mod_timezone.h
Log:
add mod_timezone from CtRiX thanks
Added: freeswitch/trunk/conf/autoload_configs/timezones.conf.xml
==============================================================================
--- (empty file)
+++ freeswitch/trunk/conf/autoload_configs/timezones.conf.xml Thu Jul 24 20:25:18 2008
@@ -0,0 +1,551 @@
+<configuration name="timezones.conf" description="Timezones">
+ <timezones>
+ <zone name="Africa/Abidjan" value="GMT0" />
+ <zone name="Africa/Accra" value="GMT0" />
+ <zone name="Africa/Addis_Ababa" value="EAT-3" />
+ <zone name="Africa/Algiers" value="CET-1" />
+ <zone name="Africa/Asmara" value="EAT-3" />
+ <zone name="Africa/Asmera" value="EAT-3" />
+ <zone name="Africa/Bamako" value="GMT0" />
+ <zone name="Africa/Bangui" value="WAT-1" />
+ <zone name="Africa/Banjul" value="GMT0" />
+ <zone name="Africa/Bissau" value="GMT0" />
+ <zone name="Africa/Blantyre" value="CAT-2" />
+ <zone name="Africa/Brazzaville" value="WAT-1" />
+ <zone name="Africa/Bujumbura" value="CAT-2" />
+ <zone name="Africa/Cairo" value="EEST" />
+ <zone name="Africa/Casablanca" value="WET0" />
+ <zone name="Africa/Ceuta" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Africa/Conakry" value="GMT0" />
+ <zone name="Africa/Dakar" value="GMT0" />
+ <zone name="Africa/Dar_es_Salaam" value="EAT-3" />
+ <zone name="Africa/Djibouti" value="EAT-3" />
+ <zone name="Africa/Douala" value="WAT-1" />
+ <zone name="Africa/El_Aaiun" value="WET0" />
+ <zone name="Africa/Freetown" value="GMT0" />
+ <zone name="Africa/Gaborone" value="CAT-2" />
+ <zone name="Africa/Harare" value="CAT-2" />
+ <zone name="Africa/Johannesburg" value="SAST-2" />
+ <zone name="Africa/Kampala" value="EAT-3" />
+ <zone name="Africa/Khartoum" value="EAT-3" />
+ <zone name="Africa/Kigali" value="CAT-2" />
+ <zone name="Africa/Kinshasa" value="WAT-1" />
+ <zone name="Africa/Lagos" value="WAT-1" />
+ <zone name="Africa/Libreville" value="WAT-1" />
+ <zone name="Africa/Lome" value="GMT0" />
+ <zone name="Africa/Luanda" value="WAT-1" />
+ <zone name="Africa/Lubumbashi" value="CAT-2" />
+ <zone name="Africa/Lusaka" value="CAT-2" />
+ <zone name="Africa/Malabo" value="WAT-1" />
+ <zone name="Africa/Maputo" value="CAT-2" />
+ <zone name="Africa/Maseru" value="SAST-2" />
+ <zone name="Africa/Mbabane" value="SAST-2" />
+ <zone name="Africa/Mogadishu" value="EAT-3" />
+ <zone name="Africa/Monrovia" value="GMT0" />
+ <zone name="Africa/Nairobi" value="EAT-3" />
+ <zone name="Africa/Ndjamena" value="WAT-1" />
+ <zone name="Africa/Niamey" value="WAT-1" />
+ <zone name="Africa/Nouakchott" value="GMT0" />
+ <zone name="Africa/Ouagadougou" value="GMT0" />
+ <zone name="Africa/Porto-Novo" value="WAT-1" />
+ <zone name="Africa/Sao_Tome" value="GMT0" />
+ <zone name="Africa/Timbuktu" value="GMT0" />
+ <zone name="Africa/Tripoli" value="EET-2" />
+ <zone name="Africa/Tunis" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Africa/Windhoek" value="WAT-1WAST,M9.1.0,M4.1.0" />
+
+ <zone name="America/Adak" value="HAST10HADT,M3.2.0,M11.1.0" />
+ <zone name="America/Anchorage" value="AKST9AKDT,M3.2.0,M11.1.0" />
+ <zone name="America/Anguilla" value="AST4" />
+ <zone name="America/Antigua" value="AST4" />
+ <zone name="America/Araguaina" value="BRT3" />
+ <zone name="America/Argentina/Buenos_Aires" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Catamarca" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/ComodRivadavia" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Cordoba" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Jujuy" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/La_Rioja" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Mendoza" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Rio_Gallegos" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/San_Juan" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/San_Luis" value="ART3" />
+ <zone name="America/Argentina/Tucuman" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Argentina/Ushuaia" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Aruba" value="AST4" />
+ <zone name="America/Asuncion" value="PYT4PYST,M10.3.0/0,M3.2.0/0" />
+ <zone name="America/Atikokan" value="EST5" />
+ <zone name="America/Atka" value="HAST10HADT,M3.2.0,M11.1.0" />
+ <zone name="America/Bahia" value="BRT3" />
+ <zone name="America/Barbados" value="AST4" />
+ <zone name="America/Belem" value="BRT3" />
+ <zone name="America/Belize" value="CST6" />
+ <zone name="America/Blanc-Sablon" value="AST4" />
+ <zone name="America/Boa_Vista" value="AMT4" />
+ <zone name="America/Bogota" value="COT5" />
+ <zone name="America/Boise" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/Buenos_Aires" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Cambridge_Bay" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/Campo_Grande" value="AMT4AMST,M10.2.0/0,M2.3.0/0" />
+ <zone name="America/Cancun" value="CST6CDT,M4.1.0,M10.5.0" />
+ <zone name="America/Caracas" value="VET4:30" />
+ <zone name="America/Catamarca" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Cayenne" value="GFT3" />
+ <zone name="America/Cayman" value="EST5" />
+ <zone name="America/Chicago" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Chihuahua" value="MST7MDT,M4.1.0,M10.5.0" />
+ <zone name="America/Coral_Harbour" value="EST5" />
+ <zone name="America/Cordoba" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Costa_Rica" value="CST6" />
+ <zone name="America/Cuiaba" value="AMT4AMST,M10.2.0/0,M2.3.0/0" />
+ <zone name="America/Curacao" value="AST4" />
+ <zone name="America/Danmarkshavn" value="GMT0" />
+ <zone name="America/Dawson" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="America/Dawson_Creek" value="MST7" />
+ <zone name="America/Denver" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/Detroit" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Dominica" value="AST4" />
+ <zone name="America/Edmonton" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/Eirunepe" value="ACT5" />
+ <zone name="America/El_Salvador" value="CST6" />
+ <zone name="America/Ensenada" value="PST8PDT,M4.1.0,M10.5.0" />
+ <zone name="America/Fortaleza" value="BRT3" />
+ <zone name="America/Fort_Wayne" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Glace_Bay" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="America/Godthab" value="WGST" />
+ <zone name="America/Goose_Bay" value="AST4ADT,M3.2.0/0:01,M11.1.0/0:01" />
+ <zone name="America/Grand_Turk" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Grenada" value="AST4" />
+ <zone name="America/Guadeloupe" value="AST4" />
+ <zone name="America/Guatemala" value="CST6" />
+ <zone name="America/Guayaquil" value="ECT5" />
+ <zone name="America/Guyana" value="GYT4" />
+ <zone name="America/Halifax" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="America/Havana" value="CST5CDT,M3.3.0/0,M10.5.0/1" />
+ <zone name="America/Hermosillo" value="MST7" />
+ <zone name="America/Indiana/Indianapolis" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Knox" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Marengo" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Petersburg" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indianapolis" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Tell_City" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Vevay" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Vincennes" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Indiana/Winamac" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Inuvik" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/Iqaluit" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Jamaica" value="EST5" />
+ <zone name="America/Jujuy" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Juneau" value="AKST9AKDT,M3.2.0,M11.1.0" />
+ <zone name="America/Kentucky/Louisville" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Kentucky/Monticello" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Knox_IN" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/La_Paz" value="BOT4" />
+ <zone name="America/Lima" value="PET5" />
+ <zone name="America/Los_Angeles" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="America/Louisville" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Maceio" value="BRT3" />
+ <zone name="America/Managua" value="CST6" />
+ <zone name="America/Manaus" value="AMT4" />
+ <zone name="America/Marigot" value="AST4" />
+ <zone name="America/Martinique" value="AST4" />
+ <zone name="America/Mazatlan" value="MST7MDT,M4.1.0,M10.5.0" />
+ <zone name="America/Mendoza" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Menominee" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Merida" value="CST6CDT,M4.1.0,M10.5.0" />
+ <zone name="America/Mexico_City" value="CST6CDT,M4.1.0,M10.5.0" />
+ <zone name="America/Miquelon" value="PMST3PMDT,M3.2.0,M11.1.0" />
+ <zone name="America/Moncton" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="America/Monterrey" value="CST6CDT,M4.1.0,M10.5.0" />
+ <zone name="America/Montevideo" value="UYT3UYST,M10.1.0,M3.2.0" />
+ <zone name="America/Montreal" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Montserrat" value="AST4" />
+ <zone name="America/Nassau" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/New_York" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Nipigon" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Nome" value="AKST9AKDT,M3.2.0,M11.1.0" />
+ <zone name="America/Noronha" value="FNT2" />
+ <zone name="America/North_Dakota/Center" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/North_Dakota/New_Salem" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Panama" value="EST5" />
+ <zone name="America/Pangnirtung" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Paramaribo" value="SRT3" />
+ <zone name="America/Phoenix" value="MST7" />
+ <zone name="America/Port-au-Prince" value="EST5" />
+ <zone name="America/Porto_Acre" value="ACT5" />
+ <zone name="America/Port_of_Spain" value="AST4" />
+ <zone name="America/Porto_Velho" value="AMT4" />
+ <zone name="America/Puerto_Rico" value="AST4" />
+ <zone name="America/Rainy_River" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Rankin_Inlet" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Recife" value="BRT3" />
+ <zone name="America/Regina" value="CST6" />
+ <zone name="America/Resolute" value="EST5" />
+ <zone name="America/Rio_Branco" value="ACT5" />
+ <zone name="America/Rosario" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+ <zone name="America/Santiago" value="CLST" />
+ <zone name="America/Santo_Domingo" value="AST4" />
+ <zone name="America/Sao_Paulo" value="BRT3BRST,M10.2.0/0,M2.3.0/0" />
+ <zone name="America/Scoresbysund" value="EGT1EGST,M3.5.0/0,M10.5.0/1" />
+ <zone name="America/Shiprock" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="America/St_Barthelemy" value="AST4" />
+ <zone name="America/St_Johns" value="NST3:30NDT,M3.2.0/0:01,M11.1.0/0:01" />
+ <zone name="America/St_Kitts" value="AST4" />
+ <zone name="America/St_Lucia" value="AST4" />
+ <zone name="America/St_Thomas" value="AST4" />
+ <zone name="America/St_Vincent" value="AST4" />
+ <zone name="America/Swift_Current" value="CST6" />
+ <zone name="America/Tegucigalpa" value="CST6" />
+ <zone name="America/Thule" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="America/Thunder_Bay" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Tijuana" value="PST8PDT,M4.1.0,M10.5.0" />
+ <zone name="America/Toronto" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="America/Tortola" value="AST4" />
+ <zone name="America/Vancouver" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="America/Virgin" value="AST4" />
+ <zone name="America/Whitehorse" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="America/Winnipeg" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="America/Yakutat" value="AKST9AKDT,M3.2.0,M11.1.0" />
+ <zone name="America/Yellowknife" value="MST7MDT,M3.2.0,M11.1.0" />
+
+ <zone name="Antarctica/Casey" value="WST-8" />
+ <zone name="Antarctica/Davis" value="DAVT-7" />
+ <zone name="Antarctica/DumontDUrville" value="DDUT-10" />
+ <zone name="Antarctica/Mawson" value="MAWT-6" />
+ <zone name="Antarctica/McMurdo" value="NZST-12NZDT,M9.5.0,M4.1.0/3" />
+ <zone name="Antarctica/Palmer" value="CLST" />
+ <zone name="Antarctica/Rothera" value="ROTT3" />
+ <zone name="Antarctica/South_Pole" value="NZST-12NZDT,M9.5.0,M4.1.0/3" />
+ <zone name="Antarctica/Syowa" value="SYOT-3" />
+ <zone name="Antarctica/Vostok" value="VOST-6" />
+
+ <zone name="Arctic/Longyearbyen" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+
+ <zone name="Asia/Aden" value="AST-3" />
+ <zone name="Asia/Almaty" value="ALMT-6" />
+ <zone name="Asia/Amman" value="EET-2EEST,M3.5.4/0,M10.5.5/1" />
+ <zone name="Asia/Anadyr" value="ANAT-12ANAST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Aqtau" value="AQTT-5" />
+ <zone name="Asia/Aqtobe" value="AQTT-5" />
+ <zone name="Asia/Ashgabat" value="TMT-5" />
+ <zone name="Asia/Ashkhabad" value="TMT-5" />
+ <zone name="Asia/Baghdad" value="AST-3" />
+ <zone name="Asia/Bahrain" value="AST-3" />
+ <zone name="Asia/Baku" value="AZT-4AZST,M3.5.0/4,M10.5.0/5" />
+ <zone name="Asia/Bangkok" value="ICT-7" />
+ <zone name="Asia/Beirut" value="EET-2EEST,M3.5.0/0,M10.5.0/0" />
+ <zone name="Asia/Bishkek" value="KGT-6" />
+ <zone name="Asia/Brunei" value="BNT-8" />
+ <zone name="Asia/Calcutta" value="IST-5:30" />
+ <zone name="Asia/Choibalsan" value="CHOT-9" />
+ <zone name="Asia/Chongqing" value="CST-8" />
+ <zone name="Asia/Chungking" value="CST-8" />
+ <zone name="Asia/Colombo" value="IST-5:30" />
+ <zone name="Asia/Dacca" value="BDT-6" />
+ <zone name="Asia/Damascus" value="EET-2EEST,M4.1.5/0,J274/0" />
+ <zone name="Asia/Dhaka" value="BDT-6" />
+ <zone name="Asia/Dili" value="TLT-9" />
+ <zone name="Asia/Dubai" value="GST-4" />
+ <zone name="Asia/Dushanbe" value="TJT-5" />
+ <zone name="Asia/Gaza" value="EET-2EEST,J91/0,M9.2.4" />
+ <zone name="Asia/Harbin" value="CST-8" />
+ <zone name="Asia/Ho_Chi_Minh" value="ICT-7" />
+ <zone name="Asia/Hong_Kong" value="HKT-8" />
+ <zone name="Asia/Hovd" value="HOVT-7" />
+ <zone name="Asia/Irkutsk" value="IRKT-8IRKST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Istanbul" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Asia/Jakarta" value="WIT-7" />
+ <zone name="Asia/Jayapura" value="EIT-9" />
+ <zone name="Asia/Jerusalem" value="IDDT" />
+ <zone name="Asia/Kabul" value="AFT-4:30" />
+ <zone name="Asia/Kamchatka" value="PETT-12PETST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Karachi" value="PKT-5" />
+ <zone name="Asia/Kashgar" value="CST-8" />
+ <zone name="Asia/Katmandu" value="NPT-5:45" />
+ <zone name="Asia/Kolkata" value="IST-5:30" />
+ <zone name="Asia/Krasnoyarsk" value="KRAT-7KRAST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Kuala_Lumpur" value="MYT-8" />
+ <zone name="Asia/Kuching" value="MYT-8" />
+ <zone name="Asia/Kuwait" value="AST-3" />
+ <zone name="Asia/Macao" value="CST-8" />
+ <zone name="Asia/Macau" value="CST-8" />
+ <zone name="Asia/Magadan" value="MAGT-11MAGST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Makassar" value="CIT-8" />
+ <zone name="Asia/Manila" value="PHT-8" />
+ <zone name="Asia/Muscat" value="GST-4" />
+ <zone name="Asia/Nicosia" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Asia/Novosibirsk" value="NOVT-6NOVST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Omsk" value="OMST-6OMSST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Oral" value="ORAT-5" />
+ <zone name="Asia/Phnom_Penh" value="ICT-7" />
+ <zone name="Asia/Pontianak" value="WIT-7" />
+ <zone name="Asia/Pyongyang" value="KST-9" />
+ <zone name="Asia/Qatar" value="AST-3" />
+ <zone name="Asia/Qyzylorda" value="QYZT-6" />
+ <zone name="Asia/Rangoon" value="MMT-6:30" />
+ <zone name="Asia/Riyadh" value="AST-3" />
+ <zone name="Asia/Riyadh87" value="zzz-3:07:04" />
+ <zone name="Asia/Riyadh88" value="zzz-3:07:04" />
+ <zone name="Asia/Riyadh89" value="zzz-3:07:04" />
+ <zone name="Asia/Saigon" value="ICT-7" />
+ <zone name="Asia/Sakhalin" value="SAKT-10SAKST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Samarkand" value="UZT-5" />
+ <zone name="Asia/Seoul" value="KST-9" />
+ <zone name="Asia/Shanghai" value="CST-8" />
+ <zone name="Asia/Singapore" value="SGT-8" />
+ <zone name="Asia/Taipei" value="CST-8" />
+ <zone name="Asia/Tashkent" value="UZT-5" />
+ <zone name="Asia/Tbilisi" value="GET-4" />
+ <zone name="Asia/Tehran" value="IRDT" />
+ <zone name="Asia/Tel_Aviv" value="IDDT" />
+ <zone name="Asia/Thimbu" value="BTT-6" />
+ <zone name="Asia/Thimphu" value="BTT-6" />
+ <zone name="Asia/Tokyo" value="JST-9" />
+ <zone name="Asia/Ujung_Pandang" value="CIT-8" />
+ <zone name="Asia/Ulaanbaatar" value="ULAT-8" />
+ <zone name="Asia/Ulan_Bator" value="ULAT-8" />
+ <zone name="Asia/Urumqi" value="CST-8" />
+ <zone name="Asia/Vientiane" value="ICT-7" />
+ <zone name="Asia/Vladivostok" value="VLAT-10VLAST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Yakutsk" value="YAKT-9YAKST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Yekaterinburg" value="YEKT-5YEKST,M3.5.0,M10.5.0/3" />
+ <zone name="Asia/Yerevan" value="AMT-4AMST,M3.5.0,M10.5.0/3" />
+
+ <zone name="Atlantic/Azores" value="AZOT1AZOST,M3.5.0/0,M10.5.0/1" />
+ <zone name="Atlantic/Bermuda" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="Atlantic/Canary" value="WET0WEST,M3.5.0/1,M10.5.0" />
+ <zone name="Atlantic/Cape_Verde" value="CVT1" />
+ <zone name="Atlantic/Faeroe" value="WET0WEST,M3.5.0/1,M10.5.0" />
+ <zone name="Atlantic/Faroe" value="WET0WEST,M3.5.0/1,M10.5.0" />
+ <zone name="Atlantic/Jan_Mayen" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Atlantic/Madeira" value="WET0WEST,M3.5.0/1,M10.5.0" />
+ <zone name="Atlantic/Reykjavik" value="GMT0" />
+ <zone name="Atlantic/South_Georgia" value="GST2" />
+ <zone name="Atlantic/Stanley" value="FKT4FKST,M9.1.0,M4.3.0" />
+ <zone name="Atlantic/St_Helena" value="GMT0" />
+
+ <zone name="Australia/ACT" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Adelaide" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Brisbane" value="EST-10" />
+ <zone name="Australia/Broken_Hill" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Canberra" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Currie" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Darwin" value="CST-9:30" />
+ <zone name="Australia/Eucla" value="CWST-8:45" />
+ <zone name="Australia/Hobart" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/LHI" value="LHST-10:30LHST-11,M10.1.0,M4.1.0" />
+ <zone name="Australia/Lindeman" value="EST-10" />
+ <zone name="Australia/Lord_Howe" value="LHST-10:30LHST-11,M10.1.0,M4.1.0" />
+ <zone name="Australia/Melbourne" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/North" value="CST-9:30" />
+ <zone name="Australia/NSW" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Perth" value="WST-8" />
+ <zone name="Australia/Queensland" value="EST-10" />
+ <zone name="Australia/South" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Sydney" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Tasmania" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/Victoria" value="EST-10EST,M10.1.0,M4.1.0/3" />
+ <zone name="Australia/West" value="WST-8" />
+ <zone name="Australia/Yancowinna" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
+
+ <zone name="Brazil/Acre" value="ACT5" />
+ <zone name="Brazil/DeNoronha" value="FNT2" />
+ <zone name="Brazil/East" value="BRT3BRST,M10.2.0/0,M2.3.0/0" />
+ <zone name="Brazil/West" value="AMT4" />
+
+ <zone name="Canada/Atlantic" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="Canada/Central" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="Canada/Eastern" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="Canada/East-Saskatchewan" value="CST6" />
+ <zone name="Canada/Mountain" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="Canada/Newfoundland" value="NST3:30NDT,M3.2.0/0:01,M11.1.0/0:01" />
+ <zone name="Canada/Pacific" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="Canada/Saskatchewan" value="CST6" />
+ <zone name="Canada/Yukon" value="PST8PDT,M3.2.0,M11.1.0" />
+
+ <zone name="Chile/Continental" value="CLST" />
+ <zone name="Chile/EasterIsland" value="EASST" />
+
+ <zone name="Etc/GMT" value="GMT0" />
+ <zone name="Etc/GMT0" value="GMT0" />
+ <zone name="Etc/GMT-0" value="GMT0" />
+ <zone name="Etc/GMT+0" value="GMT0" />
+ <zone name="Etc/GMT-1" value="GMT-1" />
+ <zone name="Etc/GMT+1" value="GMT+1" />
+ <zone name="Etc/GMT-10" value="GMT-10" />
+ <zone name="Etc/GMT+10" value="GMT+10" />
+ <zone name="Etc/GMT-11" value="GMT-11" />
+ <zone name="Etc/GMT+11" value="GMT+11" />
+ <zone name="Etc/GMT-12" value="GMT-12" />
+ <zone name="Etc/GMT+12" value="GMT+12" />
+ <zone name="Etc/GMT-13" value="GMT-13" />
+ <zone name="Etc/GMT-14" value="GMT-14" />
+ <zone name="Etc/GMT-2" value="GMT-2" />
+ <zone name="Etc/GMT+2" value="GMT+2" />
+ <zone name="Etc/GMT-3" value="GMT-3" />
+ <zone name="Etc/GMT+3" value="GMT+3" />
+ <zone name="Etc/GMT-4" value="GMT-4" />
+ <zone name="Etc/GMT+4" value="GMT+4" />
+ <zone name="Etc/GMT-5" value="GMT-5" />
+ <zone name="Etc/GMT+5" value="GMT+5" />
+ <zone name="Etc/GMT-6" value="GMT-6" />
+ <zone name="Etc/GMT+6" value="GMT+6" />
+ <zone name="Etc/GMT-7" value="GMT-7" />
+ <zone name="Etc/GMT+7" value="GMT+7" />
+ <zone name="Etc/GMT-8" value="GMT-8" />
+ <zone name="Etc/GMT+8" value="GMT+8" />
+ <zone name="Etc/GMT-9" value="GMT-9" />
+ <zone name="Etc/GMT+9" value="GMT+9" />
+ <zone name="Etc/Greenwich" value="GMT0" />
+ <zone name="Etc/UCT" value="UCT0" />
+ <zone name="Etc/Universal" value="UTC0" />
+ <zone name="Etc/UTC" value="UTC0" />
+ <zone name="Etc/Zulu" value="UTC0" />
+
+ <zone name="Europe/Amsterdam" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Andorra" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Athens" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Belfast" value="GMT0BST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Belgrade" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Berlin" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Bratislava" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Brussels" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Bucharest" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Budapest" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Chisinau" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Copenhagen" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Dublin" value="GMT0IST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Gibraltar" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Guernsey" value="GMT0BST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Helsinki" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Isle_of_Man" value="GMT0BST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Istanbul" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Jersey" value="GMT0BST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Kaliningrad" value="EET-2EEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Kiev" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Lisbon" value="WET0WEST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Ljubljana" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/London" value="GMT0BST,M3.5.0/1,M10.5.0" />
+ <zone name="Europe/Luxembourg" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Madrid" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Malta" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Mariehamn" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Minsk" value="EET-2EEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Monaco" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Moscow" value="MSK-3MSD,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Nicosia" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Oslo" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Paris" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Podgorica" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Prague" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Riga" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Rome" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Samara" value="SAMT-4SAMST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/San_Marino" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Sarajevo" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Simferopol" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Skopje" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Sofia" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Stockholm" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Tallinn" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Tirane" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Tiraspol" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Uzhgorod" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Vaduz" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Vatican" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Vienna" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Vilnius" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Volgograd" value="VOLT-3VOLST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Warsaw" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Zagreb" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+ <zone name="Europe/Zaporozhye" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+ <zone name="Europe/Zurich" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+
+ <zone name="Indian/Antananarivo" value="EAT-3" />
+ <zone name="Indian/Chagos" value="IOT-6" />
+ <zone name="Indian/Christmas" value="CXT-7" />
+ <zone name="Indian/Cocos" value="CCT-6:30" />
+ <zone name="Indian/Comoro" value="EAT-3" />
+ <zone name="Indian/Kerguelen" value="TFT-5" />
+ <zone name="Indian/Mahe" value="SCT-4" />
+ <zone name="Indian/Maldives" value="MVT-5" />
+ <zone name="Indian/Mauritius" value="MUT-4" />
+ <zone name="Indian/Mayotte" value="EAT-3" />
+ <zone name="Indian/Reunion" value="RET-4" />
+
+ <zone name="Mexico/BajaNorte" value="PST8PDT,M4.1.0,M10.5.0" />
+ <zone name="Mexico/BajaSur" value="MST7MDT,M4.1.0,M10.5.0" />
+ <zone name="Mexico/General" value="CST6CDT,M4.1.0,M10.5.0" />
+
+ <zone name="Mideast/Riyadh87" value="zzz-3:07:04" />
+ <zone name="Mideast/Riyadh88" value="zzz-3:07:04" />
+ <zone name="Mideast/Riyadh89" value="zzz-3:07:04" />
+
+ <zone name="Pacific/Apia" value="WST11" />
+ <zone name="Pacific/Auckland" value="NZST-12NZDT,M9.5.0,M4.1.0/3" />
+ <zone name="Pacific/Chatham" value="CHAST-12:45CHADT,M9.5.0/2:45,M4.1.0/3:45" />
+ <zone name="Pacific/Easter" value="EASST" />
+ <zone name="Pacific/Efate" value="VUT-11" />
+ <zone name="Pacific/Enderbury" value="PHOT-13" />
+ <zone name="Pacific/Fakaofo" value="TKT10" />
+ <zone name="Pacific/Fiji" value="FJT-12" />
+ <zone name="Pacific/Funafuti" value="TVT-12" />
+ <zone name="Pacific/Galapagos" value="GALT6" />
+ <zone name="Pacific/Gambier" value="GAMT9" />
+ <zone name="Pacific/Guadalcanal" value="SBT-11" />
+ <zone name="Pacific/Guam" value="ChST-10" />
+ <zone name="Pacific/Honolulu" value="HST10" />
+ <zone name="Pacific/Johnston" value="HST10" />
+ <zone name="Pacific/Kiritimati" value="LINT-14" />
+ <zone name="Pacific/Kosrae" value="KOST-11" />
+ <zone name="Pacific/Kwajalein" value="MHT-12" />
+ <zone name="Pacific/Majuro" value="MHT-12" />
+ <zone name="Pacific/Marquesas" value="MART9:30" />
+ <zone name="Pacific/Midway" value="SST11" />
+ <zone name="Pacific/Nauru" value="NRT-12" />
+ <zone name="Pacific/Niue" value="NUT11" />
+ <zone name="Pacific/Norfolk" value="NFT-11:30" />
+ <zone name="Pacific/Noumea" value="NCT-11" />
+ <zone name="Pacific/Pago_Pago" value="SST11" />
+ <zone name="Pacific/Palau" value="PWT-9" />
+ <zone name="Pacific/Pitcairn" value="PST8" />
+ <zone name="Pacific/Ponape" value="PONT-11" />
+ <zone name="Pacific/Port_Moresby" value="PGT-10" />
+ <zone name="Pacific/Rarotonga" value="CKT10" />
+ <zone name="Pacific/Saipan" value="ChST-10" />
+ <zone name="Pacific/Samoa" value="SST11" />
+ <zone name="Pacific/Tahiti" value="TAHT10" />
+ <zone name="Pacific/Tarawa" value="GILT-12" />
+ <zone name="Pacific/Tongatapu" value="TOT-13" />
+ <zone name="Pacific/Truk" value="TRUT-10" />
+ <zone name="Pacific/Wake" value="WAKT-12" />
+ <zone name="Pacific/Wallis" value="WFT-12" />
+ <zone name="Pacific/Yap" value="TRUT-10" />
+
+ <zone name="SystemV/AST4" value="AST4" />
+ <zone name="SystemV/AST4ADT" value="AST4ADT,M3.2.0,M11.1.0" />
+ <zone name="SystemV/CST6" value="CST6" />
+ <zone name="SystemV/CST6CDT" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="SystemV/EST5" value="EST5" />
+ <zone name="SystemV/EST5EDT" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="SystemV/HST10" value="HST10" />
+ <zone name="SystemV/MST7" value="MST7" />
+ <zone name="SystemV/MST7MDT" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="SystemV/PST8" value="PST8" />
+ <zone name="SystemV/PST8PDT" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="SystemV/YST9" value="GAMT9" />
+ <zone name="SystemV/YST9YDT" value="AKST9AKDT,M3.2.0,M11.1.0" />
+
+ <zone name="US/Alaska" value="AKST9AKDT,M3.2.0,M11.1.0" />
+ <zone name="US/Aleutian" value="HAST10HADT,M3.2.0,M11.1.0" />
+ <zone name="US/Arizona" value="MST7" />
+ <zone name="US/Central" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="US/Eastern" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="US/East-Indiana" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="US/Hawaii" value="HST10" />
+ <zone name="US/Indiana-Starke" value="CST6CDT,M3.2.0,M11.1.0" />
+ <zone name="US/Michigan" value="EST5EDT,M3.2.0,M11.1.0" />
+ <zone name="US/Mountain" value="MST7MDT,M3.2.0,M11.1.0" />
+ <zone name="US/Pacific" value="PST8PDT,M3.2.0,M11.1.0" />
+ <zone name="US/Samoa" value="SST11" />
+ </timezones>
+</configuration>
Added: freeswitch/trunk/src/mod/applications/mod_timezone/Makefile
==============================================================================
--- (empty file)
+++ freeswitch/trunk/src/mod/applications/mod_timezone/Makefile Thu Jul 24 20:25:18 2008
@@ -0,0 +1,4 @@
+BASE=../../../..
+LOCAL_SOURCES=localtime_find.c
+LOCAL_OBJS=localtime_find.o
+include $(BASE)/build/modmake.rules
Added: freeswitch/trunk/src/mod/applications/mod_timezone/localtime_find.c
==============================================================================
--- (empty file)
+++ freeswitch/trunk/src/mod/applications/mod_timezone/localtime_find.c Thu Jul 24 20:25:18 2008
@@ -0,0 +1,968 @@
+/*
+ * This file was originally written for NetBSD and is in the public domain,
+ * so clarified as of 1996-06-05 by Arthur David Olson (arthur_david_olson(a)nih.gov)
+ *
+ * Iw was modified by Massimo Cetra in order to be used with Callweaver and Freeswitch.
+ */
+
+//#define TESTING_IT 1
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <time.h>
+#include <string.h>
+#include <assert.h>
+
+
+#ifdef TESTING_IT
+#include <sys/time.h>
+#endif
+
+
+#ifndef TRUE
+#define TRUE 1
+#endif /* !defined TRUE */
+
+#ifndef FALSE
+#define FALSE 0
+#endif /* !defined FALSE */
+
+
+
+#ifndef TZ_MAX_TIMES
+/*
+** The TZ_MAX_TIMES value below is enough to handle a bit more than a
+** year's worth of solar time (corrected daily to the nearest second) or
+** 138 years of Pacific Presidential Election time
+** (where there are three time zone transitions every fourth year).
+*/
+#define TZ_MAX_TIMES 370
+#endif /* !defined TZ_MAX_TIMES */
+
+#ifndef TZ_MAX_TYPES
+
+#ifndef NOSOLAR
+#define TZ_MAX_TYPES 256 /* Limited by what (unsigned char)'s can hold */
+#endif /* !defined NOSOLAR */
+
+#ifdef NOSOLAR
+/*
+** Must be at least 14 for Europe/Riga as of Jan 12 1995,
+** as noted by Earl Chew <earl(a)hpato.aus.hp.com>.
+*/
+#define TZ_MAX_TYPES 20 /* Maximum number of local time types */
+#endif /* !defined NOSOLAR */
+
+#endif /* !defined TZ_MAX_TYPES */
+
+#ifndef TZ_MAX_CHARS
+#define TZ_MAX_CHARS 50 /* Maximum number of abbreviation characters */
+ /* (limited by what unsigned chars can hold) */
+#endif /* !defined TZ_MAX_CHARS */
+
+#ifndef TZ_MAX_LEAPS
+#define TZ_MAX_LEAPS 50 /* Maximum number of leap second corrections */
+#endif /* !defined TZ_MAX_LEAPS */
+
+#ifdef TZNAME_MAX
+#define MY_TZNAME_MAX TZNAME_MAX
+#endif /* defined TZNAME_MAX */
+
+#ifndef TZNAME_MAX
+#define MY_TZNAME_MAX 255
+#endif /* !defined TZNAME_MAX */
+
+
+#define SECSPERMIN 60
+#define MINSPERHOUR 60
+#define HOURSPERDAY 24
+#define DAYSPERWEEK 7
+#define DAYSPERNYEAR 365
+#define DAYSPERLYEAR 366
+#define SECSPERHOUR (SECSPERMIN * MINSPERHOUR)
+#define SECSPERDAY ((long) SECSPERHOUR * HOURSPERDAY)
+#define MONSPERYEAR 12
+
+#define JULIAN_DAY 0 /* Jn - Julian day */
+#define DAY_OF_YEAR 1 /* n - day of year */
+#define MONTH_NTH_DAY_OF_WEEK 2 /* Mm.n.d - month, week, day of week */
+
+#define EPOCH_YEAR 1970
+#define EPOCH_WDAY TM_THURSDAY
+
+
+#ifndef TZ_MAX_TIMES
+/*
+** The TZ_MAX_TIMES value below is enough to handle a bit more than a
+** year's worth of solar time (corrected daily to the nearest second) or
+** 138 years of Pacific Presidential Election time
+** (where there are three time zone transitions every fourth year).
+*/
+#define TZ_MAX_TIMES 370
+#endif /* !defined TZ_MAX_TIMES */
+
+#ifndef TZDEFRULES
+#define TZDEFRULES "posixrules"
+#endif /* !defined TZDEFRULES */
+
+/*
+** The DST rules to use if TZ has no rules and we can't load TZDEFRULES.
+** We default to US rules as of 1999-08-17.
+** POSIX 1003.1 section 8.1.1 says that the default DST rules are
+** implementation dependent; for historical reasons, US rules are a
+** common default.
+*/
+#ifndef TZDEFRULESTRING
+#define TZDEFRULESTRING ",M4.1.0,M10.5.0"
+#endif /* !defined TZDEFDST */
+
+/* Unlike <ctype.h>'s isdigit, this also works if c < 0 | c > UCHAR_MAX. */
+#define is_digit(c) ((unsigned)(c) - '0' <= 9)
+
+#define BIGGEST(a, b) (((a) > (b)) ? (a) : (b))
+
+#define isleap(y) (((y) % 4) == 0 && (((y) % 100) != 0 || ((y) % 400) == 0))
+
+
+
+/*
+** INITIALIZE(x)
+*/
+
+#ifndef GNUC_or_lint
+#ifdef lint
+#define GNUC_or_lint
+#endif /* defined lint */
+#ifndef lint
+#ifdef __GNUC__
+#define GNUC_or_lint
+#endif /* defined __GNUC__ */
+#endif /* !defined lint */
+#endif /* !defined GNUC_or_lint */
+
+#ifndef INITIALIZE
+#ifdef GNUC_or_lint
+#define INITIALIZE(x) ((x) = 0)
+#endif /* defined GNUC_or_lint */
+#ifndef GNUC_or_lint
+#define INITIALIZE(x)
+#endif /* !defined GNUC_or_lint */
+#endif /* !defined INITIALIZE */
+
+
+#define TM_SUNDAY 0
+#define TM_MONDAY 1
+#define TM_TUESDAY 2
+#define TM_WEDNESDAY 3
+#define TM_THURSDAY 4
+#define TM_FRIDAY 5
+#define TM_SATURDAY 6
+
+#define TM_JANUARY 0
+#define TM_FEBRUARY 1
+#define TM_MARCH 2
+#define TM_APRIL 3
+#define TM_MAY 4
+#define TM_JUNE 5
+#define TM_JULY 6
+#define TM_AUGUST 7
+#define TM_SEPTEMBER 8
+#define TM_OCTOBER 9
+#define TM_NOVEMBER 10
+#define TM_DECEMBER 11
+
+#define TM_YEAR_BASE 1900
+
+#define EPOCH_YEAR 1970
+#define EPOCH_WDAY TM_THURSDAY
+
+
+/* **************************************************************************
+
+ ************************************************************************** */
+
+static const char gmt[] = "GMT";
+
+#define CHARS_DEF BIGGEST(BIGGEST(TZ_MAX_CHARS + 1, sizeof gmt), (2 * (MY_TZNAME_MAX + 1)))
+
+struct rule {
+ int r_type; /* type of rule--see below */
+ int r_day; /* day number of rule */
+ int r_week; /* week number of rule */
+ int r_mon; /* month number of rule */
+ long r_time; /* transition time of rule */
+};
+
+struct ttinfo { /* time type information */
+ long tt_gmtoff; /* UTC offset in seconds */
+ int tt_isdst; /* used to set tm_isdst */
+ int tt_abbrind; /* abbreviation list index */
+ int tt_ttisstd; /* TRUE if transition is std time */
+ int tt_ttisgmt; /* TRUE if transition is UTC */
+};
+
+struct lsinfo { /* leap second information */
+ time_t ls_trans; /* transition time */
+ long ls_corr; /* correction to apply */
+};
+
+
+struct state {
+ int leapcnt;
+ int timecnt;
+ int typecnt;
+ int charcnt;
+ time_t ats[TZ_MAX_TIMES];
+ unsigned char types[TZ_MAX_TIMES];
+ struct ttinfo ttis[TZ_MAX_TYPES];
+ char chars[/* LINTED constant */CHARS_DEF];
+ struct lsinfo lsis[TZ_MAX_LEAPS];
+};
+
+
+static const int mon_lengths[2][MONSPERYEAR] = {
+ { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 },
+ { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }
+};
+
+static const int year_lengths[2] = {
+ DAYSPERNYEAR, DAYSPERLYEAR
+};
+
+
+/* **************************************************************************
+
+ ************************************************************************** */
+
+
+/*
+ Given a pointer into a time zone string, scan until a character that is not
+ a valid character in a zone name is found. Return a pointer to that
+ character.
+*/
+
+static const char *getzname(strp)
+register const char * strp;
+{
+ register char c;
+
+ while ((c = *strp) != '\0' && !is_digit(c) && c != ',' && c != '-' &&
+ c != '+')
+ ++strp;
+ return strp;
+}
+
+
+/*
+ Given a pointer into a time zone string, extract a number from that string.
+ Check that the number is within a specified range; if it is not, return
+ NULL.
+ Otherwise, return a pointer to the first character not part of the number.
+*/
+
+static const char *getnum(strp, nump, min, max)
+ register const char * strp;
+ int * const nump;
+ const int min;
+ const int max;
+{
+ register char c;
+ register int num;
+
+ if (strp == NULL || !is_digit(c = *strp))
+ return NULL;
+ num = 0;
+ do {
+ num = num * 10 + (c - '0');
+ if (num > max)
+ return NULL; /* illegal value */
+ c = *++strp;
+ } while (is_digit(c));
+ if (num < min)
+ return NULL; /* illegal value */
+ *nump = num;
+ return strp;
+}
+
+/*
+ Given a pointer into a time zone string, extract a number of seconds,
+ in hh[:mm[:ss]] form, from the string.
+ If any error occurs, return NULL.
+ Otherwise, return a pointer to the first character not part of the number
+ of seconds.
+*/
+
+static const char *getsecs(strp, secsp)
+ register const char * strp;
+ long * const secsp;
+{
+ int num;
+
+ /*
+ ** `HOURSPERDAY * DAYSPERWEEK - 1' allows quasi-Posix rules like
+ ** "M10.4.6/26", which does not conform to Posix,
+ ** but which specifies the equivalent of
+ ** ``02:00 on the first Sunday on or after 23 Oct''.
+ */
+ strp = getnum(strp, &num, 0, HOURSPERDAY * DAYSPERWEEK - 1);
+ if (strp == NULL)
+ return NULL;
+ *secsp = num * (long) SECSPERHOUR;
+ if (*strp == ':') {
+ ++strp;
+ strp = getnum(strp, &num, 0, MINSPERHOUR - 1);
+ if (strp == NULL)
+ return NULL;
+ *secsp += num * SECSPERMIN;
+ if (*strp == ':') {
+ ++strp;
+ /* `SECSPERMIN' allows for leap seconds. */
+ strp = getnum(strp, &num, 0, SECSPERMIN);
+ if (strp == NULL)
+ return NULL;
+ *secsp += num;
+ }
+ }
+ return strp;
+}
+
+/*
+ Given a pointer into a time zone string, extract an offset, in
+ [+-]hh[:mm[:ss]] form, from the string.
+ If any error occurs, return NULL.
+ Otherwise, return a pointer to the first character not part of the time.
+*/
+
+static const char *getoffset(strp, offsetp)
+ register const char * strp;
+ long * const offsetp;
+{
+ register int neg = 0;
+
+ if (*strp == '-') {
+ neg = 1;
+ ++strp;
+ } else if (*strp == '+')
+ ++strp;
+ strp = getsecs(strp, offsetp);
+ if (strp == NULL)
+ return NULL; /* illegal time */
+ if (neg)
+ *offsetp = -*offsetp;
+ return strp;
+}
+
+/*
+ Given a pointer into a time zone string, extract a rule in the form
+ date[/time]. See POSIX section 8 for the format of "date" and "time".
+ If a valid rule is not found, return NULL.
+ Otherwise, return a pointer to the first character not part of the rule.
+*/
+
+static const char *getrule(strp, rulep)
+ const char * strp;
+ register struct rule * const rulep;
+{
+ if (*strp == 'J') {
+ /*
+ ** Julian day.
+ */
+ rulep->r_type = JULIAN_DAY;
+ ++strp;
+ strp = getnum(strp, &rulep->r_day, 1, DAYSPERNYEAR);
+ } else if (*strp == 'M') {
+ /*
+ ** Month, week, day.
+ */
+ rulep->r_type = MONTH_NTH_DAY_OF_WEEK;
+ ++strp;
+ strp = getnum(strp, &rulep->r_mon, 1, MONSPERYEAR);
+ if (strp == NULL)
+ return NULL;
+ if (*strp++ != '.')
+ return NULL;
+ strp = getnum(strp, &rulep->r_week, 1, 5);
+ if (strp == NULL)
+ return NULL;
+ if (*strp++ != '.')
+ return NULL;
+ strp = getnum(strp, &rulep->r_day, 0, DAYSPERWEEK - 1);
+ } else if (is_digit(*strp)) {
+ /*
+ ** Day of year.
+ */
+ rulep->r_type = DAY_OF_YEAR;
+ strp = getnum(strp, &rulep->r_day, 0, DAYSPERLYEAR - 1);
+ } else return NULL; /* invalid format */
+ if (strp == NULL)
+ return NULL;
+ if (*strp == '/') {
+ /*
+ ** Time specified.
+ */
+ ++strp;
+ strp = getsecs(strp, &rulep->r_time);
+ } else rulep->r_time = 2 * SECSPERHOUR; /* default = 2:00:00 */
+ return strp;
+}
+
+
+/*
+ Given the Epoch-relative time of January 1, 00:00:00 UTC, in a year, the
+ year, a rule, and the offset from UTC at the time that rule takes effect,
+ calculate the Epoch-relative time that rule takes effect.
+*/
+
+static time_t transtime(janfirst, year, rulep, offset)
+ const time_t janfirst;
+ const int year;
+ register const struct rule * const rulep;
+ const long offset;
+{
+ register int leapyear;
+ register time_t value;
+ register int i;
+ int d, m1, yy0, yy1, yy2, dow;
+
+ INITIALIZE(value);
+ leapyear = isleap(year);
+ switch (rulep->r_type) {
+
+ case JULIAN_DAY:
+ /*
+ ** Jn - Julian day, 1 == January 1, 60 == March 1 even in leap
+ ** years.
+ ** In non-leap years, or if the day number is 59 or less, just
+ ** add SECSPERDAY times the day number-1 to the time of
+ ** January 1, midnight, to get the day.
+ */
+ value = janfirst + (rulep->r_day - 1) * SECSPERDAY;
+ if (leapyear && rulep->r_day >= 60)
+ value += SECSPERDAY;
+ break;
+
+ case DAY_OF_YEAR:
+ /*
+ ** n - day of year.
+ ** Just add SECSPERDAY times the day number to the time of
+ ** January 1, midnight, to get the day.
+ */
+ value = janfirst + rulep->r_day * SECSPERDAY;
+ break;
+
+ case MONTH_NTH_DAY_OF_WEEK:
+ /*
+ ** Mm.n.d - nth "dth day" of month m.
+ */
+ value = janfirst;
+ for (i = 0; i < rulep->r_mon - 1; ++i)
+ value += mon_lengths[leapyear][i] * SECSPERDAY;
+
+ /*
+ ** Use Zeller's Congruence to get day-of-week of first day of
+ ** month.
+ */
+ m1 = (rulep->r_mon + 9) % 12 + 1;
+ yy0 = (rulep->r_mon <= 2) ? (year - 1) : year;
+ yy1 = yy0 / 100;
+ yy2 = yy0 % 100;
+ dow = ((26 * m1 - 2) / 10 +
+ 1 + yy2 + yy2 / 4 + yy1 / 4 - 2 * yy1) % 7;
+ if (dow < 0)
+ dow += DAYSPERWEEK;
+
+ /*
+ ** "dow" is the day-of-week of the first day of the month. Get
+ ** the day-of-month (zero-origin) of the first "dow" day of the
+ ** month.
+ */
+ d = rulep->r_day - dow;
+ if (d < 0)
+ d += DAYSPERWEEK;
+ for (i = 1; i < rulep->r_week; ++i) {
+ if (d + DAYSPERWEEK >=
+ mon_lengths[leapyear][rulep->r_mon - 1])
+ break;
+ d += DAYSPERWEEK;
+ }
+
+ /*
+ ** "d" is the day-of-month (zero-origin) of the day we want.
+ */
+ value += d * SECSPERDAY;
+ break;
+ }
+
+ /*
+ ** "value" is the Epoch-relative time of 00:00:00 UTC on the day in
+ ** question. To get the Epoch-relative time of the specified local
+ ** time on that day, add the transition time and the current offset
+ ** from UTC.
+ */
+ return value + rulep->r_time + offset;
+}
+
+
+
+/*
+ Given a POSIX section 8-style TZ string, fill in the rule tables as
+ appropriate.
+*/
+
+static int tzparse(name, sp, lastditch)
+ const char * name;
+ register struct state * const sp;
+ const int lastditch;
+{
+ const char * stdname;
+ const char * dstname;
+ size_t stdlen;
+ size_t dstlen;
+ long stdoffset;
+ long dstoffset;
+ register time_t * atp;
+ register unsigned char * typep;
+ register char * cp;
+
+
+ INITIALIZE(dstname);
+ stdname = name;
+
+ if (lastditch) {
+ stdlen = strlen(name); /* length of standard zone name */
+ name += stdlen;
+ if (stdlen >= sizeof sp->chars)
+ stdlen = (sizeof sp->chars) - 1;
+ stdoffset = 0;
+ } else {
+ name = getzname(name);
+ stdlen = name - stdname;
+ if (stdlen < 3)
+ return -1;
+ if (*name == '\0')
+ return -1;
+ name = getoffset(name, &stdoffset);
+ if (name == NULL)
+ return -1;
+ }
+
+ sp->leapcnt = 0; /* so, we're off a little */
+
+ if (*name != '\0') {
+ dstname = name;
+ name = getzname(name);
+ dstlen = name - dstname; /* length of DST zone name */
+ if (dstlen < 3)
+ return -1;
+ if (*name != '\0' && *name != ',' && *name != ';')
+ {
+ name = getoffset(name, &dstoffset);
+ if (name == NULL)
+ return -1;
+ }
+ else
+ dstoffset = stdoffset - SECSPERHOUR;
+
+ /* Go parsing the daylight saving stuff */
+ if (*name == ',' || *name == ';')
+ {
+ struct rule start;
+ struct rule end;
+ register int year;
+ register time_t janfirst;
+ time_t starttime;
+ time_t endtime;
+
+ ++name;
+ if ((name = getrule(name, &start)) == NULL)
+ return -1;
+ if (*name++ != ',')
+ return -1;
+ if ((name = getrule(name, &end)) == NULL)
+ return -1;
+ if (*name != '\0')
+ return -1;
+
+ sp->typecnt = 2; /* standard time and DST */
+
+ /*
+ ** Two transitions per year, from EPOCH_YEAR to 2037.
+ */
+ sp->timecnt = 2 * (2037 - EPOCH_YEAR + 1);
+
+ if (sp->timecnt > TZ_MAX_TIMES)
+ return -1;
+
+ sp->ttis[0].tt_gmtoff = -dstoffset;
+ sp->ttis[0].tt_isdst = 1;
+ sp->ttis[0].tt_abbrind = stdlen + 1;
+ sp->ttis[1].tt_gmtoff = -stdoffset;
+ sp->ttis[1].tt_isdst = 0;
+ sp->ttis[1].tt_abbrind = 0;
+
+ atp = sp->ats;
+ typep = sp->types;
+ janfirst = 0;
+
+ for (year = EPOCH_YEAR; year <= 2037; ++year) {
+ starttime = transtime(janfirst, year, &start,
+ stdoffset);
+ endtime = transtime(janfirst, year, &end,
+ dstoffset);
+ if (starttime > endtime) {
+ *atp++ = endtime;
+ *typep++ = 1; /* DST ends */
+ *atp++ = starttime;
+ *typep++ = 0; /* DST begins */
+ } else {
+ *atp++ = starttime;
+ *typep++ = 0; /* DST begins */
+ *atp++ = endtime;
+ *typep++ = 1; /* DST ends */
+ }
+
+ janfirst += year_lengths[isleap(year)] * SECSPERDAY;
+ }
+
+ } else {
+ register long theirstdoffset;
+ register long theirdstoffset;
+ register long theiroffset;
+ register int isdst;
+ register int i;
+ register int j;
+
+ if (*name != '\0')
+ return -1;
+ /*
+ Initial values of theirstdoffset and theirdstoffset.
+ */
+ theirstdoffset = 0;
+ for (i = 0; i < sp->timecnt; ++i) {
+ j = sp->types[i];
+ if (!sp->ttis[j].tt_isdst) {
+ theirstdoffset =
+ -sp->ttis[j].tt_gmtoff;
+ break;
+ }
+ }
+ theirdstoffset = 0;
+ for (i = 0; i < sp->timecnt; ++i) {
+ j = sp->types[i];
+ if (sp->ttis[j].tt_isdst) {
+ theirdstoffset =
+ -sp->ttis[j].tt_gmtoff;
+ break;
+ }
+ }
+ /*
+ ** Initially we're assumed to be in standard time.
+ */
+ isdst = FALSE;
+ theiroffset = theirstdoffset;
+ /*
+ ** Now juggle transition times and types
+ ** tracking offsets as you do.
+ */
+ for (i = 0; i < sp->timecnt; ++i) {
+ j = sp->types[i];
+ sp->types[i] = sp->ttis[j].tt_isdst;
+ if (sp->ttis[j].tt_ttisgmt) {
+ /* No adjustment to transition time */
+ } else {
+ /*
+ ** If summer time is in effect, and the
+ ** transition time was not specified as
+ ** standard time, add the summer time
+ ** offset to the transition time;
+ ** otherwise, add the standard time
+ ** offset to the transition time.
+ */
+ /*
+ ** Transitions from DST to DDST
+ ** will effectively disappear since
+ ** POSIX provides for only one DST
+ ** offset.
+ */
+ if (isdst && !sp->ttis[j].tt_ttisstd) {
+ sp->ats[i] += dstoffset -
+ theirdstoffset;
+ } else {
+ sp->ats[i] += stdoffset -
+ theirstdoffset;
+ }
+ }
+ theiroffset = -sp->ttis[j].tt_gmtoff;
+ if (sp->ttis[j].tt_isdst)
+ theirdstoffset = theiroffset;
+ else theirstdoffset = theiroffset;
+ }
+ /*
+ ** Finally, fill in ttis.
+ ** ttisstd and ttisgmt need not be handled.
+ */
+ sp->ttis[0].tt_gmtoff = -stdoffset;
+ sp->ttis[0].tt_isdst = FALSE;
+ sp->ttis[0].tt_abbrind = 0;
+ sp->ttis[1].tt_gmtoff = -dstoffset;
+ sp->ttis[1].tt_isdst = TRUE;
+ sp->ttis[1].tt_abbrind = stdlen + 1;
+ sp->typecnt = 2;
+ }
+ } else {
+ dstlen = 0;
+ sp->typecnt = 1; /* only standard time */
+ sp->timecnt = 0;
+ sp->ttis[0].tt_gmtoff = -stdoffset;
+ sp->ttis[0].tt_isdst = 0;
+ sp->ttis[0].tt_abbrind = 0;
+ }
+
+ sp->charcnt = stdlen + 1;
+ if (dstlen != 0)
+ sp->charcnt += dstlen + 1;
+ if ((size_t) sp->charcnt > sizeof sp->chars)
+ return -1;
+ cp = sp->chars;
+ (void) strncpy(cp, stdname, stdlen);
+ cp += stdlen;
+ *cp++ = '\0';
+ if (dstlen != 0) {
+ (void) strncpy(cp, dstname, dstlen);
+ *(cp + dstlen) = '\0';
+ }
+ return 0;
+}
+
+/* **************************************************************************
+
+ ************************************************************************** */
+
+static void timesub(timep, offset, sp, tmp)
+ const time_t * const timep;
+ const long offset;
+ register const struct state * const sp;
+ register struct tm * const tmp;
+{
+ register const struct lsinfo * lp;
+ register long days;
+ register long rem;
+ register int y;
+ register int yleap;
+ register const int * ip;
+ register long corr;
+ register int hit;
+ register int i;
+
+ assert(timep != NULL);
+ assert(sp != NULL);
+ assert(tmp != NULL);
+
+ corr = 0;
+ hit = 0;
+ i = (sp == NULL) ? 0 : sp->leapcnt;
+
+ while (--i >= 0) {
+ lp = &sp->lsis[i];
+ if (*timep >= lp->ls_trans) {
+ if (*timep == lp->ls_trans) {
+ hit = ((i == 0 && lp->ls_corr > 0) ||
+ lp->ls_corr > sp->lsis[i - 1].ls_corr);
+ if (hit)
+ while (i > 0 &&
+ sp->lsis[i].ls_trans ==
+ sp->lsis[i - 1].ls_trans + 1 &&
+ sp->lsis[i].ls_corr ==
+ sp->lsis[i - 1].ls_corr + 1) {
+ ++hit;
+ --i;
+ }
+ }
+ corr = lp->ls_corr;
+ break;
+ }
+ }
+ days = *timep / SECSPERDAY;
+ rem = *timep % SECSPERDAY;
+
+
+#ifdef mc68k
+ /* If this is for CPU bugs workarounds, i would remove this anyway. Who would use it on an old mc68k ? */
+ if (*timep == 0x80000000) {
+ /*
+ ** A 3B1 muffs the division on the most negative number.
+ */
+ days = -24855;
+ rem = -11648;
+ }
+#endif
+
+ rem += (offset - corr);
+ while (rem < 0) {
+ rem += SECSPERDAY;
+ --days;
+ }
+ while (rem >= SECSPERDAY) {
+ rem -= SECSPERDAY;
+ ++days;
+ }
+ tmp->tm_hour = (int) (rem / SECSPERHOUR);
+ rem = rem % SECSPERHOUR;
+ tmp->tm_min = (int) (rem / SECSPERMIN);
+
+ /*
+ ** A positive leap second requires a special
+ ** representation. This uses "... ??:59:60" et seq.
+ */
+ tmp->tm_sec = (int) (rem % SECSPERMIN) + hit;
+ tmp->tm_wday = (int) ((EPOCH_WDAY + days) % DAYSPERWEEK);
+
+ if (tmp->tm_wday < 0)
+ tmp->tm_wday += DAYSPERWEEK;
+
+ y = EPOCH_YEAR;
+
+#define LEAPS_THRU_END_OF(y) ((y) / 4 - (y) / 100 + (y) / 400)
+
+ while (days < 0 || days >= (long) year_lengths[yleap = isleap(y)]) {
+ register int newy;
+
+ newy = (int)(y + days / DAYSPERNYEAR);
+ if (days < 0)
+ --newy;
+ days -= (newy - y) * DAYSPERNYEAR +
+ LEAPS_THRU_END_OF(newy - 1) -
+ LEAPS_THRU_END_OF(y - 1);
+ y = newy;
+ }
+
+ tmp->tm_year = y - TM_YEAR_BASE;
+ tmp->tm_yday = (int) days;
+
+ ip = mon_lengths[yleap];
+
+ for (tmp->tm_mon = 0; days >= (long) ip[tmp->tm_mon]; ++(tmp->tm_mon))
+ days = days - (long) ip[tmp->tm_mon];
+
+ tmp->tm_mday = (int) (days + 1);
+ tmp->tm_isdst = 0;
+ tmp->tm_gmtoff = offset;
+}
+
+/* **************************************************************************
+
+ ************************************************************************** */
+
+void tztime( timep, tzstring, tmp )
+ const time_t * const timep;
+ const char *tzstring;
+ struct tm * const tmp;
+{
+ struct state *tzptr,
+ *sp;
+ const time_t t = *timep;
+ register int i;
+ register const struct ttinfo *ttisp;
+
+ if ( tzstring == NULL )
+ tzstring = gmt;
+
+ tzptr = (struct state *) malloc(sizeof (struct state));
+ sp = tzptr;
+
+ if (tzptr != NULL)
+ {
+
+ memset(tzptr, 0, sizeof(struct state));
+
+ (void) tzparse(tzstring, tzptr, FALSE);
+
+ if (sp->timecnt == 0 || t < sp->ats[0])
+ {
+ i = 0;
+ while (sp->ttis[i].tt_isdst)
+ if (++i >= sp->typecnt) {
+ i = 0;
+ break;
+ }
+ } else {
+ for (i = 1; i < sp->timecnt; ++i)
+ if (t < sp->ats[i])
+ break;
+ i = sp->types[i - 1]; // DST begin or DST end
+ }
+ ttisp = &sp->ttis[i];
+
+ /*
+ To get (wrong) behavior that's compatible with System V Release 2.0
+ you'd replace the statement below with
+ t += ttisp->tt_gmtoff;
+ timesub(&t, 0L, sp, tmp);
+ */
+ if ( tmp != NULL ) /* Just a check not to assert */
+ {
+ timesub( &t, ttisp->tt_gmtoff, sp, tmp);
+ tmp->tm_isdst = ttisp->tt_isdst;
+ tmp->tm_zone = &sp->chars[ttisp->tt_abbrind];
+ }
+
+ free(tzptr);
+ }
+
+}
+
+/* **************************************************************************
+ **************************************************************************
+ **************************************************************************
+ The following part is used for testing-
+ Not even usually compiled.
+ **************************************************************************
+ **************************************************************************
+ ************************************************************************** */
+
+#ifdef TESTING_IT
+
+#define TESTSTRING_1 "CET-1CEST,M3.5.0,M10.5.0/3" // Rome
+#define TESTSTRING_2 "MST7" // Arizona
+#define TESTSTRING_3 "EST5EDT,M3.2.0,M11.1.0" // Toronto
+#define TESTSTRING_4 "NZST-12NZDT,M9.5.0,M4.1.0/3" // Auckland
+#define TESTSTRING_5 "GMT" // GMT
+#define TESTSTRING_6 ""
+
+
+void tztest( const char *tzstring, time_t *timep)
+{
+ struct tm tm;
+ memset( &tm, 0, sizeof(struct tm));
+
+ printf("\n\n >>>>>>>>>>> Testing this: %s <<<<<<<<<<<< \n\n", tzstring);
+
+ tztime( timep, tzstring , &tm);
+
+ printf("RESULT: \n");
+ printf(" tm->tm_isdst %d \n", tm.tm_isdst);
+ printf(" tm->tm_zone %s \n", tm.tm_zone);
+ printf(" tm->(day) %02d/%02d/%d \n", tm.tm_mday, tm.tm_mon, tm.tm_year + 1900 );
+ printf(" tm->(hour) %02d:%02d:%02d \n", tm.tm_hour, tm.tm_min, tm.tm_sec );
+}
+
+int main(void)
+{
+ struct timeval tv;
+ time_t timep;
+
+ gettimeofday(&tv, NULL);
+ timep = tv.tv_sec;
+
+ tztest( TESTSTRING_1, &timep);
+ tztest( TESTSTRING_2, &timep);
+ tztest( TESTSTRING_3, &timep);
+ tztest( TESTSTRING_4, &timep);
+ tztest( TESTSTRING_5, &timep);
+ tztest( TESTSTRING_6, &timep);
+ tztest( NULL, &timep);
+
+ return 0;
+}
+
+#endif
Added: freeswitch/trunk/src/mod/applications/mod_timezone/mod_timezone.c
==============================================================================
--- (empty file)
+++ freeswitch/trunk/src/mod/applications/mod_timezone/mod_timezone.c Thu Jul 24 20:25:18 2008
@@ -0,0 +1,232 @@
+/*
+ * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
+ * Copyright (C) 2005/2006, Anthony Minessale II <anthmct(a)yahoo.com>
+ *
+ * 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 mod_timezone.
+ *
+ * The Initial Developer of the Original Code is
+ * Massimo Cetra <devel(a)navynet.it>
+ * Portions created by the Initial Developer are Copyright (C)
+ * the Initial Developer. All Rights Reserved.
+ *
+ * mod_timezone.c -- Access to timezone informations and time string formatting
+ *
+ */
+
+#include <switch.h>
+#include "mod_timezone.h"
+
+/*
+ This converts a struct tm to a switch_time_exp_t
+ We have to use UNIX structures to do our exams
+ and use switch_* functions for the output.
+*/
+
+static void tm2switchtime( tm, xt )
+ struct tm *tm;
+switch_time_exp_t *xt;
+{
+
+ if (!xt || !tm) {
+ return;
+ }
+ memset( xt, 0, sizeof(xt) );
+
+ xt->tm_sec = tm->tm_sec;
+ xt->tm_min = tm->tm_min;
+ xt->tm_hour = tm->tm_hour;
+ xt->tm_mday = tm->tm_mday;
+ xt->tm_mon = tm->tm_mon;
+ xt->tm_year = tm->tm_year;
+ xt->tm_wday = tm->tm_wday;
+ xt->tm_yday = tm->tm_yday;
+ xt->tm_isdst = tm->tm_isdst;
+ xt->tm_gmtoff = tm->tm_gmtoff;
+
+ return;
+}
+
+/* **************************************************************************
+ LOADING OF THE XML DATA - HASH TABLE & MEMORY POOL MANAGEMENT
+ ************************************************************************** */
+
+typedef struct {
+ switch_memory_pool_t *pool;
+ switch_hash_t *hash;
+} switch_timezones_list_t;
+
+static switch_timezones_list_t TIMEZONES_LIST = { 0 };
+static switch_event_node_t *NODE = NULL;
+
+const char *switch_lookup_timezone( const char *tzname )
+{
+ char *value = NULL;
+
+ if ( tzname && (value = switch_core_hash_find(TIMEZONES_LIST.hash, tzname))==NULL ) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Timezone '%s' not found!\n", tzname);
+ }
+
+ return value;
+}
+
+void switch_load_timezones(switch_bool_t reload)
+{
+ switch_xml_t xml = NULL, x_lists = NULL, x_list = NULL, cfg = NULL;
+ unsigned total = 0;
+
+ if (TIMEZONES_LIST.hash) {
+ switch_core_hash_destroy(&TIMEZONES_LIST.hash);
+ }
+
+ if (TIMEZONES_LIST.pool) {
+ switch_core_destroy_memory_pool(&TIMEZONES_LIST.pool);
+ }
+
+ memset(&TIMEZONES_LIST, 0, sizeof(TIMEZONES_LIST));
+ switch_core_new_memory_pool(&TIMEZONES_LIST.pool);
+ switch_core_hash_init(&TIMEZONES_LIST.hash, TIMEZONES_LIST.pool);
+
+ if ((xml = switch_xml_open_cfg("timezones.conf", &cfg, NULL))) {
+ if ((x_lists = switch_xml_child(cfg, "timezones"))) {
+ for (x_list = switch_xml_child(x_lists, "zone"); x_list; x_list = x_list->next) {
+ const char *name = switch_xml_attr(x_list, "name");
+ const char *value= switch_xml_attr(x_list, "value");
+
+ if (switch_strlen_zero(name)) {
+ continue;
+ }
+
+ if (switch_strlen_zero(value)) {
+ continue;
+ }
+
+ switch_core_hash_insert(TIMEZONES_LIST.hash,
+ name,
+ switch_core_strdup(TIMEZONES_LIST.pool, value) );
+ total++;
+ }
+ }
+
+ switch_xml_free(xml);
+ }
+
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Timezone %sloaded %d definitions\n", reload ? "re" : "", total);
+}
+
+/* **************************************************************************
+ API FUNCTIONS AND COMMANDS
+ ************************************************************************** */
+
+SWITCH_STANDARD_API(strftime_tz_api_function)
+{
+ switch_time_t thetime;
+ time_t timep;
+
+ char *format = NULL;
+ const char *tzname;
+ const char *tzdef;
+
+ switch_size_t retsize;
+ char date[80] = "";
+
+ struct tm tm;
+ switch_time_exp_t stm;
+
+ thetime = switch_timestamp_now();
+
+ timep = (thetime) / (int64_t) (1000000);
+
+ if (!switch_strlen_zero(cmd)) {
+ format = strchr(cmd, ' ');
+ tzname = cmd;
+ if (format) {
+ *format++ = '\0';
+ }
+
+ tzdef = switch_lookup_timezone( tzname );
+ } else {
+ /* We set the default timezone to GMT. */
+ tzname="GMT";
+ tzdef="GMT";
+ }
+
+ if (tzdef) { /* The lookup of the zone may fail. */
+ tztime( &timep, tzdef, &tm );
+ tm2switchtime( &tm, &stm );
+ switch_strftime(date, &retsize, sizeof(date), switch_strlen_zero(format) ? "%Y-%m-%d %T" : format, &stm);
+ stream->write_function(stream, "%s", date);
+ } else {
+ stream->write_function(stream, "-ERR Invalid Timezone\n");
+ }
+
+ return SWITCH_STATUS_SUCCESS;
+}
+
+/* **************************************************************************
+
+************************************************************************** */
+
+
+SWITCH_MODULE_LOAD_FUNCTION(mod_timezone_load);
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_timezone_shutdown);
+SWITCH_MODULE_DEFINITION(mod_timezone, mod_timezone_load, mod_timezone_shutdown, NULL);
+
+static void event_handler(switch_event_t *event)
+{
+ switch_load_timezones(1);
+}
+
+SWITCH_MODULE_LOAD_FUNCTION(mod_timezone_load)
+{
+ switch_api_interface_t *api_interface;
+
+ if ((switch_event_bind_removable(modname, SWITCH_EVENT_RELOADXML, NULL, event_handler, NULL, &NODE) != SWITCH_STATUS_SUCCESS)) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Couldn't bind!\n");
+ }
+ switch_load_timezones(0);
+
+ *module_interface = switch_loadable_module_create_module_interface(pool, modname);
+
+ SWITCH_ADD_API(api_interface, "strftime_tz", "strftime_tz", strftime_tz_api_function, "<Timezone name>,<format string>");
+
+ return SWITCH_STATUS_SUCCESS;
+}
+
+// Called when the system shuts down
+SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_timezone_shutdown)
+{
+
+ if (TIMEZONES_LIST.hash) {
+ switch_core_hash_destroy(&TIMEZONES_LIST.hash);
+ }
+
+ if (TIMEZONES_LIST.pool) {
+ switch_core_destroy_memory_pool(&TIMEZONES_LIST.pool);
+ }
+
+ return SWITCH_STATUS_UNLOAD;
+}
+
+
+/* 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 expandtab:
+ */
Added: freeswitch/trunk/src/mod/applications/mod_timezone/mod_timezone.h
==============================================================================
--- (empty file)
+++ freeswitch/trunk/src/mod/applications/mod_timezone/mod_timezone.h Thu Jul 24 20:25:18 2008
@@ -0,0 +1,32 @@
+/*
+ * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
+ * Copyright (C) 2005/2006, Anthony Minessale II <anthmct(a)yahoo.com>
+ *
+ * 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 mod_timezone.
+ *
+ * The Initial Developer of the Original Code is
+ * Massimo Cetra <devel(a)navynet.it>
+ * Portions created by the Initial Developer are Copyright (C)
+ * the Initial Developer. All Rights Reserved.
+ *
+ * mod_timezone.c -- Access to timezone informations and time string formatting
+ *
+ */
+
+void tztime (
+ const time_t * const timep,
+ const char *tzstring,
+ struct tm * const tmp
+ );
1
0
Author: brian
Date: Thu Jul 24 19:15:52 2008
New Revision: 9174
Modified:
freeswitch/trunk/libs/ (props changed)
Log:
tweak ingore
1
0