<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body text="#000000" bgcolor="#ffffff">
hi,<br>
<br>
steve and me experienced a problem with dissecting a "packet resource
request" at pcu. the patch i attached will show the following output:<br>
<br>
$ make && src/osmo-pcu<br>
<br>
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 ....<br>
<br>
this is all correct, but then i patched the
get_ms_class_by_capability() function at grps_rlcmac_data.c:<br>
<br>
...<br>
printf("we have = %d\n", cap->Count_MS_RA_capability_value);<br>
        for (i = 0; i < cap->Count_MS_RA_capability_value; i++) {<br>
printf("index=%d\n", cap->MS_RA_capability_value[i].IndexOfAccTech);<br>
printf("exists multislot capability %d\n",
cap->MS_RA_capability_value[i].u.Content.Exist_Multislot_capability);<br>
printf("exists class %d\n",
cap->MS_RA_capability_value[i].u.Content.Multislot_capability.Exist_GPRS_multislot_class);<br>
printf("class %d\n",
cap->MS_RA_capability_value[i].u.Content.Multislot_capability.GPRS_multislot_class);<br>
...<br>
<br>
the output continues as this:<br>
<br>
we have = 2<br>
index=2<br>
exists multislot capability 0<br>
exists class 1<br>
class 10<br>
index=0<br>
exists multislot capability 0<br>
exists class 0<br>
class 0<br>
<br>
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.<br>
<br>
i looked at the dissector code, but don't really understand why
CSN_NEXT_EXIST works for some elements and not for others.<br>
<br>
any ideas?<br>
<br>
regards,<br>
<br>
andreas<br>
<br>
</body>
</html>