For getting case-insensitive regex search you need to tweak *gw/urltrans.c*and add somewhere
1004 } 1005 gwlist_destroy(l, octstr_destroy_item); 1006 } 1007 1008 octstr_append_cstr(keyword_regex, ")[ ]*"); 1009 } else if (keyword_regex != NULL) { 1010 //ignore case 1011 regex_flag |= REG_ICASE; 1012 } Because other regex_flag only applied to keyword not keyword_regex If you don't want to tweak kannel's src, you might consider using [Cc] or [Aa] for single characters of the word, e.g: [Cc][Hh][Ee][Ll][Ss][Ee][Aa], for your example I'd suggest using something like this (not sure if it'd work tho): keyword-regex = (^([Cc][Hh][Ee]) )|(^([Cc][Hh][Ee][Ll][Ss][Ee][Aa]) )|( \2$)|( \4$) \2 \4 should expand [Cc][Hh][Ee] and [Cc][Hh][Ee][Ll][Ss][Ee][Aa] If you have a lot of words it's generally better to iterate through each of the words (e.g. for single word - one regex) and stop right after you matched. so it would be faster instead of matching through 1 BIG regexp containing all words. 2012/11/1 Willy Mularto <sangpr...@gmail.com> > Hi List, > Need help to solve this keyword-regex issue: > keyword-regex = ^\w* chelsea|^chelsea|^che$ > aliases = chelsea > name = chelsea > > The goal is Kannel should pass MO started with "any 1 single word followed > by word chelsea" or "contains chelsea" or "contains che at the end of MO" > and should be case insensitive. Thanks for any help :) > > > > Willy Mularto > F300HD+MR18DE (NLC1725) > > > > > > > > > > >