problems with dissecting

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/osmocom-net-gprs@lists.osmocom.org/.

jolly andreas at eversberg.eu
Tue Feb 19 11:28:09 UTC 2013


hi,

steve and me experienced a problem with dissecting a "packet resource
request" at pcu. the patch i attached will show the following output:

$ make && src/osmo-pcu

PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 5 |
Exist_ACCESS_TYPE = 1 | ACCESS_TYPE = 3 |  : ID | Choice
PacketResourceRequestID = 1 | u.TLLI = 0x7ee0e8fd | : End ID |
Exist_MS_Radio_Access_capability = 1 |  : MS_Radio_Access_capability |
MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 1 |
u.Content length = 34 | RF_Power_Capability = 4 | Exist_A5_bits = 1 |
A5_bits = 96 | ES_IND = 1 | PS = 0 | VGCS = 0 | VBS = 0 |
Exist_Multislot_capability = 1 |  : Multislot_capability |
Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 |
GPRS_multislot_class = 10 ....

this is all correct, but then i patched the get_ms_class_by_capability()
function at grps_rlcmac_data.c:

...
printf("we have = %d\n", cap->Count_MS_RA_capability_value);
        for (i = 0; i < cap->Count_MS_RA_capability_value; i++) {
printf("index=%d\n", cap->MS_RA_capability_value[i].IndexOfAccTech);
printf("exists multislot capability %d\n",
cap->MS_RA_capability_value[i].u.Content.Exist_Multislot_capability);
printf("exists class %d\n",
cap->MS_RA_capability_value[i].u.Content.Multislot_capability.Exist_GPRS_multislot_class);
printf("class %d\n",
cap->MS_RA_capability_value[i].u.Content.Multislot_capability.GPRS_multislot_class);
...

the output continues as this:

we have = 2
index=2
exists multislot capability 0
exists class 1
class 10
index=0
exists multislot capability 0
exists class 0
class 0

the "class 10" is correct, also it is correct that the class only exists
in the first entry of the capability array. the output of the dissector
states that multislot capability exists (Exist_Multislot_capability =
1), but if i look at the structure, this field is not set.

i looked at the dissector code, but don't really understand why
CSN_NEXT_EXIST works for some elements and not for others.

any ideas?

regards,

andreas

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/osmocom-net-gprs/attachments/20130219/ed5db391/attachment.htm>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: dissector_test.patch
URL: <http://lists.osmocom.org/pipermail/osmocom-net-gprs/attachments/20130219/ed5db391/attachment.ksh>


More information about the osmocom-net-gprs mailing list