--- enum.c 2005-08-12 16:40:30.000000000 +0200 +++ enum.c.patch 2005-08-12 20:46:05.000000000 +0200 @@ -166,9 +166,10 @@ } else if (!strncasecmp(services, "e2u+voice:", 10)) { ast_copy_string(tech, services+10, techsize); } else { + /* Give back in TECH the service entry...and in dst the interpreted regexp */ + ast_copy_string(tech,services,techsize); ast_log(LOG_DEBUG, "Services must be e2u+${tech}, ${tech}+e2u, or e2u+voice: where $tech is from (sip, h323, tel, iax, iax2). \n"); - return 0; } /* DEDBUGGING STUB --- apps/app_enumlookup.c 2005-08-12 16:40:46.000000000 +0200 +++ apps/app_enumlookup.c.patch 2005-08-12 20:47:37.000000000 +0200 @@ -67,12 +67,13 @@ static int enumlookup_exec(struct ast_channel *chan, void *data) { int res=0; - char tech[80]; - char dest[80]; + char tech[512]; + char dest[512]; char tmp[256]; char *c,*t; struct localuser *u; + bzero(tech,sizeof(tech)); if (!data || ast_strlen_zero(data)) { ast_log(LOG_WARNING, "EnumLookup requires an argument (extension)\n"); res = 0; @@ -143,8 +144,10 @@ res = 0; } } else if (!ast_strlen_zero(tech)) { - ast_log(LOG_NOTICE, "Don't know how to handle technology '%s'\n", tech); + ast_log(LOG_WARNING, "Don't know how to handle technology '%s'\n", tech); pbx_builtin_setvar_helper(chan, "ENUMSTATUS", "BADURI"); + /* Also add URI of unknown type to ENUM-Variable */ + pbx_builtin_setvar_helper(chan, "ENUM", dest); res = 0; } }