https://osmocom.org/https://osmocom.org/favicon.ico?16647414092019-03-26T15:09:02ZOpen Source Mobile CommunicationsOsmoHNBGW - Feature #3862: Add support for asn1scchttps://osmocom.org/issues/3862?journal_id=136472019-03-26T15:09:02Zmsuraev
<ul><li><strong>Related to</strong> <i><a class="issue tracker-1 status-1 priority-1 priority-lowest" href="/issues/2437">Bug #2437</a>: synchronize different asn1c APER forks</i> added</li></ul> OsmoHNBGW - Feature #3862: Add support for asn1scchttps://osmocom.org/issues/3862?journal_id=136492019-03-26T15:10:00Zmsuraev
<ul><li><strong>Related to</strong> <i><a class="issue tracker-2 status-1 priority-1 priority-lowest" href="/issues/2436">Feature #2436</a>: Test cases for asn1c APER encoding</i> added</li></ul> OsmoHNBGW - Feature #3862: Add support for asn1scchttps://osmocom.org/issues/3862?journal_id=136512019-03-26T15:10:11Zmsuraev
<ul><li><strong>Related to</strong> <i><a class="issue tracker-1 status-1 priority-1 priority-lowest" href="/issues/2435">Bug #2435</a>: Osmocom asn1c/libasn1c is based on old fork</i> added</li></ul> OsmoHNBGW - Feature #3862: Add support for asn1scchttps://osmocom.org/issues/3862?journal_id=136602019-03-27T06:54:37Zlaforge
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>Rejected</i></li><li><strong>Priority</strong> changed from <i>Normal</i> to <i>Low</i></li></ul><p>asn1scc doesn't support APER (aligned PER encoding), which is used on those interfaces/protocols where we currently use it. However, it supports UPER, from which it is typically not very hard to add APER support.</p>
<p>There are numerous other restrictions, which make it unsuitable for 3GPP protocols:</p>
<pre>
Asn1scc will not generate code for ASN.1 grammars that
• contain SEQUENCE OFs and/or SET OFs with no SIZE constraint
• contain OCTET STRINGs and/or BIT STRINGs with no SIZE constraint
• IA5String, NumericString (and in general string types) with no SIZE constraint
• Contain extendable CHOICEs, extendable SEQUENCES or extendable enumerations.
</pre>
<p>and, most importantly:</p>
<pre>
The current version of asn1scc is also not supporting some advanced ASN.1 features such as
macros, parameterization and Information Class Objects.
</pre>
<p>For the time being, I think we're still best off with sticking to asn1c, possibly updatin to a more recent version like the one used by nextepc.</p>
<p>One other alternative we've been thinking about: Use proprietary ffasn1c (for which sysmocom has a license) while reimplementing the (currently proprietary) runtime library code as FOSS. ffasn1c could then run as a post-commit-hook on the git server, so if anyone ever pushes changes to the asn1 files, the C code is re-generated.</p>