Index: gw/urltrans.c
===================================================================
RCS file: /home/cvs/gateway/gw/urltrans.c,v
retrieving revision 1.111
diff -a -u -b -r1.111 urltrans.c
--- gw/urltrans.c	14 Jan 2009 11:11:46 -0000	1.111
+++ gw/urltrans.c	26 Aug 2010 22:20:26 -0000
@@ -949,18 +949,14 @@
 	octstr_destroy(text);
 	octstr_destroy(exec);
 
-	tmp = cfg_get(grp, octstr_imm("keyword"));
-        keyword_regex = cfg_get(grp, octstr_imm("keyword-regex"));
-	if (tmp == NULL && keyword_regex == NULL) {
+    if ((keyword_regex = cfg_get(grp, octstr_imm("keyword-regex"))))
+        octstr_convert_range(keyword_regex, 0, octstr_len(keyword_regex), tolower);
+    else if ((tmp = cfg_get(grp, octstr_imm("keyword"))))
+        octstr_convert_range(tmp, 0, octstr_len(tmp), tolower);
+    else {
 	    error(0, "Group 'sms-service' must include either 'keyword' or 'keyword-regex'.");
 	    goto error;
 	}
-	if (tmp != NULL && keyword_regex != NULL) {
-	    error(0, "Group 'sms-service' may inlcude either 'keyword' or 'keyword-regex'.");
-	    octstr_destroy(tmp);
-	    octstr_destroy(keyword_regex);
-	    goto error;
-	}
 	
 	if (tmp != NULL && octstr_str_compare(tmp, "default") == 0) {
 	    /* default sms-service */
@@ -1353,11 +1349,12 @@
         if (gw_regex_match_pre(t->keyword_regex, msg) == 1) {
             debug("", 0, "match found: %s", octstr_get_cstr(t->name));
             gwlist_append(list, t);
-        } else {
-            debug("", 0, "no match found: %s", octstr_get_cstr(t->name));
         }
     }
     
+    if (!gwlist_len(list))
+       debug("", 0, "no match found: \"%s\"", octstr_get_cstr(msg));
+
     return list;
 }
 
