send-url for HTTP-based relay in 1.3.1

Peter Beckman <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel,gmane.comp.mobile.kannel.user
Message-ID <[email protected]>
Folks -- Having a little problem with kannel and binary messages sent via
HTTP.

Right now, I can't seem to successfully convert the text passed by kannel
via an HTTP relay connection back to the hex encoded string.

The original:

    UDH: 0B0504158100000003010301
    Txt: 024A3A61A5B991858DB1D5880400D522CAEB2CD49082CAB12418400410B2AD49082CB312408B26D49082CAB12408B2CD49082CAB12418400410B2AD4

What I get from Kannel:

    [from] => #####
    [to] => 1##########
    [text] => J:a¥¹‘…±Õˆ\0Õ\"Êë,Ԑ‚ʱ$@²­I,³@‹&Ԑ‚ʱ$²ÍI,«A„\0A*Ô
    [smsc] => ####http
    [coding] => 2
    [udh] => \0\0\0
    [textbin] => %b
    [worthless] => nothing?username=nada
    [password] => nada

I have a function that gets it close (taking each character and trying to
convert it to its binary then hex format, taking in account \0 is a null),
but not exact.

This is as close as I get:

    [udh]  => 0B05040F5100000003010301
    OrigUDH:  0B0504158100000003010301

    [text] => 0204033D00005B550800005804000000000002005A520000181228040A0000310802000C28081A005A52000018080000310802000C29540029000200
    OrigTxt:  024A3A61A5B991858DB1D5880400D522CAEB2CD49082CAB12418400410B2AD49082CB312408B26D49082CAB12408B2CD49082CAB12418400410B2AD4

Any suggestions?  Here's my function that I use to parse:

function decodebin($str) {
    $chars = preg_split("//", $str);    // split each character into an array
    $ret = "";
    while(list($k,$v) = each($chars)) {
        // skip first and last; preg_replace returns spaces/nulls as first and last
        if ($k == 0 or $k == (count($chars)-1)) continue;
        // check for the \0 null
        if ($v == "\\") {
            $backslash = 1;
            continue;
        }
        if ($backslash and $v == 0) {
            $ret .= "00";
            $backslash = 0;
            continue;
        }
        // if we are here, take the ascii val of the character, convert to hex, print leading 0 if less than F
        $ret .= sprintf("%02X", dechex(ord($v)));
        $backslash = 0;
    }
    return $ret;
}




---------------------------------------------------------------------------
Peter Beckman                                                  Internet Guy
[email protected]                             http://www.purplecow.com/
---------------------------------------------------------------------------

---------- Forwarded message ----------
Date: Fri, 6 Aug 2004 11:49:41 -0400
From: [email protected]
To: [email protected]
Subject: Mobileway HTTP

Array
(
    [from] => 25378
    [to] => 17032033393
    [text] => J:a¥¹‘…±Õˆ\0Õ\"Êë,Ԑ‚ʱ$@²­I,³@‹&Ԑ‚ʱ$²ÍI,«A„\0A*Ô
    [smsc] => mobilewayhttp
    [coding] => 2
    [udh] => \0\0\0
    [textbin] => %b
    [worthless] => nothing?username=nada
    [password] => nada
)
In: POST /usa_opera_mnp/usa_opera_mnp.sms HTTP/1.1
HOST: 203.117.144.30
Authorization: Basic dXNhX29wZXJhX21ucDpiakVkbHJwaw==
content-length: 229

Subject=Example
[MSISDN]
List=17032033393
[MESSAGE]
Text=0204033D00005B550800005804051E000516000002005A520000181228040A0000310802000C28081A005A52000018080000310802000C2954051E29000200
Binary=05040F51051E051E051E03010301
Length=14
Out: HTTP/1.1 200 OK
Date: Fri, 06 Aug 2004 15:49:37 GMT
Server: Apache/1.3.27 (Unix) mod_perl/1.27
Content-Type: text/xml;charset="utf-8"
X-Cache: MISS from mt1.sg.mobileway.com
Transfer-Encoding: chunked

aa
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
</HEAD>
<BODY><br>
#Message Receive correctly<br>
ORDERID=2291797334<br>
</BODY>
</HTML>


0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.