Age | Commit message (Collapse) | Author | Files | Lines |
|
The script is expected to be run using python 2.x, but nowadays some
distros are already using python 3 as default, which will fail to run
this script.
This change fixes compilation in my Archlinux box.
Change-Id: I6eb95351538a64f2b23d638824972818591b1b66
|
|
Change-Id: I0686467e59b35e68bccb38ccfe645f5ccac97941
|
|
ranap_ies_defs.h is checked in so update it
hnbap_ies_defs.h and rua_ies_defs.h need to be regenerated
|
|
|
|
|
|
|
|
With that syntax error, the RAC was not treated as a possible IE
in the InitialUE-Message, causing decoder failure.
|
|
in order to work around a bug in asn1c. When we keep the original
TBCD-STRING, the APER-encoded PLMNidentity always has an extra leading
length byte that the decoder doesn't expect.
|
|
The decode_*ies functions did not clean up after them. This change is
taken from changes made to asn1tostruct.py in openair-cn repository.
|
|
The ffasn1c files from early trials are obsolete, we're using asn1c now.
|
|
When IMSI is a TBCD-STRING type, and TBCD-STRING is defined as OCTET
STRING, we end up encoding the IMSI the wrong way. I don't knwo why
that is, but changing it fixed the problem, as described below:
before this commit:
00 17 PeranentNAS-UE-ID
40 criticality ignore
0a (length)
00 presence = IMSI
08 BUG: why the additional length field?
46 23 91 34 70 77 80 f3 IMSI (643219430777083)
after this commit:
00 17 PeranentNAS-UE-ID
40 criticality ignore
09 (length)
50 presence = IMSI
46 23 91 34 70 77 80 f3 IMSI (643219430777083)
|
|
|
|
The definition of the above data types as per 3GPP specs results in a
SEQUENCE_OF() an anonymous structure, which is slightly inconvenient to
use. So let's split the SEQUENCE OF part and the actual definition of
the item in separate types.
|
|
This is not development, it is random trial and error hacking. I really
hate the fact that we have no useful asn.1 code generator and need to
work with hacks like asn1tostruct.py and asn1c without information
object classes :/
This commit is a one-day-long iteration of trial+error, manually editing
and adding the .asn source of RANAP until we get something that in the
end at least compiles and links. Do I trust the resulting code? No.
But we have no alternative :(
|
|
We shouldn't generate names like
RANAP_RAB_SetupList_EnhancedRelocCompleteReq__t when creating the
_encode() and _decode() functiosn, as the '-IEs' at the end must be
stripped before converting all '-' to '_'.
|
|
As asn1c cannot understand information object classes, we cannot compile
RANAP-PDU-Contents.asn but instead need to manually add the respective
infrmation elements to RANAP-PDU.asn.
|
|
we are generating the code locally in src/{ranap,rua,hnbap}
|
|
It seems that individual IEs contain nested containers, and
asn1c is not generating code for that unless we help it by some
hand-crafted additional definitions. *sigh*
|
|
If asn1c generates prefixed type names, the asn1tostruct.py of course
also needs to be modified to do so.
|
|
It is a legal impossibility to claim copyright on something that
has been automatically generated by a computer program.
|
|
|
|
A HNBRegisterAccept message should not contain HNBRegisterResponse IEs
This spec inconsistency is confusing the asn1tostruct.py code generator,
so let's remove it.
|
|
this is done semi-automatically using the asn1msgs.pl script.
|
|
|
|
... this is what's required for asn1c to generate nice C language
enums for it. Conversion was performed semi-automatically by use
of asn1enum.pl
|
|
|
|
If we avoid using Information Object Classes in the IE definitions
(which are only used for Extension Containers), then we can compile the
ASN.1 source using Lev Walkin's asn1c.
|
|
If we avoid using Information Object Classes in the IE definitions
(which are only used for Extension Containers), then we can compile the
ASN.1 source using Lev Walkin's asn1c.
|
|
If we avoid using Information Object Classes in the IE definitions
(which are only used for Extension Containers), then we can compile the
ASN.1 source using Lev Walkin's asn1c.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|