Project

General

Profile

Bug #2856

No automatic testing of IuCS interface

Added by laforge almost 2 years ago. Updated 7 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
IuCS support
Target version:
-
Start date:
01/22/2018
Due date:
% Done:

100%

Resolution:
Tags:

Description

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 https://www.eclipse.org/forums/index.php/t/1070344/ 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.

CAM_EncDec.cc CAM_EncDec.cc 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

History

#1 Updated by laforge almost 2 years ago

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

#2 Updated by laforge almost 2 years ago

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

#3 Updated by laforge almost 2 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 1 year ago

  • Tags set to TTCN3, 3G

#5 Updated by laforge 8 months 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 8 months 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 8 months 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.

#8 Updated by laforge 8 months ago

#9 Updated by laforge 8 months ago

There are now packages of a working APER <-> BER tranascoder available from http://ftp.osmocom.org/binaries/libfftranscode/ - the packages are for debian9 x86_64, which is what we use in or docker containers.

#10 Updated by laforge 8 months 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 7 months 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)