No automatic testing of IuCS interface
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.
#3 Updated by laforge about 1 year 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
- 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.
- 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 about 4 hours ago
- File iucs-auth-ttcn.pcap iucs-auth-ttcn.pcap added
- Status changed from Stalled to In Progress
- % Done changed from 20 to 30
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.