Bug #1640
openMissing release field/length in MS RA capability container
10%
Description
Description
In case of MS RA Capability container "Content_t", there is no dedicated field to denote the existence of 3GPP release in the message. The encoder goes out of max length allowed for release supported and encodes incorrectly.
Example vector with failure:
vector1 = 40165e000000268ca2a050740440000000300b2b2b2b2b
vector2 = 40165e00000026d0a2a0507400000220000000180b2b2b
vector1 == vector2 : FALSE
Proposal:
For this, we shall have precomputed value of length to terminate the container encoding before calling Content_Dissector in csn1.cpp file. The pre computing length logic routine shall consider the presence of different 3GPP releases.
For example in case of release 5 RA capability message , encoder should be able to code only till release 5 fields . In case of release 6 RA capability, encoder must be able to code till release 6. This release information must be available to the encoder to calculate length. Decoder will set the release field based on the fields present in the message.
Updated by laforge over 7 years ago
the proposal seems fine to me. will your team be working on this?
Updated by arvind.sirsikar over 7 years ago
- Status changed from New to Stalled
Currently no impact on the test scenarios. Hence low priority.
Updated by laforge over 6 years ago
- Status changed from Stalled to New
- Assignee changed from 4368 to msuraev
Updated by msuraev over 6 years ago
- Status changed from New to In Progress
- % Done changed from 0 to 10
Updated by laforge over 3 years ago
- Status changed from Stalled to Feedback
- Assignee changed from 4368 to fixeria
fixeria, is this still an issue?
Updated by fixeria over 3 years ago
- Assignee deleted (
fixeria)
Hi Harald,
fixeria, is this still an issue?
I remember we had some problems with encoding of the MS RA Capability, but this is not critical. Decoding is important for the PCU, because it needs to know the MS capabilities, and it seems to work fine. Encoding is not. The only place where we do encoding is the unit test, so unless I am missing something, it's not worth to spend time on that.
Here is what I get with the current master:
vector1 = 40165e000000268ca2a050740440000000300b2b2b2b2b =========Start DECODE=========== +++++++++Finish DECODE (0)++++++++++ =========Start ENCODE============= +++++++++Finish ENCODE (0)+++++++++++ vector1 = 40 16 5e 00 00 00 26 8c a2 a0 50 74 04 40 00 00 00 30 0b 2b 2b 2b 2b vector2 = 40 16 5e 00 00 00 27 0c a2 a0 50 74 00 00 00 00 04 40 00 00 00 30 0b vector1 == vector2 : FALSE