Feature #6490
openupdate eclipse-titan to 10.1.1 to get out-of-box ASN.1 PER support
0%
Description
Context¶
TITAN did not support ASN.1 PER until recently, so we worked this around by encoding/decoding to/from BER first, and then using proprietary libfftranscode to convert to/from PER.
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13652
commit a013e68fc9024ce680f43e6fe53a3e9efb1cd42e Author: Harald Welte <laforge@gnumonks.org> Date: Mon Jun 18 19:49:39 2018 +0200 HNBAP, RUA and RANAP protocol codecs This patch introduces protocol codecs for the HNBAP, RUA and RANAP protocols, which is mandatory for testing IuCS, IuPS or Iuh in the future. As Eclipse TITAN ASN.1 only supports the BER codec and the above protocols all use APER, we need to use an external transcoder from APER to BER and vice-versa. This was implemented using a proprietary ASN.1 compiler / trnaslator which sysmocom is packaging as libfftranscode, which is made available as binary package for Debian 9 at https://ftp.osmocom.org/binaries/libfftranscode/
Release notes¶
TITAN version 10.0.0 finally brings support for the ASN.1 PER codec:
TITAN version 10.1.0 brings some more ASN.1 PER related features/improvements:
sadly, version 10.1.0 has a serious regression, so I suggest migrating directly to a path release:
Stability, possible regressions, testing¶
Version 10.1.1 was tagged recently, so there may be regressions in the relatively new ASN.1 PER codec or even in other modules of TITAN.
I am running the bleeding edge version 10.1.1 (https://aur.archlinux.org/packages/eclipse-titan) locally and so far haven't caught any bugs (yet).
We'll first need to make sure that all our testsuites are executing fine and exhibit no new regressions, especially those involving the ASN.1 stuff.
Patches¶
Below are patches dropping libfftranscode dependency and migrating to TITAN's new PER codec:
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/37225 {hnbap,ranap,rua,s1ap,sabp,sbcap}: use TITAN's ASN.1 PER codec [NEW]
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/37226 s1ap: add {enc,dec}_S1AP_Global_ENB_ID() API [NEW]
I am marking them Work-in-Progress for now.
Checklist
- Make sure that all our testsuites are executing fine with TITAN 10.1.1
- Make sure that all our testsuites are executing fine with TITAN's ASN.1 PER codec (apply patches)
- Update eclipse-titan to 10.1.1
- Merge patches dropping libfftranscode
Updated by osmith 19 days ago
Previously we had just upgraded eclipse-titan after some brief testing. We did not test whether all testsuites behave exactly the same beforehand, which would be significant effort.
To follow that pattern, we would do it this way:- upgrade eclipse-titan to 10.1.1 first
- watch for potential fallout, and fix it (either adjust testsuites or if we find bugs in eclipse-titan, work with them to get these fixed and apply the fixes in the eclipse-titan we have in our OBS)
- apply patches for using TITAN's ASN.1 PER codec
- watch for potential fallout, and fix it
- merge patches dropping libfftranscode
fixeria: what do you think, do you want me to proceed with upgrading it first?
(How to upgrade eclipse-titan in OBS is documented here btw: https://osmocom.org/projects/cellular-infrastructure/wiki/Upgrading_eclipse-titan_in_the_Osmocom_OBS)
Updated by laforge 19 days ago
I really don't think this is important in the bigger picture. There are no known bugs/problems
with libfftanscode. I'd say if we try this at some point in the next 12 months it's ok, certainly
it's just about the lowest priority task that I can think of, in the order of "let's try forgejo instead of
gitea" or the like.
Updated by fixeria 18 days ago
- Status changed from Feedback to Stalled
laforge wrote in #note-3:
I really don't think this is important in the bigger picture.
This is why I set it to Low prio. I assigned it to osmith because he already did update TITAN previously.
There is certainly no rush / urgent need to upgrade, and I agree that libfftranscode does its job well.
I just wanted to document this somewhere that TITAN can now do PER and there is no longer need for an external proprietary dependency.
osmith wrote in #note-1:
fixeria: what do you think, do you want me to proceed with upgrading it first?
Thanks for a quick response / proposal, and sorry for potentially creating an impression of an important task.
Let's postpone this for later. We can do this next time, when there's a more important reason to update TITAN.