Hi, I tried few things and I believe I found a bug in the way the <dlr-url> is parsed. (1) First of all I tried to URI-escape the entire dlr-url and it didn't work. Basically I passed this: <dlr-url>http%3A%2F%2Flocalhost%2Fdump_me.php%3Fsend_history_id%3D13853219%26to_number%3D000000000000%26t ype%3D%25d</dlr-url>
And the same appears in the logs 2010-02-19 21:03:32 [1318] [3] DEBUG: XMLParsing: tag <dlr-url> value <http%3A%2F%2Flocalhost%2Fdump_me.php%3Fsend_history_id When Kannel is going to parse the url it rejects it: 2010-02-19 21:03:32 [1318] [3] DEBUG: Status: 400 Answer: <DLR-URL field misformed, rejected> In this case the message was not sent. (2) In a second test I didn't escape URI-escape. I let the Perl XML Writer to escape the content of <dlr-url> . In this case & is substituted by & This can also be seen in smsbox logs. 2010-02-19 21:11:43 [1381] [3] DEBUG: XMLParsing: tag <dlr-url> value <http://localhost/dump_me.php?send_history_id=13853220&to_number=000000000000&type=%d> However when kannel parses the URL the & is not changed back to & . So the result is the following URL is used. 2010-02-19 21:11:44 [1381] [9] DEBUG: Parsing URL `http://localhost/dump_me.php?send_history_id=13853220&to_number=000000000000&type=8': I wrote a simple script to catch the content of the GET when kannel query the <dlr-url> and the result is GET = Array ( [send_history_id] => 13853220 [amp;to_number] => 000000000000 [amp;type] => 8 ) (3) Finally I tried to overwrite the <dlr-ulr> so I substituted & with & so the request looks like this one below: <?xml version="1.0" encoding="UTF-8"?> <message><submit><da><number>000000000000</number></da><oa><number>000000000000</number></oa><ud>%E2%82%ACee</ud><statusrequest><dlr-mask>31</dlr-mask><dlr-url>http://localhost/dump_me.php?send_history_id=13853221&to_number=000000000000&type=%d</dlr-url></statusrequest><!-- request from application to Kannel --><from><username>xxxxxxx</username><password>xxxxxxx</password></from></submit></message> Note that this XML is technically wrong. However this produces the right result as ti can be seen from the logs: 2010-02-19 21:28:17 [1381] [3] DEBUG: XMLParsing: tag <dlr-url> value <http://localhost/dump_me.php?send_history_id=13853221&to_number=000000000000&type=%d> 2010-02-19 21:28:18 [1381] [9] DEBUG: Parsing URL `http://localhost/dump_me.php?send_history_id=13853221&to_number=3538706323 46&type=8': 2010-02-19 21:28:18 [1381] [9] DEBUG: Scheme: http:// 2010-02-19 21:28:18 [1381] [9] DEBUG: Host: localhost 2010-02-19 21:28:18 [1381] [9] DEBUG: Port: 80 2010-02-19 21:28:18 [1381] [9] DEBUG: Username: (null) 2010-02-19 21:28:18 [1381] [9] DEBUG: Password: (null) 2010-02-19 21:28:18 [1381] [9] DEBUG: Path: /dump_me.php 2010-02-19 21:28:18 [1381] [9] DEBUG: Query: send_history_id=13853221&to_number=353870632346&type=8 2010-02-19 21:28:18 [1381] [9] DEBUG: Fragment: (null) And also from my entry point I was able to get the three parameters correctly GET = Array ( [send_history_id] => 13853221 [to_number] => 000000000000 [type] => 8 ) In summary I believe that an incorrect XML produces the right result. The problem looks to me e that the <dlr-ulr> is not escaped correctly. Here some details Kannel smsbox version 1.4.3 xml2-config --version 2.6.32 Any suggestion? Thank you, Oscar On Thu, Feb 18, 2010 at 3:09 PM, Nikos Balkanas <n...@amdtelecom.net> wrote: > Well, urlencoding is not right, still. In your URL ytou need to encode /, & > and ?. Don't need to encode = or 8. But I think you want to encode &type=%d. > That should be %26type=%%d > > So is this working or not? What do you mean by 3 parmaters, not 2? This is > the dlr-url you send in your XML. > > BR, > Nikos >