it is one of the places where the doc is not up-to-date. if you try this, you will get a PANIC error, saying "either keyword OR keyword-regex must be defined, but not both". at least in version 1.4.3
> -----Original Message----- > From: Rene Kluwen [mailto:[email protected]] > Sent: Thursday, August 26, 2010 2:16 AM > To: Cariotoglou Mike; 'Nikos Balkanas'; [email protected] > Subject: RE: Problem with Regular Expressions > > From the users manual: > > Example 4: sms-service-configuration > > Please note that there are a mandatory keyword and an > optional keyword-regex fields. That means that service > selection can be simplified as in the following example. > Suppose that some Web-content should be delivered to the > mobile. Different costumers use the same service but they > rely on different keywords. Whenever a sms-service is > requested, Kannel first checks whether a regex has been > defined, if not a literal match based on keyword is > performed. If a regex is configured then the literal match is > never tried. > > group=sms-service > ... > keyword=web_service > keyword-regex=^(data|www|text|net)$ > get-url=http://someserver.net/getContent.jsp > ... > > > Here it says that keyword is mandatory, even if it won't be > evaluated because you have a keyword-regex. So in your case, > your sms-service group could be: > > group = sms-service > name = SLG > keyword = SLG > keyword-regex = "^SLG[0-9]+$" > text = "Hi there,SLG %a %b" > catch-all = true > > What happens if you use this config? > > == Rene > > > -----Original Message----- > From: Rene Kluwen [mailto:[email protected]] > Sent: Thursday, August 26, 2010 2:16 AM > To: Cariotoglou Mike; 'Nikos Balkanas'; [email protected] > Subject: RE: Problem with Regular Expressions > > From the users manual: > > Example 4: sms-service-configuration > > Please note that there are a mandatory keyword and an > optional keyword-regex fields. That means that service > selection can be simplified as in the following example. > Suppose that some Web-content should be delivered to the > mobile. Different costumers use the same service but they > rely on different keywords. Whenever a sms-service is > requested, Kannel first checks whether a regex has been > defined, if not a literal match based on keyword is > performed. If a regex is configured then the literal match is > never tried. > > group=sms-service > ... > keyword=web_service > keyword-regex=^(data|www|text|net)$ > get-url=http://someserver.net/getContent.jsp > ... > > > Here it says that keyword is mandatory, even if it won't be > evaluated because you have a keyword-regex. So in your case, > your sms-service group could be: > > group = sms-service > name = SLG > keyword = SLG > keyword-regex = "^SLG[0-9]+$" > text = "Hi there,SLG %a %b" > catch-all = true > > What happens if you use this config? > > == Rene > > > -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf Of Cariotoglou Mike > Sent: Thursday, 26 August, 2010 00:23 > To: Nikos Balkanas; [email protected] > Subject: RE: Problem with Regular Expressions > > ok, here it is : > > -----BEGIN CONF---- > # > # Sample configuration file for Kannel bearerbox on Debian. > # See the documentation for explanations of fields. > # > > # HTTP administration is disabled by default. Make sure you > set the # password if you enable it. > > group = core > admin-port = 13000 > admin-password = xxxxxx > #admin-deny-ip = "*.*.*.*" > #admin-allow-ip = "" > wapbox-port = 13002 > wdp-interface-name = "*" > log-file = "/var/log/kannel/bearerbox.log" > log-level = 0 > #box-deny-ip = "*.*.*.*" > #box-allow-ip = "127.0.0.1" > smsbox-port = 13003 > > group = wapbox > bearerbox-host = localhost > log-file = "/var/log/kannel/wapbox.log" > > # SMSC Fake > group = smsc > smsc = fake > host = localhost > port = 13004 > > group = smsbox > bearerbox-host = localhost > sendsms-port = 13005 > log-file = "/var/log/kannel/smsbox.log" > log-level = 0 > access-log = "/var/log/kannel/smsbox-access.log" > > group = sendsms-user > username = test > password = test > default-sender = 12345 > > group = sms-service > name = SLG > #keyword = SLG > keyword-regex = "^SLG[0-9]+$" > text = "Hi there,SLG %a %b" > #exec = "ls -l /" > catch-all = true > > # SMS SERVICE Default > # there should be default always > group = sms-service > keyword = default > text = "No service specified %a %b" > catch-all = true > -----END CONF------ > > ----BEGIN LOG------ > 2010-08-26 01:17:09 [10783] [0] INFO: Added logfile > `/var/log/kannel/smsbox.log' with level `0'. > 2010-08-26 01:17:09 [10783] [0] INFO: Logging accesses to > '/var/log/kannel/smsbox-access.log'. > 2010-08-26 01:17:09 [10783] [0] INFO: Started access logfile > `/var/log/kannel/smsbox-access.log'. > 2010-08-26 01:17:09 [10783] [0] INFO: HTTP: Opening server at > port 13005. > 2010-08-26 01:17:09 [10783] [0] DEBUG: Started thread 1 > (gwlib/fdset.c:poller) > 2010-08-26 01:17:09 [10783] [0] DEBUG: Started thread 2 > (gwlib/http.c:server_thread) > 2010-08-26 01:17:09 [10783] [0] INFO: Set up send sms service at port > 13005 > 2010-08-26 01:17:09 [10783] [0] DEBUG: Started thread 3 > (gw/smsbox.c:sendsms_thread) > 2010-08-26 01:17:09 [10783] [0] DEBUG: > ---------------------------------------------- > 2010-08-26 01:17:09 [10783] [0] DEBUG: Kannel smsbox version > 1.4.3 starting > 2010-08-26 01:17:09 [10783] [1] DEBUG: Thread 1 > (gwlib/fdset.c:poller) maps to pid 10783. > 2010-08-26 01:17:09 [10783] [3] DEBUG: Thread 3 > (gw/smsbox.c:sendsms_thread) maps to pid 10783. > 2010-08-26 01:17:09 [10783] [2] DEBUG: Thread 2 > (gwlib/http.c:server_thread) maps to pid 10783. > 2010-08-26 01:17:09 [10783] [0] DEBUG: dumping group (sendsms-user): > 2010-08-26 01:17:09 [10783] [0] DEBUG: <default-sender> = <12345> > 2010-08-26 01:17:09 [10783] [0] DEBUG: <group> = <sendsms-user> > 2010-08-26 01:17:09 [10783] [0] DEBUG: <username> = <test> > 2010-08-26 01:17:09 [10783] [0] DEBUG: <password> = <test> > 2010-08-26 01:17:09 [10783] [0] DEBUG: Started thread 4 > (gw/smsbox.c:obey_request_thread) > 2010-08-26 01:17:09 [10783] [0] DEBUG: Started thread 5 > (gw/smsbox.c:url_result_thread) > 2010-08-26 01:17:09 [10783] [4] DEBUG: Thread 4 > (gw/smsbox.c:obey_request_thread) maps to pid 10783. > 2010-08-26 01:17:09 [10783] [5] DEBUG: Thread 5 > (gw/smsbox.c:url_result_thread) maps to pid 10783. > 2010-08-26 01:17:09 [10783] [0] DEBUG: Started thread 6 > (gw/smsbox.c:http_queue_thread) > 2010-08-26 01:17:09 [10783] [6] DEBUG: Thread 6 > (gw/smsbox.c:http_queue_thread) maps to pid 10783. > 2010-08-26 01:17:09 [10783] [0] INFO: Connected to bearerbox > at localhost port 13003. > 2010-08-26 01:17:09 [10783] [0] DEBUG: Started thread 7 > (gw/heartbeat.c:heartbeat_thread) > 2010-08-26 01:17:09 [10783] [7] DEBUG: Thread 7 > (gw/heartbeat.c:heartbeat_thread) maps to pid 10783. > 2010-08-26 01:17:58 [10783] [4] DEBUG: no match found: SLG > 2010-08-26 01:17:58 [10783] [4] INFO: Starting to service > <SLG123> from <1> to <2> > 2010-08-26 01:17:58 [10783] [4] DEBUG: formatted text answer: > <No service specified SLG123 SLG123> > 2010-08-26 01:17:58 [10783] [4] DEBUG: message length 34, > sending 1 messages > 2010-08-26 01:17:58 [10783] [0] DEBUG: Got ACK (0) of > 43c761e3-1681-44f0-93f9-000ffbbd5141 > 2010-08-26 01:17:58 [10783] [0] DEBUG: No client - multi-send > or ACK to pull-reply ----END LOG-------- > > and, the relevant msg was, using fakesmsc in interactive mode: > 1 2 text SLG123 > > btw, Nikos, are you Greek, as the name implies ? if so, could > you perhaps give me a ring (I will send my phone number) > > > -----Original Message----- > > From: Nikos Balkanas [mailto:[email protected]] > > Sent: Wednesday, August 25, 2010 10:18 PM > > To: Cariotoglou Mike; [email protected] > > Subject: Re: Problem with Regular Expressions > > > > Hi, > > > > Please post relevant smsbox logs at maximum detail (level = > 0). Also > > post your whole configuration. > > > > BR, > > Nikos > > ----- Original Message ----- > > From: "Cariotoglou Mike" <[email protected]> > > To: <[email protected]> > > Sent: Wednesday, August 25, 2010 8:22 PM > > Subject: Problem with Regular Expressions > > > > > > Hi, I am new to Kannel. I am using 1.4.3 on Ubuntu 10.04 > Server. I am > > trying to set up an SMS gateway, which will connect to smsc using > > SMPP. > > before actually connecting to the smsc, I am testing locally, using > > fakesmsc. The problem I am having is that the keyword-regex > variable > > does not seem to be working as documented. > > specifically : > > > > the SMS message I am trying to match looks like this : > > SLGxxxxxxxxxxxxx (no spaces at all, a single string) > > > > This configuration seems to work, although there is no > <SLG> word in > > the message, assuming that "word" implies space-delimiters: > > > > group = sms-service > > name = SLG > > keyword = SLG > > text = "Hi there,SLG" > > catch-all = true > > > > although it shouldn't work, IMHO! (it should work for <SLG > > 123>, but not > > for <SLG123>, yet it does) > > > > this configuration, which is the one I want, does not work at all: > > > > group = sms-service > > name = SLG > > keyword-regex = "^SLG[0-9]+" > > text = "Hi there,SLG" > > catch-all = true > > > > according to my understanding of regular expressions, this should > > match SLG123, and NOT match SLGAAAA. > > it actually matches NOTHING. > > > > Could you please explain why, and, in general, how can I match a > > message that STARTS with a pattern, but does NOT contain any word > > delimiters ? > > > > Mike > > > > > > > >
