GSM 7bit encoding/decoding

Tim Ehlers osmocom at ehlers.info
Sat Jan 14 12:26:36 UTC 2012


Hello,

since I had problems with german umlauts when receiving (and probably also 
when sending) SMS, I looked today in the gsm translating part in 
libosmocore.

I first noticed a problem, when sending "NETZ Number" to "4636" in O2 
network, you get a response SMS saying in which network the number is 
located. Using osmocombb, I get:

[SMS from 66399]
Sehr geehrter Kunde, die angefragte Nummer ist im Netz von o2 aktiv 
(Angabe ohne Gew§hr).

So the umlaut "ae" is converted to "§".

The problem seems to be in the convert table in 
src/shared/libosmocore/src/gsm/gsm_utils.c, which is not bijective. "Ae" 
in gsm7 is "0x7b" and must be converted to latin1 "0xe4".

Looking in gsm_7bit_alphabet at place "0xe4", the is "0x7b". But there is 
also an "0x7b" at place "0xa7", which comes first and is indeed "§".


So the question is, are there mistakes in the table or is there a reason 
for the double entries?

Thanks

Tim


More information about the baseband-devel mailing list