Osmocom code for the Iuh interface (HNBAP, RUA, RANAP) https://osmocom.org/projects/libosmo-ranap
Go to file
Neels Hofmeyr 4470f93074 hnb-test: simplify crossing message layers
Adding the Security Mode Control command would break the current scheme of
callbacks across layers. This brought to my attention that the scheme is indeed
unnecessarily complex, so simplify it.

Instead of passing callbacks, call functions directly. Add hnb-test-layers.h to
declare those functions that cross from main to rua, to ranap and back to main
and remove the callback type definitions.

Instead of copying the NAS PDU to a newly allocated msgb, pass the data and len
directly to hnb_test_nas_rx_dtap().

Instead of repeatedly checking the gsm48_hdr length, just pass the struct
gsm48_hdr* and len around and assume the basic header length has been checked.

In some places, rename 'length' to 'len' for cosmetic consistency.
2016-04-19 01:32:25 +02:00
asn1 asn1: Generate _free_*ies function declarations 2016-02-22 11:15:04 +01:00
doc rename README.msc to README 2016-03-30 14:10:39 +02:00
include avoid a warning by declaring struct gprs_ra_id opaquely 2016-02-29 10:02:10 +01:00
pcap Better capture for PS Data 2016-02-18 13:21:30 +01:00
specs import TR 25.931 with examples of signalling procedures 2016-02-22 09:17:15 +01:00
src hnb-test: simplify crossing message layers 2016-04-19 01:32:25 +02:00
.gitignore gitignore (dummy-cn, testsuite.dir) 2016-01-05 13:05:47 +01:00
COPYING move COPYING file to root directory 2015-12-21 21:01:00 +01:00
Makefile.am move asn1 headers to include/ dir (5/5) 2016-01-04 18:11:19 +01:00
README update dependencies in README file 2016-04-09 20:29:37 +02:00
configure.ac Remove osmo-iuh subdir level from include/ (2/2) 2016-01-05 12:00:06 +01:00
git-version-gen add git-version-gen to auto-generate git based version number 2016-01-03 18:08:05 +01:00
libosmo-ranap.pc.in add pkg-config file for libosmo-ranap 2016-01-03 18:12:22 +01:00
move-asn1-header-files.sh move asn1 headers to include/ dir (3/5) 2016-01-04 18:11:19 +01:00

README

Osmocom Iuh experimentation code
(C) 2015 by Harald Welte <laforge@gnumonks.org>

This code is a playground for implementing something along the lines of
the an Iuh interface of a HNB-GW.  The intent is to later integrate this
with OsmoNITB + OsmoSGSN, in order to have 3G capable 'network in the
box'.

h1. Building

As external library dependencies, you will need
* libosmocore from git://git.osmocom.org/libosmocore
* libasn1c from git://git.osmocom.org/libasn1c
* libsctp-dev (this is the package name in Debian)
* libosmo-netif from git://git.osmocom.org/libosmo-netif (sysmocom/sctp branch)
* libosmo-sccp from git://git.osmocom.org/libosmo-sccp (sysmocom/iu branch)

To bootstrap the build, in the root directory, run:

    autoreconf --install

After that, run the usual

    ./configure [options]
    make
    [sudo] make install

h1. Using

Note: osmo-iuh is in active development (December 2015, January 2016) so below
statements may outdate rapidly.

there's not much to use yet.  But if you run the 'hnbgw' executable,
it will open a listening SCTP socket and wait for incoming Iuh
connections.  It will accept any HNB-REGISTER-REQUEST, so the homeNodeB
should start to establish RUA and RANAP (which we haven't implemented
yet).

h1. Regenerating C code from ASN.1 source

In order to re-generate the C source code from the ASN.1 source,
you will need a modified asn1c which has the following features:
* APER support (the patch from Eurecom, or its forward-ported version
  from the aper branch of git://git.osmocom.org/asn1c)
* support for prefixing the generated types (aper-prefix branch of
  git://git.osmocom.org/asn1c)