diff --git a/conf/autoload_configs/enum.conf.xml b/conf/autoload_configs/enum.conf.xml
index 6428571a3f..664c9e5a6c 100644
--- a/conf/autoload_configs/enum.conf.xml
+++ b/conf/autoload_configs/enum.conf.xml
@@ -2,6 +2,7 @@
+
diff --git a/src/mod/applications/mod_enum/mod_enum.c b/src/mod/applications/mod_enum/mod_enum.c
index c0ba560831..7f68b9dfee 100644
--- a/src/mod/applications/mod_enum/mod_enum.c
+++ b/src/mod/applications/mod_enum/mod_enum.c
@@ -75,6 +75,7 @@ static struct {
switch_hash_t *routes;
enum_route_t *route_order;
switch_memory_pool_t *pool;
+ int timeout;
} globals;
SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_root, globals.root);
@@ -127,6 +128,8 @@ static switch_status_t load_config(void)
char *val = (char *) switch_xml_attr_soft(param, "value");
if (!strcasecmp(var, "default-root")) {
set_global_root(val);
+ } else if (!strcasecmp(var, "query-timeout")) {
+ globals.timeout = atoi(val);
} else if (!strcasecmp(var, "default-isn-root")) {
set_global_isn_root(val);
} else if (!strcasecmp(var, "log-level-trace")) {
@@ -486,7 +489,7 @@ static switch_status_t enum_lookup(char *root, char *in, enum_record_t ** result
FD_ZERO(&fds);
now = 0;
- while ((i = dns_timeouts(nctx, -1, now)) > 0) {
+ while ((i = dns_timeouts(nctx, globals.timeout, now)) > 0) {
#ifdef _MSC_VER
#pragma warning(push)
#pragma warning(disable: 4389 4127)
@@ -702,7 +705,7 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_enum_load)
memset(&globals, 0, sizeof(globals));
globals.pool = pool;
-
+ globals.timeout = 10;
load_config();
/* connect my internal structure to the blank pointer passed to me */