Help needed with CSD/V.110 decoding

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/.

Tobias Engel t-openbsc at tobias.org
Sun Sep 23 15:52:23 UTC 2012


Hi,

I have been trying to implement some basic CSD functionality into
openbsc. V.110 transparent mode, to be specific, since this should be
the most simple to implement.

At first I tried with a nanobts, but that didn't seem to work at all.
Now I am using a bs-11.

The two phones I use establish a connection, but they cannot exchange
data and what I see on the Abis link also doesn't really make sense to
me. (Needless to say everything works as expected when using the same
phones on a production network.)

I attached a pcap of a CSD call I made via the bs-11. The second
attachment is the raw dump of the traffic frames I received from the
BS-11 for _one_ of the phones. (It looks pretty much the same for the
other phone.)

The first idle data frames received look ok:

00000000  00 00 c5 ff ff ff ff ff  fd ff ff ff ff ff ff ff
00000010  ff fd ff ff ff ff ff ff  ff ff fd ff ff ff ff ff
00000020  ff ff ff fd ff ff ff ff

C bits (Uplink data), D bits (all set to "1" == idle) and E bits (9.6
kbit/s) are all set as expected.

But after the synchronisation phase, things start to get strange. The
idle frames suddenly look like this:

00000460  00 00 8a ff ff fe fe fe  fa fe fe fe fe fe fe fe
00000470  fe fa ff fe fe fe fe fe  fe fe fa ff fe fe fe fe
00000480  fe fe fe fa ff fe fe fe

The BTS "forgets" to set the first bit of every octet to "1" on most
(but not all) octets. Also, the C bits now state that this is a
14.5kbit/s data frame. The E bits say the user rate now is 7.2 kbit/s.

There are only four frames with actual payload data in the dump. These
frames are at the positions I expect them to be (40600, 60520, 80440,
100400 - they were sent in intervals of 10 seconds). They look like this:

00009e90                           00 00 8a ff 2b a2 fa aa
00009ea0  fa 86 02 22 22 6e fe 1a  26 fa d7 4e d6 52 36 56
00009eb0  4e d6 fa 53 36 56 4e d6  52 36 56 fa 4f d6 52 36

What has been sent by the phone is an eight byte timestamp followed by
22 bytes of 0xaa. But I only get one data frame for each of these
transmissions (30 bytes of payload don't fit into one data frame), and
if I parse it as V.110 data, I get these 20 bytes:

00000000  15 7d 0d 10 d5 ff 33 fb  ae f5 ff ae ba ef fd ba
00000010  ef ae ba ff

So no 0xaa bytes there...


Does anybody have any idea what I might be doing wrong here?

Thanks,
-Tobias
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bs11-only-mtside-sends2.pcap
Type: application/octet-stream
Size: 8765 bytes
Desc: not available
URL: <http://lists.osmocom.org/pipermail/openbsc/attachments/20120923/b46ebc0a/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bs11-only-mtside-sends2.bin
Type: application/macbinary
Size: 111880 bytes
Desc: not available
URL: <http://lists.osmocom.org/pipermail/openbsc/attachments/20120923/b46ebc0a/attachment.bin>


More information about the OpenBSC mailing list