AgeCommit message (Collapse)AuthorFilesLines
2019-11-11WIP: SABP serverlaforge/sabpHarald Welte3-4/+365
Change-Id: Iff1d33c7482ff767aa5446a8ccfe9086fee57365
2019-11-11WIP: add SABP support to HNBGWHarald Welte4-2/+136
Change-Id: I2d91de2e37770e3635abe8004ac183857d8a6ff2
2019-10-08iu_client: ranap_iu_tx_release() change default cause code to SuccessAlexander Couzens1-3/+3
The cause code no remaining rab should be only used when closing the Iu connection on this specific reason. Change default to NAS Success Release which is a usual release. Change-Id: Icf3f06b0de7dcda9f967ae29863054ef813c75e5
2019-10-03iu_client: pass return value of osmo_sccp_user_sap_down() towards the callerAlexander Couzens1-7/+3
osmo_sccp_user_sap_down return 0 on success, negative values on failure Change-Id: I3b7c2296eb8b26f0881cee643b834336daab86ea
2019-09-23sabp: Generate C/H files for SABP; create libosmo-sabpHarald Welte133-8/+11908
This uses the (modified) Osmocom asn1c on the (modified) SABP ASN.1 syntax to generate C code + header files for SABP parsing/encoding. It also adds some helper code for message encoding and decoding as well as a new libosmo-sabp shared library which can be used by programs to implement SABP related functionality. Change-Id: Ib9580d1af96354398da4c9f97b28a0e23d56e275
2019-09-21sabp: Add Procedure Codes and IEI constants to CommonDataTypesHarald Welte2-32/+72
... this is what's required for asn1c to generate nice C language enums for it. Conversion was performed semi-automatically by use of asn1enum.pl Change-Id: I0cd78a102ec6e31c696efc2cc6a4f08a0ba6d89e
2019-09-21sabp: fixup SABP ASN.1 to avoid IOC (which are not supported by our toolchain)Harald Welte2-11/+155
Change-Id: I8211bc334b325e8950edcd769917f164a65591ba
2019-09-21sabp: Initial import of SABP ASN.1 from 3GPP TS 25.419 V11.1.0 (2013-03)Harald Welte6-0/+994
They cannot immediately be consumed by our (ancient, hacked) asn1c toolchain, so we have to massage them into the supported format in follow-up commits. Change-Id: I9fa05d14493889e0a23354938b04a335a117f242
2019-09-20asn1enum.pl: Make compatible with modern perlHarald Welte1-1/+1
This fixes the following error message: Experimental keys on scalar is now forbidden at ./asn1enum.pl line 25. Change-Id: I4680627acfd8f3ed73d32324fe0a54b554268f3b
2019-09-20hnbgw: Add libosmoctrl's VTY CTRL command initializationPau Espin Pedrol1-0/+1
Otherwise, the "ctrl" VTY node is not available and CTRL ip address cannot be set. Change-Id: I73f64b951690ec23f829c4855b2caeefa66ad35d
2019-09-16iu_client: introduce UE field free_on_releaseAlexander Couzens3-0/+12
Allow to free UE ctx when receiving a Iu Release Complete. In preparation of ranap_iu_tx_release_free() it requires a field to free the Iu ctx on it's own without depending on the upstream user. Change-Id: Iac41cd3cce3232d01b2f7ede0cc46226c2cfb6c0
2019-09-15iu_client: introduce ranap_iu_tx_release_free()Alexander Couzens3-0/+28
ranap_iu_tx_release_free is a fire and forget function to release gracefully if possible. It first sends a Iu Release Command. After a certain timeout the connection will be released. Change-Id: I349e2c61ba0131e233b7ab927dfced0bd461dd8f
2019-09-12iu_client: allow to control the notificationsAlexander Couzens3-0/+6
The iu_client is informing the library user about global event. In prepration to the tx_iu_release_free() call allow to disable upstream notificatiosn Change-Id: Ic93ef6fd54c995405e9c37a5e0c53f81a89850b7
2019-09-10iu_client: introduce a guard around global_iu_event_cbAlexander Couzens1-4/+14
As preparation to enable and disable notifications for a specific ue connection, add a slim proxy before calling global_iu_event_cb Change-Id: I49a3402a871d6dccd343cda49f8a7f82bffe150b
2019-09-03iu_client: emit RANAP_IU_EVENT_LINK_INVALIDATED on SCCP disconnect indicationAlexander Couzens1-0/+7
Change-Id: I168b5c67336c4d1cb9fcebb9c26a7cf2fc46e420
2019-09-03iu_client: introduce ranap_iu_free_ue() to free the UE connectionsAlexander Couzens2-0/+14
When freeing the UE connection object, disconnect the SCCP connection. Change-Id: I6812edb4da487507ccf9f483de801c1c65c4b72b
2019-09-03iu_client: sccp_sap_up: don't decode empty disconnect indicationsAlexander Couzens1-1/+3
Change-Id: I1fea8f19433d908583de71d8d2401bbb8c0c7900
2019-09-03iu_client: ensure UE is not NULL on CO primitivesAlexander Couzens1-0/+6
When ue_conn_ctx_find() can not find a UE it returns NULL. Change-Id: I63222fda6778417b1c986cb05772fecc51c43bb5
2019-09-03iu_client: sccp_sap_up: set rc earlyAlexander Couzens1-3/+1
Allows to skip assignment later. Change-Id: Idd803774612719df144bef569fb734289aa31282
2019-08-23hnbgw_vty.c: fix: properly pass pointer to g_hnb_gwVadim Yanitskiy1-1/+1
Otherwise the process hangs if the user enters: $ show hnb NAME hnbgw_vty.c: In function ‘show_one_hnb’: hnbgw_vty.c:234:2: warning: passing argument 1 of ‘hnb_context_by_identity_info’ from incompatible pointer type [enabled by default] iuh/hnbgw.h:154:21: note: expected ‘struct hnb_gw *’ but argument is of type ‘struct hnb_gw **’ Change-Id: I42fdb10af5f6427886b5797325830dfc212af30f
2019-08-07Bump version: → Espin Pedrol4-11/+40
Change-Id: I53c1743eda203bf075f93f891e336ca4ec6866a8
2019-08-05Remove undefined param passed to {logging,osmo_stats}_vty_add_cmdsPau Espin Pedrol1-1/+1
Since March 15th 2017, libosmocore API logging_vty_add_cmds() had its parameter removed (c65c5b4ea075ef6cef11fff9442ae0b15c1d6af7). However, definition in C file doesn't contain "(void)", which means number of parameters is undefined and thus compiler doesn't complain. Let's remove parameters from all callers before enforcing "(void)" on it. Change-Id: I31a286bebe3229671d9960ae32a753d260a26b1d Related: OS#4138
2019-07-30jenkins: Enable manual publishing and buildingDaniel Willmann1-2/+13
Related: OS#2589 Change-Id: Ic7437daeab0b07d16fd71ca3881cb31bab7b1925
2019-07-29Add VTY reference manualDaniel Willmann7-1/+1651
Fixes: OS#2589 Change-Id: I042734fa9979b598d5471839e408cbf39bba57b5
2019-07-17osmo-hnbgw.cfg: set local-ip to Smith1-1/+1
Make the config work out of the box for anyone. Related: OS#3369 Change-Id: I354140f014854f1755b649e40a65e5d88b99c0ec
2019-07-16spelling stuff found by lintianThorsten Alteholz1-1/+1
Change-Id: I8434640701746d5db8707472d1d26c313e0814e9
2019-07-10contrib/jenkins.sh: run "make maintainer-clean"Oliver Smith1-0/+1
Related: OS#3047 Change-Id: I6f9274efeb2fdda54feaa54eb299f7aafaaec1eb
2019-04-20ranap_msg_factory: Fix criticality of PDUsHarald Welte2-10/+10
Seveal of our RANAP messages were using criticality values at the PDU level differing from what RANAP_PDU_Descriptions.asn states for the respective procedures. Let's fix that. This was discovered while working on the initial IuCS TTCN3 tests, where the receive templates require the criticality to match. Change-Id: I98eec0bdc0d0cb1b9284bd5d042b1f4403abef95
2019-04-20iu_client: Implement transmission of ResetAcknowledgeHarald Welte1-3/+19
When receiving an Iu Reset, respond with Iu ResetAcknowledge. Closes: OS#3944 Change-Id: Ia09752983a7e2a952aa144635924edbffd894058
2019-03-19tests: use -no-install libtool flag to avoid ./lt-* scriptsOliver Smith1-0/+2
This ensures that the rpath of the generated binaries is set to use only the just-compiled so-files and not any system-wide installed libraries while avoiding the ugly shell script wrapper. Change-Id: I92c7391631becc09d277981179c23f2e4dba3b54
2019-03-08osmo-hnbgw: reply with RESET ACK when receiving a RESETNeels Hofmeyr1-10/+42
Rationale: current osmo-msc refactoring introduces RESET handling on IuCS. In particular, it makes osmo-hnbgw be able to operate with an (upcoming) osmo-msc that has strict RESET handling: it will send a RESET and require a RESET ACK if it sees a new IuCS peer sending messages without prior RESET. Even though a workaround to ignore missing RESET messages on IuCS will also be in place in the new osmo-msc, this is a first small step towards more sane RESET handling in osmo-hnbgw. Related: OS#3820 Change-Id: I02bc74ef9fef61f4490b4d4dc3ce6c0a6d965909
2019-03-08osmo-hnbgw: logging tweaksNeels Hofmeyr2-0/+7
Log about: - sending RESET messages to CN; - accepting a new hNodeB peer on HNBAP. Change-Id: I317831dbc6c463e4d4dcde9e6716431e026c4398
2019-03-04osmo-hnbgw: set a proper talloc ctx for loggingNeels Hofmeyr1-1/+1
Change-Id: I006103d8d7fb15e2612fff619879940d8405e045
2019-03-04osmo-hnbgw: fix cmdline: do not force-disable colored loggingNeels Hofmeyr1-1/+1
Un-jam the commandline option to disable color: it is so far stuck in --disable-color and overrides everything so that we never see any colored logging from osmo-hnbgw, whichever cmdline or cfg we pass. Change-Id: I00400b626925fa9da707ad6679d8448941dbfa98
2019-01-22ranap_msg_factory.h: fix enum def within function signatureNeels Hofmeyr1-0/+1
Include RANAP_KeyStatus.h so that we use the global enum RANAP_KeyStatus instead of defining another only within the ranap_new_msg_sec_mod_cmd() function declaration. Change-Id: Ifefaab32afa962dacdaa738a5419cce0a65a4b22
2019-01-20Bump version: → Welte2-1/+32
Change-Id: Ib2943b7fd0a1f7ca79f761116cba30aa3aa29b88
2018-12-06contrib: fix makedistcheck with disabled systemdOliver Smith1-1/+2
EXTRA_DIST files need to be distributed, no matter if the systemd option is configured or not. Change-Id: I8e1615793bc89fdc3b0549c150cc10d848e56645
2018-12-04Fix DISTCHECK_CONFIGURE_FLAGS overrideOliver Smith1-1/+1
Set AM_DISTCHECK_CONFIGURE_FLAGS in Makefile.am instead of DISTCHECK_CONFIGURE_FLAGS. This is the recommended way from the automake manual, as otherwise the flag can't be changed by the user anymore. Related: OS#3718 Change-Id: I3cfc4ccf799108ee2f411be443069c88a013df5b
2018-10-31add a VTY command which shows a specific HNBStefan Sperling3-1/+37
Add the 'show hnb NAME' VTY command which displays just one specific HNB, addressed by its identity string. This augments the functionality provided by 'show hnb all'. Change-Id: Iab12aa4ab090b72c472358b84daf6919b30747f6 Related: OS#2774
2018-10-21hnbgw_tx_hnb_register_rej(): Missing return statementHarald Welte1-0/+3
Change-Id: I0bdee8ede9ffdc16c16a4f5723acb7b4bceb2158 Fixes: Coverity CID#188869
2018-09-30fix transport layer addr again, for nano3gNeels Hofmeyr1-1/+1
The nano3G sends the RAB Assignment Response's Transport Layer Address in X.213 NSAP padded to 20 bytes (160bit). Do not interpret it as 4-byte IP address, which currently breaks nano3G voice calls (wrong RTP IP address). Recent commit I2cd1b2d8e1c1ae707cfc0dc7961a2b31ecdf29e0 fixed decoding of X.213 NSAP that is exactly seven bytes, but broke decoding of the padded version from the nano3G. A proper X.213 NSAP decoding would still be more welcome than this patching back and forth, but this is (another) quick fix without spending too much time on it. Related: OS#3420 Change-Id: I0ad8bce6fcfd3829394c39490058c1ab85cdfde3
2018-09-27hnbgw: vty: add SCCP related vty commandsNeels Hofmeyr1-0/+1
Depends: I214ea51fc6bfa2a9a4dd7c34b43add0c77ffe22e (libosmo-sccp) Change-Id: I2f81e078d7a26dd39f8ff9d0f9273ee1a3434232
2018-09-12Install sample cfg file to /etc/osmocompespin/systemdPau Espin Pedrol2-0/+5
Change-Id: I7476a1db470d3bc3a833e7657ad29f266df51667
2018-09-10Install systemd services with autotoolsPau Espin Pedrol7-2/+32
Change-Id: I90f1efc4433ec641a28931d5c19e2301a67cf1e9
2018-09-06debian: package osmo-hnbgw.servicePau Espin Pedrol1-0/+1
Change-Id: I7b488ddb07916952adab921415ca373aa7c5c1e8
2018-08-20fix decoding of incoming X.213 NSAP addrNeels Hofmeyr1-1/+1
Fix ranap_transp_layer_addr_decode() to test == 7 instead of > 7: If a femto cell sends its Transport Layer Address as X.213 NSAP IPv4, we receive 3 header bytes and four IP-address bytes, so the length is exactly 7. This function is very vague on numerous other decoding details, but this patch only fixes the vital length check that makes 3G usable with X.213 NSAP. Related: OS#3420 Change-Id: I2cd1b2d8e1c1ae707cfc0dc7961a2b31ecdf29e0
2018-08-06debian/rules: Don't overwrite .tarball-versionHarald Welte1-4/+0
The .tarball-version file should contain the *source version* uniquely identifying the git commit, and not the Debian package name. With https://gerrit.osmocom.org/#/c/osmo-ci/+/10343/ there is a correct .tarball-version file in the .tar.xz of the nightly source packages. Change-Id: I08fa724a9a70e024845f683fb3f5d245a0bd9aa3 Related: OS#3449
2018-07-24hnbgw: remove close_cb() to fix a crash when releasing a hnbgwAlexander Couzens3-19/+8
The read callback should catch all errors already. Previous when a read fails it: * hnb_context_release() -> osmo_stream_srv_destroy() -> hnb_context_release() On the second hnb_context_release() the hnbgw will crash because calling llist_del() twice on the same object. Fixes: OS#3416 Change-Id: Ic84b2184b7fc850c0de2acacf179e86771e17510
2018-05-30asn1tostruct: allow to override build dateBernhard M. Wiedemann1-2/+3
in order to make builds reproducible. See https://reproducible-builds.org/ for why this is good and https://reproducible-builds.org/specs/source-date-epoch/ for the definition of this variable. Also do not record build user name to not have it vary. Change-Id: I5cfa465cc82f009f28dd7f12ced0e72a05fda842
2018-05-03Bump version: → Espin Pedrol5-11/+85
Change-Id: Id5d2f749bca46e8b81cc2934447707e3db80ea18