Bug #2856

No automatic testing of IuCS interface

Added by laforge about 3 years ago. Updated over 1 year ago.

IuCS support
Target version:
Start date:
Due date:
% Done:


Spec Reference:


While we start to have some decent tests in our TTCN-3 based test suites for MGCP, BSSAP, MNCC, GSUP, etc., this all is 2G related testing so far.

In order to test the 3G side of things, we should start with tests for IuCS in OsmoMSC.

As TITAN can not speak APER (aligned packed encoding rules) directly, we will have to do some kind of external transcoding. The process roughly looks like this:
  • TITAN parses the RANAP asn1 syntax and generates its own structured data types from it
  • TITAN can generate BER (or XER?) encoder/decoder from this
  • we need to hook up some transcoder that bidirectionally converts BER<->APER. This could be either an external program, or we could link it as a library via C++ code into TITAN

See for a description of the problem and the usual approach to solve it. I'm attaching the key source file which contains the encoder/decoder functions.

The converter could be generated either using our hacked version of asn1c (which we use in osmi-iuh), or even using other (free or non-free) tools. 6.28 KB example source file using the TTCN->BER->PER approach laforge, 01/22/2018 01:33 AM
iucs-auth-ttcn.pcap iucs-auth-ttcn.pcap 1.1 KB laforge, 04/20/2019 08:50 PM

Related issues

Precedes OsmoSGSN - Bug #2857: No automatic testing of IuPS interfaceClosed01/23/201801/23/2018

Precedes OsmoHNBGW - Bug #2858: No automatic testing of Iuh interfaceNew01/23/201801/23/2018


#1 Updated by laforge about 3 years ago

  • Precedes Bug #2857: No automatic testing of IuPS interface added

#2 Updated by laforge about 3 years ago

  • Precedes Bug #2858: No automatic testing of Iuh interface added

#3 Updated by laforge almost 3 years ago

  • % Done changed from 0 to 10

I've done some initial investigation + trials, and I could successfully compile the RANAP, RUA and HNBAP asn sources (taken from wireshark.git/dissectors/epan/asn/) using ttcn3_makefilegen. The result is some rather large C++ and even larger object files.

What's missing to complete the chain now is to link this code against libosmo-iu and the glue code for the BER<->APER transcoding

#4 Updated by laforge over 2 years ago

  • Tags set to TTCN3, 3G

#5 Updated by laforge almost 2 years ago

  • Category set to IuCS support
  • Status changed from New to In Progress
  • % Done changed from 10 to 20

I have RANAP encoding/decoding now working in TTCN-3, and I've also created a set of RANAP templates to use. Integration into the MSC test suite via RAN_Emulation.ttcn is currently ongoing.

#6 Updated by laforge almost 2 years ago

  • Status changed from In Progress to Stalled

The core RANAP integration, the templates etc. appear to be working. The problem is that due to bugs in the proprietary asn1 compiler we're not able to reliably transcode between BER and APER at this point. setting to stalled again.

#7 Updated by laforge almost 2 years ago

an update including related fixes of the asn1 compiler was released. I'm at the point where withe very little hacks to MSC_Tests.ttcn I can get LU/auth dialogue between simulated RNC and OSmoMSC going, see attached pcap file.

It seems any fundamental ASN.1 related issues have been resolved, and libfftranscode is working as expected.

I'll clean up the code and work on more test integration shortly.

#9 Updated by laforge almost 2 years ago

There are now packages of a working APER <-> BER tranascoder available from - the packages are for debian9 x86_64, which is what we use in or docker containers.

#10 Updated by laforge almost 2 years ago

  • % Done changed from 30 to 60

libfftranscode is integrated in our docker builds. On my system locally I've already been running a number of IuCS TTCN3 tests. Will push them to gerrit once they have received more testing.

#11 Updated by laforge over 1 year ago

  • Status changed from In Progress to Resolved
  • % Done changed from 60 to 100

MSC Iu tests are now active in jenkins. Most of them fail due to #3948, but this issue is about "not automatic testing" which is resolved, even if the testing results in 'fail'.

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)