Re: [PATH] convert internal charset to UTF-8

Peter Christensen <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Organization Cool Systems ApS
Message-ID <[email protected]>
Hi,

Alexander Malysh wrote:
> Hi,
> 
> Am 20.07.2006, 12:48 Uhr, schrieb Peter Christensen <[email protected]>:
> 
>> Hi Alex,
>>
>> Awesome initiative! I've been hoping for this to happen for quite a
> 
> Thanks!
> 
>> while. There are a few issues though:
>>
>> 1. In the gwlib/latin1_to_gsm.h, <SP> (space) is replaced with <ESC> 
>> (0x1B), and <ESC> is mapped to NRP instead of just <ESC>. (If you 
>> follow me)
>>
> 
> ok, here was a typo, changed <SP> to 0x20 but <ESC> should be NRP 
> because it's non representable in GSM.
> 

I see your point. Assuming that kannel is updated if and when the GSM 
charset is extended further in the future, the <ESC> really should be 
NRP, but then again, I've experienced a few gateways which required you 
to transmit the escape sign yourself for some reason... They probably 
used iso-8559-1 charset and I needed € or whatever, and in such cases 
the charset_utf8_to_gsm wouldn't be called anyway. My thought was 
primarily in case the GSM charset was changed further. (In short, I can 
live without the <ESC> :D)

>>
>> 2. For some odd reason, smsbox trims the message to 160 characters, 
>> while it is in utf-8 format... My usual charset test message which 
>> contains all GSM characters except the Greek ones (wasn't possible 
>> before now), looks like this:
>>
>> Test: @£$¥èéùìòÇ
>> Øø
>> Åå_ÆæßÉ 
>> !"#¤%&'()*+,-./0123456789:;<=>?¡ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÑܧ¿abcdefghijklmnopqrstuvwxyzäöñüà^{}\[~]|€ 
>>
>>
>> Which in UTF-8 takes up 163 octets, but only 141 septets in GSM. When 
>> transmitting, the € is omitted, and judging from a ngrep of data 
>> transfered from smsbox to bearerbox, it is smsbox which does the 
>> trimming. For the record, the string is exactly 160 octets long when € 
>> is omitted.
>> Apparently it uses the size of the GSM string to determine when to 
>> split, but the trimming/splitting is done on the UTF-8 string. 
>> Obviously it is sms_split, which is to blame, but why is this function 
>> used at all if splitting is done in bearerbox (according to comments 
>> in source) - this problem is probably not directly related to the 
>> utf-8 patch.
> 
> hmm, strange... I will look in smsbox code if you don't beat me ;)
> The smsbox check max allowed messages from config and try to split 
> message sms_split. If there more as allowed smsbox send only allowed count.
> 

Heh, beating you probably wouldn't solve anything :o)
Actually I would have looked at it myself, if it wasn't because it 
apparently split the message just to combine the lot again, which seemed 
kinda silly.

>> Med venlig hilsen / Best regards
>>
>> Peter Christensen
>>
>> Developer
>> ------------------
>> Cool Systems ApS
>>
>> Tel: +45 2888 1600
>> Mai: [email protected]
>> www: www.coolsystems.dk
>>
>>
>> Alexander Malysh wrote:
>>> Hi all,
>>>  at http://www.kannel.org/~amalysh/kannel-utf8.patch is a not so huge 
>>> patch that converts internal kannel charset to UTF-8. Please note 
>>> that I didn't add smsbox compatibility code, means smsbox expect text 
>>> body to be encoded in UTF-8 as default also MOs will be forwarded in 
>>> UTF-8. It could be workarounded with charset cgi variable.
>>>  Please test it and send feedback/patches.
>>> I will maintain this patch for a while as long as we don't decide to 
>>> commit it to CVS.
>>>  --Thanks,
>>> Alex
>>>
>>
>>
> 
> 
> 
> --Thanks,
> Alex
> 
>
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.