Hi.

I'm setting up Kannel for an existing, fairly-large-scale, machine-to- machine mobile application. Right now, I'm using a gsm modem as a virtual SMPP center and everything's working _nearly_ fine. I'm also going to be connecting it to a real SMPP gateway once I get all of the kinks worked out.

My first problem was the kannel was remapping the chars in my inbound messages. I tried a bunch of different options in my config file but no luck. I eventually fixed that by completely commenting out the entire contents of these functions:
void charset_gsm_to_latin1(Octstr *ostr)
void charset_latin1_to_gsm(Octstr *ostr)
now inbound data is arriving as expected.

Next problem: I need to disable ALL character set conversion on outbound messages sent via the smsbox. My server application is sending URL-escaped messages that are already in GSM-03.38 charset, and I don't want any conversion done on them at all.

For instance, if I want to send the British Pound symbol via the gateway, I'd send something like:
http://localhost:13013/cgi-bin/sendsms?username=foo&password=bar&to=2125551212&text=TheCostIs%01&smsc=viamodem&charset=gsm-03.38
And the URL input is always assumed to be windows-1252 or something thereabouts, so I don't get the desired output.

I tried mapping from GSM into 1252, and sending that URL across, but even that didn't work; most of the characters were mapped wrong.
ditto for UTF-8, ditto for ISO-8859-1.

What I'm hoping for is some kind of config file flag that will just let me pass data completely raw and unconverted... but I have no qualms about commenting out code which would normally do charset conversion since my app always operates in the GSM charset.

My app involves a large number of existing, remotely deployed devices so I'm not looking for any, uh, "design feedback" on how to use charsets in my device firmware -- i'm just hoping someone can quickly point me to the place in the code where this undesirable tranform is taking place so i can turn it off (or let me know what flag in the conf file i'm just not figuring out to set...)

Short of that, I'll be cozying up with gdb for the weekend, trying to find out where my octet is being mutated when I just want it left alone :)

Thanks
bh

Reply via email to