Project

General

Profile

Actions

Feature #6490

open

update eclipse-titan to 10.1.1 to get out-of-box ASN.1 PER support

Added by fixeria 12 days ago. Updated 11 days ago.

Status:
Stalled
Priority:
Low
Assignee:
Target version:
-
Start date:
06/14/2024
Due date:
% Done:

0%

Spec Reference:
Tags:

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:

https://gitlab.eclipse.org/eclipse/titan/titan.core/-/blob/master/usrguide/releasenotes/releasenotes.adoc?ref_type=heads#version-10-0-0

TITAN version 10.1.0 brings some more ASN.1 PER related features/improvements:

https://gitlab.eclipse.org/eclipse/titan/titan.core/-/blob/master/usrguide/releasenotes/releasenotes.adoc?ref_type=heads#version-10-1-0

sadly, version 10.1.0 has a serious regression, so I suggest migrating directly to a path release:

https://gitlab.eclipse.org/eclipse/titan/titan.core/-/blob/master/usrguide/releasenotes/releasenotes.adoc?ref_type=heads#version-10-1-1

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
Actions #1

Updated by osmith 12 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)

Actions #2

Updated by osmith 12 days ago

  • Status changed from New to Feedback
  • Assignee changed from osmith to fixeria
Actions #3

Updated by laforge 12 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.

Actions #4

Updated by fixeria 11 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.

Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)