This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.
Dieter Spaar spaar at mirider.augusta.deHello Harald, On Sun, 5 Jul 2009 04:42:20 +0200, "Harald Welte" <laforge at gnumonks.org> wrote: > > where did you find this XOR? I just searched through 04.07 and 04.08 and > didn't find any indication thereof. Sure, the padding bit sequence ix 0x2b, so > all spare bits have to be padded with that. But where did you get the XOR > from? I started to search deeper because I was a bit confused how the Message Decoding Tool from Joachim Goeller interpreted the rest octets. I looked at some phone firmware how they do it and found it there. Later I also found a good explanation at http://csn1.info (they sell a tool which can be used to generate message parsing source code for various specifications). > Also, this would mean that if we put explicitly 0x2b into the padding of > our messages, then it would result in all-zero 0x00 on the air, since > > 0x2b xor 0x2b == 0x00 The XOR is actually only used for "L" and "H", basically it means that if a bit at an "L"/"H" position is different from the padding sequence, its an "H". At least this is how I understand it. > I'm now looking at an actual abis trace from a production cell with GPRS > enabled, and it has > > "0x80, 0x00, 0x80, 0x0b" Here is how I would interpret it according to GSM 04.08, 10.5.2.34: Selection Parameter: byte 0: 0x80 ^ 0x2B = 0xAB, (bit 7) -> H (15 bits for parameter follow) Power Offset: byte 2: 0x80 ^ 0x2B = 0xAB, (bit 7) -> H ( 2 bits for parameter follow) System Information 2ter Indicator: byte 2: 0x80 ^ 0x2B = 0xAB, (bit 4) -> L (has no parameters) Early Classmark Sending Control: byte 2: 0x80 ^ 0x2B = 0xAB, (bit 3) -> H (has no parameters) Scheduling if and where: byte 2: 0x80 ^ 0x2B = 0xAB, (bit 2) -> L GPRS Indicator: byte 2: 0x80 ^ 0x2B = 0xAB, (bit 1) -> H ( 4 bits for parameter follow) > During early start of the BTS, SI3 rest octets are set to > > "0x80, 0x00, 0x83, 0x2b" The only difference is that at this stage GPRS is not yet set: GPRS Indicator: byte 2: 0x83 ^ 0x2B = 0xA8, (bit 1) -> L Best regards, Dieter -- Dieter Spaar, Germany spaar at mirider.augusta.de