Hello.

By reading the documentation, when %s is used, it means the second word of the SMS message.

However, if I send this

./fakesmsc -r 13013 -z 7 -m 2 "123 456 text complex 1000000"

with this service configuration

group = sms-service
keyword = complex
get-url = "" class="moz-txt-link-rfc2396E" href="http://192.168.1.110/test.php?sender=%p&text=%s">"http://192.168.1.110/test.php?sender=%p&text=%s"
accept-x-kannel-headers = true
max-messages = 3
concatenation = true


with this PHP code

<?php

foreach($_REQUEST as $key => $val) {
    echo $key." -> ".$val." ";
}

?>

the service won't be "caught". This is because there is an extra parameter being added. Some random number at the end. This means that this command


./fakesmsc -r 13013 -z 7 -m 2 "123 456 text complex 1000000"

has two parameters. One is 1000000 the other one is some random number and thus, the service (because it doesn't have catch-all) won't be executed.


If I send

./fakesmsc -r 13013 -z 7 -m 2 "123 456 text complex"

the service is caught and it will output the REQUEST parameters correctly. But technically, I only sent the keyword. My REQUEST parameter will be the random number I mentioned. The output is:

2008-04-11 11:12:43 [22922] [0] DEBUG: fakesmsc: sent message 1
2008-04-11 11:12:43 [22922] [0] DEBUG: Got message 1: <4561994927081 123351221477 text sender -> 123351221477 text -> 1129394958>

I've read through the documentation and I couldn't find any information regarding this. It's an easy workaround but I would still like to know what this is because the documentation explicitly says that %s will be the second word (first is the keyword) and it doesn't seem to be the case.

Thank you! Best regards.

Reply via email to