Osmocom code for the Iuh interface (HNBAP, RUA, RANAP) https://osmocom.org/projects/libosmo-ranap
Go to file
Oliver Smith 1d19c8e21e asn1tostruct: fix defines getting redefined
Do not write the same define twice for two files in a struct, e.g.:


  typedef struct RANAP_EnhancedRelocationCompleteRequestIEs_s {
      uint16_t                                 presenceMask;
      RANAP_IuSignallingConnectionIdentifier_t oldIuSigConId;
      RANAP_IuSignallingConnectionIdentifier_t iuSigConId;
      RANAP_GlobalRNC_ID_t                     relocation_SourceRNC_ID;
      RANAP_ExtendedRNC_ID_t                   relocation_SourceExtendedRNC_ID; ///< Optional field
      RANAP_GlobalRNC_ID_t                     relocation_TargetRNC_ID;
      RANAP_ExtendedRNC_ID_t                   relocation_TargetExtendedRNC_ID; ///< Optional field
      RANAP_RAB_SetupList_EnhancedRelocCompleteReq_t raB_SetupList_EnhancedRelocCompleteReq; ///< Optional field
  } RANAP_EnhancedRelocationCompleteRequestIEs_t;

The problem is that the type is used and it may not be unique inside a
struct. Change the code to use the name of the field if the type is not
unique. Keep using the type otherwise so existing code doesn't need to
be modified a lot to fix this.

Fix for:

Change-Id: I2ecae6789899952d1dc5691ab76907abeaa71c12
2022-11-15 11:16:38 +01:00
asn1 asn1tostruct: fix defines getting redefined 2022-11-15 11:16:38 +01:00
contrib Bump version: → 1.3.0 2022-06-28 18:59:56 +02:00
debian Bump version: → 1.3.0 2022-06-28 18:59:56 +02:00
doc Drop osmo-hnbgw 2022-01-04 18:59:46 +01:00
include ranap_common_cn: rename ctx -> priv 2022-11-15 11:16:21 +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 hnbap_common: hnbap_cause_str: handle nothing val 2022-11-15 11:16:22 +01:00
.gitignore gitignore: Ignore libsmo-{hnbap,rua}.pc 2021-11-16 17:47:34 +01:00
.gitreview add .gitreview to support git review plugin 2017-08-08 17:02:18 +00:00
COPYING move COPYING file to root directory 2015-12-21 21:01:00 +01:00
Makefile.am Drop no longer needed systemd config in build system 2022-01-07 13:39:53 +00:00
README.md README.md: remove obsolete notice from 7 years ago 2022-06-18 14:01:45 +02:00
TODO-RELEASE asn1tostruct: fix defines getting redefined 2022-11-15 11:16:38 +01:00
configure.ac Bump version: → 1.3.0 2022-06-28 18:59:56 +02:00
git-version-gen add git-version-gen to auto-generate git based version number 2016-01-03 18:08:05 +01:00
libosmo-hnbap.pc.in Provide libosmo-hnbap as a public shared library 2021-10-22 15:42:27 +02:00
libosmo-ranap.pc.in add pkg-config file for libosmo-ranap 2016-01-03 18:12:22 +01:00
libosmo-rua.pc.in Provide libosmo-rua as a public shared library 2021-10-22 15:43:17 +02:00
libosmo-sabp.pc.in sabp: Generate C/H files for SABP; create libosmo-sabp 2019-09-23 20:23:51 +02:00
move-asn1-header-files.sh move-asn1-header-files: error for wrong asn1c 2022-11-11 17:40:13 +01:00


osmo-iuh - Osmocom Iuh implementation

This repository contains a C-language implementation of the 3GPP Iuh interface. You can use it to interface Iuh-speaking femtocells/small cells to Iu-speaking MSCs and SGSNs.

It is part of the Osmocom Open Source Mobile Communications project.


The official homepage of the project is https://osmocom.org/projects/osmohnbgw/wiki

GIT Repository

You can clone from the official libosmocore.git repository using

git clone https://gitea.osmocom.org/cellular-infrastructure/osmo-iuh

There is a web interface at https://gitea.osmocom.org/cellular-infrastructure/osmo-iuh


There is currently no documentation beyond the wiki available on the homepage. We would love to see somebody contributing a manual that can be part of the osmo-gsm-manuals suite.

Mailing List

Discussions related to osmo-iuh are happening on the openbsc@lists.osmocom.org mailing list, please see https://lists.osmocom.org/mailman/listinfo/openbsc for subscription options and the list archive.

Please observe the Osmocom Mailing List Rules when posting.


Our coding standards are described at https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards

We us a gerrit based patch submission/review process for managing contributions. Please see https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit for more details

The current patch queue for osmo-iuh can be seen at https://gerrit.osmocom.org/#/q/project:osmo-iuh+status:open


It is generally best to check the wiki for the most up-to-date build instructions.

As external library dependencies, you will need

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

autoreconf --install

After that, run the usual

./configure [options]
[sudo] make install

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: