commit 456964fc4153ec66a6f1d8db6b6d5653c76fc389
Author: Oliver Smith <osmith@sysmocom.de>
Date: 2018-12-06 13:43:26 +0100
contrib: fix makedistcheck with disabled systemd
EXTRA_DIST files need to be distributed, no matter if the systemd option
is configured or not.
Change-Id: I8e1615793bc89fdc3b0549c150cc10d848e56645
commit e9fd1ed4b513a079c6cf815757b21cc957b0c332
Author: Oliver Smith <osmith@sysmocom.de>
Date: 2018-12-04 14:24:37 +0100
Fix DISTCHECK_CONFIGURE_FLAGS override
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
commit 319c28581e33ea8ffb1302df2d75816497cfd0d7
Author: Stefan Sperling <ssperling@sysmocom.de>
Date: 2018-10-29 18:19:14 +0100
add a VTY command which shows a specific HNB
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
commit 9aad185151097c393acbb997e27c7b074cde012c
Author: Harald Welte <laforge@gnumonks.org>
Date: 2018-10-21 11:45:26 +0200
hnbgw_tx_hnb_register_rej(): Missing return statement
Change-Id: I0bdee8ede9ffdc16c16a4f5723acb7b4bceb2158
Fixes: Coverity CID#188869
commit a770f6967b1b1ca765251cbafc149d0451335202
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2018-09-30 23:35:33 +0200
fix transport layer addr again, for nano3g
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
commit b876b421e347c1d2346ef69455f8f87088881565
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2018-09-27 01:54:58 +0200
hnbgw: vty: add SCCP related vty commands
Depends: I214ea51fc6bfa2a9a4dd7c34b43add0c77ffe22e (libosmo-sccp)
Change-Id: I2f81e078d7a26dd39f8ff9d0f9273ee1a3434232
commit 37c1ffdadfda345fd910119fb9a4f2859db809ad
Author: Pau Espin Pedrol <pespin@sysmocom.de>
Date: 2018-09-12 18:07:50 +0200
Install sample cfg file to /etc/osmocom
Change-Id: I7476a1db470d3bc3a833e7657ad29f266df51667
commit a68b6828c818935ce9806960b7eefeafa21dac93
Author: Pau Espin Pedrol <pespin@sysmocom.de>
Date: 2018-09-10 12:09:47 +0200
Install systemd services with autotools
Change-Id: I90f1efc4433ec641a28931d5c19e2301a67cf1e9
commit b69c902fe027709e83e76607799a0dc724c0dee5
Author: Pau Espin Pedrol <pespin@sysmocom.de>
Date: 2018-09-06 14:15:50 +0200
debian: package osmo-hnbgw.service
Change-Id: I7b488ddb07916952adab921415ca373aa7c5c1e8
commit 236d1d486541c58131f6282b50158602a32992b7
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2018-08-20 17:28:33 +0200
fix decoding of incoming X.213 NSAP addr
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
commit 2d3fae7e3699ba339d83464ee4c67cbe76cd167d
Author: Harald Welte <laforge@gnumonks.org>
Date: 2018-08-06 11:15:53 +0200
debian/rules: Don't overwrite .tarball-version
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
commit ad4ea3b10e66bbd5cad27d16532b0c5fc239946a
Author: Alexander Couzens <lynxis@fe80.eu>
Date: 2018-07-24 19:04:47 +0200
hnbgw: remove close_cb() to fix a crash when releasing a hnbgw
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
commit 7a97fcafedead40b311eef65467480bd72fdd18b
Author: Bernhard M. Wiedemann <bwiedemann@suse.de>
Date: 2018-05-30 13:20:29 +0200
asn1tostruct: allow to override build date
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
commit ba941e553d60a06a45ad96f0ad4161383d4c0d30
Author: Pau Espin Pedrol <pespin@sysmocom.de>
Date: 2018-05-03 18:29:14 +0200
Bump version: 0.2.0.57-cf5f-dirty → 0.3.0
Change-Id: Id5d2f749bca46e8b81cc2934447707e3db80ea18
commit 2b88cc40ebb369a29c3f7b8d65d5d60ea958c9d8
Author: Pau Espin Pedrol <pespin@sysmocom.de>
Date: 2018-05-03 18:28:10 +0200
debian/changelog: set prev releases to unstable
Otherwise it fools osmo-release.mk
Change-Id: I6c05bb7f5bb2b3e78283a5eae6ccf95ce86838f8
commit cf5fbea78f2f7316e7cbe91f32cb79b4a02abd75
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2018-03-21 15:50:41 +0100
cosmetic: use osmo_plmn_id instead of mcc,mnc
It's cosmetic since the MCC and MNC in the PLMN aren't actually used,
currently. It makes sense to do it properly anyway, while I'm still in the
3-digit MNC topic, for the future.
Change-Id: I29ebcddd45fe3079f8883589a83cc7216a535475
commit 666121a9d971bc2c94b4418db22f767eace28271
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2018-03-05 20:43:10 +0100
configure: add --enable-werror
Provide a sane means of adding the -Werror compiler flag.
Currently, some of our jenkins.sh add -Werror by passing 'CFLAGS="-Werror"',
but that actually *overwrites* all the other CFLAGS we might want to have set.
Maintain these exceptions from -Werror:
a) deprecation (allow upstream to mark deprecation without breaking builds);
b) "#warning" pragmas (allow to remind ourselves of errors without breaking
builds)
As a last configure step before generating the output files, print the complete
CFLAGS and CPPFLAGS by means of AC_MSG_RESULT.
Change-Id: Id659512d2d9fb3f28584ec5f071907f6b6e72e0d
commit 3050864b7360cc7a168a850f7a1d839a805c54a9
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2018-02-22 04:04:22 +0100
hnb-test: log accurate three-digit MNC with leading zeros
Depends: Id2240f7f518494c9df6c8bda52c0d5092f90f221 (libosmocore)
Change-Id: Ie3dd206bca2f38a0ef7ee7f9d3b6bf2eacc899a4
commit c964a2cfa1b08e5bbda5d721a7a0095d26b53791
Author: Stefan Sperling <ssperling@sysmocom.de>
Date: 2018-02-19 17:02:12 +0100
ensure unique CellIDs in HNB-GW
If we receive a HNB-REGISTER-REQ with a cell ID which is already used
by another registered NNB, log an error and send HNB-REGISTER-REJECT.
Tested manually by running two 'hnb-test' programs concurrently (they
need to listen on different telnet ports; this port is hard-coded so
I compiled two different hnb-test binaries).
Then I issued the 'hnbap hnb register' command on the telnet interface
of each, and verified that the correct action is logged by osmo-hnbgw.
Both hnb-test programs can connect, but only one of them can register
at a time. Killing a registered 'hnb-test' program terminates its
connection and allows the previously rejected one to register.
The new rejection log message looks like this:
hnbgw_hnbap.c:429 rejecting HNB-REGISTER-REQ with duplicate cell
identity MCC=901,MNC=99,LAC=49406,RAC=66,SAC=43947,CID=182250155
from (r=127.0.0.1:42828<->l=127.0.0.1:29169)
This change depends on a new API in libosmo-netif, which is added in
https://gerrit.osmocom.org/#/c/6844/
Change-Id: Iffd441eb2b6b75dfbe001b49b01bea015ca6e11c
Depends: I8ed78fe39c463e9018756700d13ee5ebe003b57f
Related: OS#2789
commit e1c01a02624b12a5c6396d47902482fa97217b23
Author: Pau Espin Pedrol <pespin@sysmocom.de>
Date: 2018-02-20 20:22:24 +0100
contrib: jenkins.sh: Disable doxygen in libosmocore build
Change-Id: I12d995c0c993483ed940fc173904d6e686fbe0ab
commit aec91ab3477529e386fc548a2fcb55ff405bd949
Author: Pau Espin Pedrol <pespin@sysmocom.de>
Date: 2018-01-22 19:03:37 +0100
configure.ac: Enable -Wall flag
Change-Id: Ib05f7862081708d578d8f0302d926aab42897dc2
commit 2293df070c8bcdbc1445ddd6ff09b58708136575
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2018-01-18 19:01:09 +0100
hnbap: log errors on decoding/encoding HNB-REGISTER msgs
Change-Id: I3c039267fa2cc047c5678bcfe4a603f70c21cdd1
commit 8a2b6e2b6f35c8a4a8f43afd3e8ce1a02d49a61a
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2018-01-15 23:34:37 +0100
cosmetic: hnbgw: hnbap: log rx of unsuccessful outcome
HNBAP isn't really that important to osmo-hnbgw operation, all we do is service
the few requests so that the other side is happy and uses our Iuh.
Nevertheless, could at least log if an UnsuccessfulOutcome was received.
Change-Id: I3f309dc2d3436798e9e76bcc2ebd82403ea538a1
commit 02296af07d52dcde82d4404f2bdb53f1bb618e0b
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2018-01-15 23:30:06 +0100
hnbgw_hnbap: fix missing return in rx [un]successful outcome
Fixes: CID#57732 CID#57733
Change-Id: Iddf76d23c2c7d5824e82708f7da013c88411e832
commit e3644ac4765eb8304d7cebeadc4c5c133980867e
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2018-01-15 23:25:42 +0100
hnbgw_cn: rx ranap: set rc in all cases
There don't seem to be any evaluations of the rc, nevertheless return
well-defined values.
Fixes: CID#181968
Change-Id: I59295388564e5d270da32db6e7488755231f8a11
commit 6814d22d5fbed4091bab43b5bb387d9ad267c048
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2018-01-15 23:19:43 +0100
hnbgw_rua: fix dereference of unset pointer
In the UNITDATA case, there is no map, so a) initialize map as NULL and b)
print the RUA ctx id directly from local var context_id instead.
Fixes: CID#181969
Change-Id: I73f508b719b61a389e10cbad1bafad1650634abe
commit 70d3ece487ac0e18a66fd6e03e75bc9c35bbcb5f
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2018-01-15 23:19:04 +0100
hnbgw_rua.c: log: fix integer format for cN_DomainIndicator
Fixes: CID#135219
Change-Id: I32c11100c87a59f34d7c1fefd2f0037e5d63f0e0
commit e9b4c390b49aa93150a45883d97ccfc774b8e1fa
Author: Pau Espin Pedrol <pespin@sysmocom.de>
Date: 2018-01-08 11:07:26 +0100
iu_client.c: Remove unusued variable
Change-Id: If841d403010a73722ff69617a51719421febab56
commit 9d60ce6107fe5e873511dadc2a40b4cda23a53a9
Author: Max <msuraev@sysmocom.de>
Date: 2017-12-28 12:32:23 +0100
Enable sanitize for CI tests
Change-Id: I90ca756691e4f644d93af519ed5d54d794d1d401
commit bfeea6713b4e17fcd5cfb0a5b4c042eaf526ae22
Author: Max <msuraev@sysmocom.de>
Date: 2017-12-27 22:53:36 +0100
Expand ctrl interface
Add commands to get number of connected HNBs and identity string of
connected HNB based on Cell ID.
Change-Id: I3a2d6fa3d6d0829ccee4ecc0998d9299c97820e9
commit ef727410b28f1482a2a174cfbe943e6e98205bdb
Author: Max <msuraev@sysmocom.de>
Date: 2017-12-26 19:27:43 +0100
Add control interface
* add libosmoctrl dependency
* bind control interface
Change-Id: I4637e88da00bac1ab0237c29ac73806d024863ba
commit 1e57ba503ed734b36094288ad2dbedbd11f39c57
Author: Max <msuraev@sysmocom.de>
Date: 2017-12-28 12:27:41 +0100
Use proper package version
Use actual application version instead of hardcoded "0".
Change-Id: I8711b9d819454d810291d57b97119d9fe4a47f8e
commit f8b73b15c06055719e712b5a70d130cfd42bea4b
Author: Harald Welte <laforge@gnumonks.org>
Date: 2017-12-26 21:39:53 +0100
hnbgw_vty.c: Fix "-Werror=format-security" failure in vty_out()
We have to use a format string, we cannot directly print "name".
Fixes a build error on our OBS builds:
hnbgw_vty.c:156:5: error: format not a string literal and no format arguments [-Werror=format-security]
which was introduced in Change-Id I3c937306a011715e163a40bc8ef8ec7e8d4e5d08
about one week ago.
Change-Id: I042989c2b7b379284b2ee5fea3bd8f8ce406b09e
commit 8e88d37ceca1dcbb91c59a26d6467df8524283f5
Author: Harald Welte <laforge@gnumonks.org>
Date: 2017-12-26 21:38:49 +0100
hnbgw_vty.c: cosmetic: Fix non-tab-indented code
This was introduced a week ago in Change-Id
I3c937306a011715e163a40bc8ef8ec7e8d4e5d08 and is now cleaned up.
Change-Id: Iaadf941aa7f1c5ae05eb02b51cc646b7b5587ba3
commit 3bd8a556612e5990e7997044d20ade06373a7da6
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-12-25 15:24:33 +0100
vty typo: 'show hnb': SCTP stream, not SCCP stream
Change-Id: Iceb29af9f4ef6b4b4ed9778bdd683d30c201371d
commit 23f3fdc6b25d8c5fc5a8f7f23eb69d2ac3d712b3
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-12-25 00:00:04 +0100
comments: hnbgw_rua.c: remove obsolete fixmes for asn1 free
The comments are all right above the line that does the proper asn1 free step.
Change-Id: I60e3be8c56ecc75c22e76f9e9dce8c72753e153b
commit 4e2681df26399e2ff6260f3eaaeca23c3e25bfa6
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-12-24 23:54:07 +0100
osmo-hnbgw: startup: log the RNC-Id that is going to be used
Change-Id: I8aeb93fe8037e5fdc0784f5fc3bdb527de3b76bd
commit da58d26cbcfb1b523830b359a17beb8660311bd7
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-12-25 00:01:37 +0100
osmo-hnbgw config: add 'rnc-id' config item
So far, the RNC-Id is hard-coded as 23. Still use 23 as default, but allow
configuring by config file. Hence make it possible to run multiple osmo-hnbgw
with differing RNC-Id each.
Change-Id: I374f558cc4bb36055f39efe9c58ae1b9bd49da46
commit e045da02613850aa1beff73516644834fcbc26f8
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-12-24 20:34:38 +0100
cosmetic: context_map_tmr_cb(): fix comment
Change-Id: I4dd07a4d09d3cd4dc2a08e42ee48344967e5e3a6
commit 1e9f4f5432fff3ff96d23b16252dd865b9e7aa62
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-12-24 23:57:58 +0100
rua_to_scu(): don't create a context map for UNITDATA
UNITDATA is connection-less, and as can be observed further below, the 'map'
doesn't get used in the N_UNIDATA case.
Related: OS#2776
Change-Id: Ic35562e6d7bfa54b6be859860657f9a235ad5a50
commit b10e2937d94d30a9c33bb70ea291c856868490be
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-12-24 21:49:44 +0100
rua: discard context maps on id-Disconnect
When an id-Disconnect is received, the RUA to SCCP user context becomes unused.
Mark the context map as inactive in that case. It will be cleaned up by the
context map garbage collector.
Related: OS#2776
Change-Id: I9616f72bfa566de081098ee13e720ff0f5266c77
commit aa3e9ebcb409e97ab3e61f17df7c154b8455d568
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-12-24 21:47:59 +0100
segfault: context_map gc: use llist_for_each_entry_safe()
The context map garbage collector removes entries from the list, hence it must
use llist_for_each_entry_safe().
We haven't hit this before since nothing is yet flagging context maps to be
discarded.
Related: OS#2776
Change-Id: I9d5899923054d1bf862d542fec862fb1e6f07dce
commit f33d16404d6cd78bfe33d445d1786f731a036440
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-12-21 05:23:44 +0100
compiler warning: asn1tostruct.py: return 0 at end of *_free_*()
Part of the resulting diff in the generated code:
--- /tmp/hnbap_decoder.c 2017-12-24 17:06:50.983979866 +0100
+++ /tmp/hnbap_decoder.c 2017-12-24 17:07:10.760223354 +0100
@@ -1179,6 +1179,7 @@
TNLUpdateResponseIEs_t *tnlUpdateResponseIEs) {
ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_Context_ID, &tnlUpdateResponseIEs->context_ID);
+ return 0;
}
int hnbap_free_tnlupdaterequesties(
@@ -1187,6 +1188,7 @@
ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_Context_ID, &tnlUpdateRequestIEs->context_ID);
ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_RABList, &tnlUpdateRequestIEs->rabList);
ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_Update_cause, &tnlUpdateRequestIEs->update_cause);
+ return 0;
}
int hnbap_free_errorindicationies(
@@ -1197,12 +1199,14 @@
if ((errorIndicationIEs->presenceMask & ERRORINDICATIONIES_CRITICALITYDIAGNOSTICS_PRESENT)
== ERRORINDICATIONIES_CRITICALITYDIAGNOSTICS_PRESENT)
ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_CriticalityDiagnostics, &errorIndicationIEs->criticalityDiagnostics);
+ return 0;
}
int hnbap_free_hnbconfigtransferrequesties(
HNBConfigTransferRequestIEs_t *hnbConfigTransferRequestIEs) {
ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_NeighbourInfoRequestList, &hnbConfigTransferRequestIEs->neighbourInfoRequestList);
+ return 0;
}
int hnbap_free_tnlupdatefailureies(
[etc.]
Related: OS#2670
Change-Id: Ieba12c09c33a81da964bf88a858714d922ced8c0
commit 9e17e054e4bc48cf608c6fec1d7729a9ce74b872
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-12-25 00:35:05 +0100
osmo-hnbgw: vty: revamp output of context maps on 'show hnb'
Instead of listing each and every context map, rather output a summary of
context counts.
Rationale: in a list of a hundred HNBs, I don't want to also see a dozen (or
potentially thousands of) context map lines for each. Furthermore, the conn IDs
aren't necessarily useful on network traces either.
For example, what was shown as SUA Id is incidentally the SCCP Reference, but
this is not a hard requirement and may change. Also, the reference is shown in
wireshark as a hex in mismatching byte order ... so rather don't bother.
The result now looks like
OsmoHNBGW> show hnb all
HNB (r=192.168.0.124:29169<->l=192.168.0.9:29169) "000295-0000152614@ap.ipaccess.com"
MCC 901 MNC 70 LAC 14357 RAC 11 SAC 1 CID 8595638 SCCP-stream:HNBAP=0,RUA=0
IuCS: 1 contexts: inactive-reserved:1
IuPS: 1 contexts: active:1
1 HNB connected
Related: OS#2772 OS#2773
Change-Id: Iae76b68e85863c8663bb5c508b85534c00e1d2c9
commit 140f38c55ec208f9ed4c8b81e228bf0091cb1731
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-12-20 23:48:02 +0100
vty: tweak / improve HNB and cnlink introspection
Add 'show cnlink' (uses new osmo_sccp_user_name(), see 'Depends' below).
Tweak 'show hnb all'.
The result looks something like:
OsmoHNBGW> show cnlink
IuCS: OsmoHNBGW:RI=SSN_PC,PC=0.23.5,SSN=RANAP <-> RI=SSN_PC,PC=0.23.1,SSN=RANAP
SS7 route: pc=0=0.0.0 mask=0x0=0.0.0 via AS as-clnt-OsmoHNBGW proto=m3ua ASP asp-clnt-OsmoHNBGW (r=127.0.0.1:2905<->l=127.0.0.1:37699)
IuPS: OsmoHNBGW:RI=SSN_PC,PC=0.23.5,SSN=RANAP <-> RI=SSN_PC,PC=0.23.4,SSN=RANAP
SS7 route: pc=0=0.0.0 mask=0x0=0.0.0 via AS as-clnt-OsmoHNBGW proto=m3ua ASP asp-clnt-OsmoHNBGW (r=127.0.0.1:2905<->l=127.0.0.1:37699)
OsmoHNBGW> show hnb all
No HNB connected
OsmoHNBGW> show hnb all
HNB (r=192.168.0.124:29169<->l=192.168.0.9:29169) "000295-0000152614@ap.ipaccess.com"
MCC 901 MNC 70 LAC 14357 RAC 11 SAC 1 CID 8595638 SCCP-stream:HNBAP=0,RUA=0
IuCS 24->1002 (RUA->SUA) state=1
IuPS 24->1003 (RUA->SUA) state=1
HNB (r=192.168.0.15:29169<->l=192.168.0.9:29169) "000295-0000154153@ap.ipaccess.com"
MCC 901 MNC 70 LAC 24358 RAC 22 SAC 65535 CID 1048575 SCCP-stream:HNBAP=0,RUA=0
IuCS 23->1000 (RUA->SUA) state=1
IuPS 23->1001 (RUA->SUA) state=1
2 HNB connected
Related: OS#2772 OS#2773
Depends: Ib7abf69cfcf4c56273223054b280458451e6c2f6 (libosmo-sccp)
Ia0d15a2814b08bc3f052a1ed12dbb68bade55309 (libosmo-sccp)
Change-Id: I3c937306a011715e163a40bc8ef8ec7e8d4e5d08
commit 6eeef115a9096b954dd6d873978abbb28055d301
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-12-20 23:14:45 +0100
hnbap,rua,ranap decode: fix segfault on decode error
Looking at hnbap_decode_hnbregisterrequesties(), I noticed a segfault if
decoding the HNB Register Request PDU fails, which is due to an unchecked
return value in code generated by asn1tostruct.py.
Add return value and NULL pointer checks and hence fix null dereference on
erratic PDUs across HNBAP, RUA and RANAP protocols. Similar checks exist in
other places, this one was simply missing.
Since the result of asn1tostruct.py is not committed, here is an example diff
of the resulting change, of which there are 128 instances in total:
@@ -304,7 +329,12 @@
memset(hnbRegisterRequestIEs, 0, sizeof(HNBRegisterRequestIEs_t));
HNBAP_DEBUG("Decoding message HNBRegisterRequestIEs (%s:%d)\n", __FILE__, __LINE__);
- ANY_to_type_aper(any_p, &asn_DEF_HNBRegisterRequest, (void**)&hNBRegisterRequest_p);
+ tempDecoded = ANY_to_type_aper(any_p, &asn_DEF_HNBRegisterRequest, (void**)&hNBRegisterRequest_p);
+
+ if (tempDecoded < 0 || hNBRegisterRequest_p == NULL) {
+ HNBAP_DEBUG("Decoding of message HNBRegisterRequestIEs failed\n");
+ return -1;
+ }
for (i = 0; i < hNBRegisterRequest_p->hnbRegisterRequest_ies.list.count; i++) {
IE_t *ie_p;
Change-Id: I6cb9cc9a88d22f03befa43f0968a874476fa079d
commit 66d6d760aab222c91bec5134c228ffc13f463235
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-12-20 05:25:02 +0100
hnbgw: hnb info: record MCC, MNC, show on 'show hnb'
Before, MCC and MNC were always reported as zero, now the output of 'show hnb all' looks like:
OsmoHNBGW> show hnb all
HNB "000295-0000154153@ap.ipaccess.com" MCC 901 MNC 70 LAC 11111 RAC 99 SAC 65535 CID 1048575
HNBAP ID 0 RUA ID 0
Change-Id: Iae094b36fa1cf18e07ed33914b9425368d7cd34b
commit aa8d48cbe000f1adbed63775254fbc7ab470335b
Author: Philipp Maier <pmaier@sysmocom.de>
Date: 2017-12-19 17:48:38 +0100
ranap_msg_factory: remove unusued variable
remove variable i in ranap_new_msg_sec_mod_compl() as it is not
used (compiler warning)
Change-Id: I93d9e95109fb78bc6cc161745b9e14de8b623d4f
commit 1eb19cf690b473307eda73ce0c2dbcb75019c166
Author: Philipp Maier <pmaier@sysmocom.de>
Date: 2017-12-19 17:46:36 +0100
ranap_msg_factory: check IE encoder return codes
in many functions, the returncode (rc) from the IE encoder functions
is not checked.
Add a return code check and log error message (like it is already
done in the functions which already check the return code)
Change-Id: I592c0794a94c50fde5c574b1e9bc581eb28af4ae
commit ee03876dd171375d827cbec6d3c24d8ad9128671
Author: Philipp Maier <pmaier@sysmocom.de>
Date: 2017-12-19 17:42:36 +0100
iu: iu_helpers: add functions to decode ip/port from rab-ass
add ranap_transp_assoc_decode() to decode the port information from
an RANAP_IuTransportAssociation_t field.
add ranap_transp_layer_addr_decode() to decode the ip-address from
an RANAP_TransportLayerAddress_t field.
Change-Id: I3c1a0455c5f25cae41ee19229d6daf299e023062
commit ade7e8b19bf423e9090dca67c906bc4bf8242df2
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-12-20 02:33:44 +0100
hnbgw: use proper talloc ctx for vty telnet init
Change-Id: I355c6e5489f24566612528cd679c5cab21eed008
commit f898d6bc106d7e9522888300484a0bc732999628
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-12-19 03:12:08 +0100
fix 3 compiler warnings in ranap_common.c
ranap_common.c:282 col 45: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 4 has type ‘RANAP_CauseNon_Standard_t {aka const long int}’ [-Wformat=]
ranap_common.c:527 col 15: warning: implicit declaration of function ‘asn1str_to_u16’; did you mean ‘asn_strtol’? [-Wimplicit-function-declaration]
ranap_common.c:546 col 11: warning: unused variable ‘addr’ [-Wunused-variable]
Change-Id: I0b399e78fa7b202a36e5e4be86f338c0ceb9823e
commit 2c56f6d4540cd5288ab24ef35f95764bb73d2c79
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-12-20 02:31:49 +0100
hnbgw: use proper VTY port number defined in libosmocore (4261)
We used to have hardcoded 2323 from early development, use the proper
libosmocore definition instead.
Depends: Ife52a968a41cb286f640006587877971ff66c1a4 (libosmocore)
Change-Id: Id67d89695ebdc6288f507338c15ad773b8adf6e4
commit 69888c86edfbdf83ee0092bed9bdcf44f3ba433d
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-12-15 02:54:45 +0100
iu client: store multiple LAC,RAC per RNC = fix paging for multiple RNC
Introduce a list of LAC+RAC entries for each RNC, hence allow serving more than
one LAC per OsmoHNBGW.
iu_client is used by OsmoMSC and OsmoSGSN, both will be able to page
successfully in a setup with multiple LACs (read: multiple hNodeB) connected to
an OsmoHNBGW.
Ensure that each LAC,RAC is registered with at most one RNC Id. If a LAC,RAC
shows up on a different RNC Id than before, move it over to the new RNC Id.
Future patches should probably add:
* timeouts of RNC Id / LAC,RAC validity, to remove unused entries.
* VTY/CTRL commands to introspect which RNCs and LAC,RACs are listed.
* VTY/CTRL commands to remove RNC Id / LAC,RAC entries.
Change-Id: I189f8e2663353276b1c615d2f78455dafe568045
commit accb78000b6161d5f76eae24e625c01533001b89
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-12-04 15:24:32 +0100
osmo-hnbgw: don't configure specific local IP address for STP connection
It's not necessary to set a local IP to connect to OsmoSTP with, 'any' is as
good as any.
Related: OS#2663
Change-Id: If5d0a1500de5e2c4b80acf025761d0264a8a51a0
commit b593969dd790722935949191ef06226141b9d9fa
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-11-23 00:40:04 +0100
cosmetic: osmo-hnbgw: log remote SCCP addresses on startup
Change-Id: I6395dcde35359617cae52ff59d4eb53930097c7d
commit 2af648f443257284d994ea6d79d9554ed866dfa6
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-11-23 00:39:53 +0100
osmo-hnbgw: auto-config local and remote PCs if omitted
The current default point-code for OsmoMSC is 0.23.1 and for OsmoSGSN 0.23.4.
See https://osmocom.org/projects/cellular-infrastructure/wiki/Point_Codes.
Before this patch, osmo-hnbgw requires a cs7 config and explicit point-codes
for MSC and SGSN as well as a local one. Provide default config if none is
provided:
Use above default point-codes if no MSC and/or SGSN address are provided. Also
create a default cs7 instance with local PC 0.23.5.
This allows completely omitting cs7 instance and SCCP addresses from
osmo-hnbgw.cfg in a single-box setup.
Change-Id: I056547f26858d3ad52e66a15f7a4273dcc300e97
commit c6ed1c3ae8a34688a31cfa43e033e2e6ac73bf13
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-11-20 22:41:21 +0100
test_common: fix compiler warning: include ranap_common.h
test_common.c:85:2: warning: implicit declaration of function ‘ranap_set_log_area’
Change-Id: Ice192e1f7f1bdafe0941160f43e573349aaceb75
commit 54df0a1095f13b97638d39c81b5e165c44f3d949
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-11-18 21:00:41 +0100
ranap_msg_factory: sanitize: memcpy instead of unaligned int copy
The sanitize build complains about writing to a uint32_t that is not 4-byte
aligned. Instead, write the uint32_t by memcpy.
For that, move the common ntohl() to the top and store in a local uint32_t,
memcpy() from that in both code paths.
Change-Id: Iacdd15421f824dd009448a96355b533dff28258b
commit d9cb19a8fbb3b6f7b29617fa78fd8bf7492a6667
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-11-18 18:47:55 +0100
tests: sanitize: fix mem leaks, clean after tests
Fix various mem leaks in the testing code.
Add test_common_cleanup() in test_common.c, to free talloc contexts; call in
test-{helpers,hnbap,ranap}.c. Upon talloc ctx cleanup, ensure that they are
actually empty, in order to catch newly introduced mem leaks.
If non-empty, print talloc context reports.
Change-Id: Ic66c005f2a264774e18bb54e58b87bef5944511c
commit da86fe5ae31e2a6da6c5f6a2af853c3b8ec603c5
Author: Harald Welte <laforge@gnumonks.org>
Date: 2017-11-21 08:14:37 +0100
Fix various compiler warnings in hnb-gw code
Since we finally started to use -Wall, the related warnings became
visible.
Change-Id: I516700eab2aa7c3412dd62775c4960aed9d4b682
commit ffc20938580adbdc3f280b8b6b5ae01a48f5f664
Author: Harald Welte <laforge@gnumonks.org>
Date: 2017-11-21 08:09:40 +0100
sccp_sap_up(): Fix never-hit "default" case in switch
As the default was called "defualt", it became a standard C label
and was never actually performing any default catch-all behavior.
As we didn't use -Wall, gcc never warned us about it so far :/
Change-Id: I9dbad21e75a55ad91b12d3d3ee8bd6dfb5326c3e
commit ee69470da659be8135a8130358709ec3efd073ec
Author: Harald Welte <laforge@gnumonks.org>
Date: 2017-11-21 08:06:59 +0100
hnbgw.c: Remove dead code creating libsctp linker dependency
Since I8ac15fa2fd25bedb26297177e416976a5389b573 in July 2017 we are
not using sctp_*() functions directly anymore but go via
libosmo-sigtran. However, some dead code remained in hnbgw.c, which
means that linkage will fail if compiled without any optimization,
i.e. without -O present.
Change-Id: Ifbcb21d43e17bf512bc7b219e590410e06c434ca
commit 47bba70cec23a8f5d57a33d87419a4b1adf16cbe
Author: Harald Welte <laforge@gnumonks.org>
Date: 2017-11-21 07:56:17 +0100
Add "-Wall" to the compile rules of the non-asn1c-generated source code
This is actually default in all other osmocom projects, and it's a
big surprise that it hadn't been enabled for osmo-iuh. Now we finally
can see that there are e.g. unused static functions in the code.
Change-Id: I8d52b11e3f476ffd77f3ab185b679817cd3b2163
commit e90f13e82dbba37865098d1ebdeee0e35ad3326f
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-11-20 17:18:03 +0100
api doc: clarify byte order in ranap_new_msg_rab_assign_*
Change-Id: Ib0d2cc538488a995be5278092d3ac105be8aad33
commit 8e1c07308c10abd6aab7c8fb32efd6eed6875f7c
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-11-20 16:57:29 +0100
osmo-hnbgw: drop erratic log line on remote STP address
The stp_host is just the *default* that may be overridden by the VTY
configuration. Don't log it as the one that is going to be used.
It's not trivial to print the actual IP address being used, there may be any
number of ASP, theoretically. Hence leave logging up to
osmo_sccp_simple_client_on_ss7_id(), after another hypothetical patch.
Change-Id: Ia438143606913faccc8cdf4fd5f7d376f93e7891
commit 4325a2ac4bb723ad71f3e22dcb7acee5a23b408b
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-11-16 11:02:48 +0100
add --enable-sanitize config option
Change-Id: Id9bb6cc982cd30b86f772207184398af6b899f66
commit dfc75df19991954273c8b5e2eebe38f3d2503f00
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-11-16 09:47:08 +0100
src/Makefile.am: drop unused COMMON_LDADD
unused since change-id Ic6a645a93406670d58eb5edf5f2f2e1266168c92
"osmo-hnbgw: Avoid useless linking to libosmogsm and libsctp"
Change-Id: I4241a1d84b54a77a6a6dad809f8ec921f45ba4bc
commit b0c650e7b03261b2d5ba5441eae528af0b7bba2f
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-11-01 00:50:30 +0100
vty: skip installing cmds now always installed by default
vty_install_default() and install_default() will soon be deprecated.
Depends: I5021c64a787b63314e0f2f1cba0b8fc7bff4f09b
Change-Id: I61b79f633d36814b53e40f1a92b5847c9ff4fde0
commit 493366ec7bf6cc8b32692c5fcf3a7d79e8f3b91b
Author: Harald Welte <laforge@gnumonks.org>
Date: 2017-10-28 13:55:29 +0200
Link libosmo-ranap against libosmovty
This fixes the following dh-shlibdeps warnings:
Change-Id: I08be684c45c7e95315dba6ccf9892fe6fc7c3f24
dpkg-shlibdeps: warning: symbol install_element used by debian/libosmo-ranap1/usr/lib/x86_64-linux-gnu/libosmo-ranap.so.1.0.0 found in none of the libraries
dpkg-shlibdeps: warning: symbol vty_out used by debian/libosmo-ranap1/usr/lib/x86_64-linux-gnu/libosmo-ranap.so.1.0.0 found in none of the libraries
commit 7235ea02d78299471d58f4202d8c8d685b1d5772
Author: Harald Welte <laforge@gnumonks.org>
Date: 2017-10-28 13:49:19 +0200
osmo-hnbgw: Avoid useless linking to libosmogsm and libsctp
This fixes the following dpkg-shlibeps warnings:
Change-Id: Ic6a645a93406670d58eb5edf5f2f2e1266168c92
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/osmo-hnbgw/usr/bin/osmo-hnbgw was not linked against libosmogsm.so.8 (it uses none of the library's symbols)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/osmo-hnbgw/usr/bin/osmo-hnbgw was not linked against libsctp.so.1 (it uses none of the library's symbols)
commit 8a257b6c5a3680f436779e8b1371c62924c927ee
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-10-27 22:54:35 +0200
jenkins: use osmo-clean-workspace.sh before and after build
See osmo-ci change I2409b2928b4d7ebbd6c005097d4ad7337307dd93 for rationale.
Depends: I2409b2928b4d7ebbd6c005097d4ad7337307dd93
Change-Id: I7261e006163eda4bee8a4695fbd5bd29307babe6
commit cc1afdfb7e20b4b3a87b3c64382181b09b74e1c3
Author: Harald Welte <laforge@gnumonks.org>
Date: 2017-10-27 22:20:16 +0200
Tag/Release 0.2.0 + Update LIBVERSION + Debian packaging
Change-Id: I4fe653fdde6acda59485c73cee63bfc5326edf28
commit 257771ca6547c78981b00d1cdabbee0e59f66c16
Author: Harald Welte <laforge@gnumonks.org>
Date: 2017-10-27 22:26:39 +0200
debian: depend on libosmo-sigtran-dev, not libosmo-sccp-dev
We recently fixed package naming / sub-packagign in the libosmo-sccp
git repository, so now we need to depend on the proper package name.
Change-Id: I6e4f8fa96e5f39f988d6993ba3931cb7df70e905
commit 961674aa096758784bd57b8ab6d2118ebdee3587
Author: Harald Welte <laforge@gnumonks.org>
Date: 2017-10-27 22:01:29 +0200
update dependencies to latest libosmo-* releases
Now that we have tagged releases that include the support needed
in osmo-iuh, let's require them.
Change-Id: I579ba94e8f0f700b598a2346c5020cce3b159f27
commit 51640389935ddd785219acb4e3090309074d7705
Author: Alexander Couzens <lynxis@fe80.eu>
Date: 2017-10-11 07:11:34 +0200
debian/rules: show testsuite.log when tests are failing
Change-Id: Ice1c9f51225cef335626d5689ffb306395d7e2b6
commit a3f4e79a9db1f04efd73f5d088e5b7423ac69630
Author: Harald Welte <laforge@gnumonks.org>
Date: 2017-10-04 11:44:43 +0800
Makefile.am: Link libosmo-ranap against libosmo-sigtran
In Change-Id I6a3f7ad15be03fb94689b4af6ccfa828c25f45c0 we introduced
the somewhat arguable combination of Iu code in libosmo-ranap. This Iu
code uses functions provided by libosmo-sigtran.
However, at the time it was overlooked to explicitly link libosmo-ranap
against libosmo-sigtran, which caused linking failures of programs
using libosmo-ranap, such as the unit tests included in this package.
Below example is from building using contrib/jenkins.sh on Ubuntu 17.04:
CCLD test-ranap
../../src/.libs/libosmo-ranap.so: undefined reference to `osmo_sccp_local_addr_by_instance'
../../src/.libs/libosmo-ranap.so: undefined reference to `osmo_sccp_tx_unitdata_msg'
../../src/.libs/libosmo-ranap.so: undefined reference to `vty_out'
../../src/.libs/libosmo-ranap.so: undefined reference to `install_element'
../../src/.libs/libosmo-ranap.so: undefined reference to `osmo_sccp_user_bind'
../../src/.libs/libosmo-ranap.so: undefined reference to `osmo_sccp_user_sap_down'
../../src/.libs/libosmo-ranap.so: undefined reference to `osmo_scu_prim_name'
../../src/.libs/libosmo-ranap.so: undefined reference to `osmo_sccp_addr_dump'
collect2: error: ld returned 1 exit status
Makefile:418: recipe for target 'test-ranap' failed
Change-Id: Ibfbcafd31c91dc630d406ec39b3b076bdb1f4c19
commit 5a3df8fa9ffc4400367250a0f9ff0e20dc4b5d3b
Author: Max <msuraev@sysmocom.de>
Date: 2017-08-28 12:00:58 +0200
Use release helper from libosmocore
See
https://osmocom.org/projects/cellular-infrastructure/wiki/Make_a_new_release
for details.
Change-Id: I3ccc8202b650268cc9d1721719ba2f205c351a67
Related: OS#1861
commit 3ce7584281e024ebb1d25cf0243a26ca41af8f65
Author: Max <msuraev@sysmocom.de>
Date: 2017-08-25 17:53:00 +0200
Use value string check from osmo-ci
Change-Id: I9fc4a0ce4ca29f8b76e189d040097f3e63298ba5
commit e03d8a0c979e1e442110a391491ae3c9bcc495ea
Author: Alexander Couzens <lynxis@fe80.eu>
Date: 2017-08-15 12:19:45 +0000
hnbgw_cn.c: use new signature of osmo_sccp_addr_name(osmo_ss7_instance *ss7, osmo_sccp_addr *addr)
libosmo-sccp introduce the new signature in
564ff618004b ("sccp: make osmo_sccp_addr_name() available")
Change-Id: I5c9abba321ec182d293c33bcffea3462f8717045
commit 1aef9a6e1f12d8c710d21a9e8abf688dd81b350a
Author: Neels Hofmeyr <nhofmeyr@sysmocom.de>
Date: 2017-08-12 18:02:44 +0200
iu_client: derive local SCCP addr from sccp instance
ranap_iu_init() is passed an sccp instance that has a local primary point code.
Use this primary PC by default as the local address for IuCS and IuPS clients.
Remove the current vty command 'iu local-address point-code PC':
- It is possible that we would like to configure a differing local point code
at some point; this should then happen via sccp address book entries, not
parsing PC directly.
- Obtaining the local PC from the SCCP instance makes this command obsolete for
all setups we're currently aiming at: one local PC per SCCP instance.
- There are vty doc failures in this vty command, which cause osmo-msc and
osmo-bsc vty test failures; rather than fixing this, let's drop it entirely
until we see a need for it (and then do it properly with the address book).
Cosmetic: prefix the local static variable with g_* like g_sccp and g_scu and
define it in the same place. No default values are needed anymore, it gets
overwritten in ranap_iu_init().
Change-Id: I3bb7fc1cd5261d214c6ba0cccfe95f637e6db087
commit e485cdd38b363d84b3f6abc7e683c03c9a882d54
Author: Alexander Couzens <lynxis@fe80.eu>
Date: 2017-08-06 21:52:02 +0000
add /debian package support
Change-Id: I985805aea0e48fe70619de8b81206098e4e37613
commit ecbdc5cb06ef7f61c6f4cdb4e1fd84a05ec0407d
Author: Neels Hofmeyr <nhofmeyr@sysmocom.de>
Date: 2017-07-31 13:13:24 +0200
make point codes configurable by SCCP address book
In the vty config, use the SCCP address book to configure the local and remote
SCCP addresses. Add VTY commands to set the remote SCCP addresses by name,
derive the ss7 instance from these addresses:
cs7 instance 1
point-code 0.23.0
sccp-address msc
point-code 0.0.1
sccp-address sgsn
point-code 0.0.2
hnbgw
iucs
remote-addr msc
iups
remote-addr sgsn
Enforce that both IuCS and IuPS use the same ss7 instance. In the future, we
may add the feature to use two separate instances.
Depends: libosmo-sccp I75c67d289693f1c2a049ac61cf2b2097d6e5687d,
Ie1aedd7894acd69ddc887cd65a8a0df4b888838c,
I85b46269dbe7909e52873ace3f720f6292a4516c
Change-Id: I33a7ba11eb7c2d9a5dc74d10fb0cf04bf664477b
commit 5e0292a6412a04eeed9e0aff3f56bd8d4f353346
Author: Alexander Couzens <lynxis@fe80.eu>
Date: 2017-08-08 13:58:53 +0200
add .gitreview to support git review plugin
Change-Id: If8ebdb687f41911f55679472a0c87f9734264e80
commit aae68b2791c636b6a58068bb43cf4c01cfd86c5d
Author: Neels Hofmeyr <nhofmeyr@sysmocom.de>
Date: 2017-07-05 14:38:52 +0200
move openbsc.git's iu.h, iu.c, iu_vty.c here as iu_client
To help split openbsc.git to separate MSC and SGSN repositories, place the
common Iu interface related code here in libosmo-ranap. Also apply various
improvements while moving (from intermittent code review).
The code depends on libosmo-ranap tightly. One reason to want this separate
from libosmo-ranap could be that it uses libosmo-sigtran, accepting an sccp
instance. However, including in libosmo-ranap is the simplest way to go. The
osmo-iuh build depends on libosmo-sigtran anyway because of OsmoHNBGW, and all
current users of libosmo-ranap also naturally link libosmo-sigtran already.
Apply prefix ranap_iu_ and RANAP_IU_ to allow smooth transition from the
openbsc.git iu_ to the libranap ranap_iu_ implementations.
Prune unneeded #include statements.
Instead of sccp_addr, store an rnc pointer in the ue_conn_ctx. To facilitate,
also:
- Move iu_rnc struct to iu_client.h (as ranap_iu_rnc).
- Instead of sccp_addr, pass rnc to ue_conn_ctx_alloc().
- Pass a local struct new_ue_conn_ctx containing the sccp_addr and conn_id up
the RANAP handling stack in case of an InitialUE message.
- Separate the InitialUE message handling from cn_ranap_handle_co(), by moving
to new and separate cn_ranap_handle_co_initial(), so we can still pass a
looked-up ue_conn_ctx to all other cn_ranap_handle_co() code paths.
- Allocate the ue_conn_ctx only in ranap_handle_co_initial_ue(), not as early
as before.
Note that we are not actually ever using the rnc pointer now present in
ue_conn_ctx. It could be used for more concise paging, to first page only the
RNC where we last saw the subscriber. So far we page all matching LAC/RACs.
Tweak error logging: use __func__ instead of writing the function names as
string constants.
In iu_client_vty.c:
- Move the asn.1 debug commands from logging over to the iu node. They are not
specific to the logging target. They could qualify for an entirely separate
'asn1' root node, but for simplicity place under 'iu'.
- Add the 'asn1' commands to ranap_iu_vty_config_write(), so far missing.
- remove the legacy "net." from a VTY error message, it is not known which name
the parent node of 'iu' has.
Depends: libosmo-sccp I85b46269dbe7909e52873ace3f720f6292a4516c,
libosmo-sccp Ie1aedd7894acd69ddc887cd65a8a0df4b888838c
Change-Id: I6a3f7ad15be03fb94689b4af6ccfa828c25f45c0
commit 13850b1e5dc10975bf0452d2b8290bdbe2a8356f
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: 2017-07-25 15:35:58 +0200
ranap_common.h: fix include of asn1c/asn_application.h
Change-Id: I152377813cdcfef73e2c4309b0f8c97807d7d4f8
commit a3bcd6d1e71e866fa96a40437aeff9a6e44c76a2
Author: Neels Hofmeyr <nhofmeyr@sysmocom.de>
Date: 2017-07-03 14:29:04 +0200
cn unitdata: verify correct remote addr
When receiving unitdata from the CN, verify that it is indeed coming from the
remote address that matches our CS/PS domain settings.
This patch came from an earlier stage where the is_ps out-parameter was
actually used. While it currently isn't, it doesn't hurt to leave it there.
Change-Id: I7190b4c3a05e8bac0eeffa1eab18c9e47429cb17
commit 3b42658836359a9b6b6e79bf5ba0e8adcae613c2
Author: Neels Hofmeyr <nhofmeyr@sysmocom.de>
Date: 2017-07-03 14:40:11 +0200
set RANAP msgb headroom to 512 (times two)
With a headroom of 256, the SGSN crashes with:
msgb(0x6e3b90): Not enough headroom msgb_push (256 < 264)
I'm not perfectly sure what amount of headroom is strictly necessary. The only
reason to pick 512 is that it is twice the amount of 256.
Change-Id: I9a193846902a0477af0873f78283c4f2bedaf5dd
commit 54e6e1fc3074a7ecd891a6895891bc32d04b33c2
Author: Neels Hofmeyr <nhofmeyr@sysmocom.de>
Date: 2017-07-03 17:29:28 +0200
rua_to_scu(): add debug log for calling/called addr
This might help in resolving whether we are conforming to SCCP specs regarding
our calling/called address choices.
Change-Id: Ie91953f7e9033419257d556d3a9f14e125f5c60d
commit c3614318af03527a3ed12a9835adbe1f3966b215
Author: Neels Hofmeyr <nhofmeyr@sysmocom.de>
Date: 2017-07-03 14:34:38 +0200
rua_to_scu(), rua_rx_init_connect(): add debug logging
In rua_to_scu(), log domain indicator and remote address.
In rua_rx_init_connect(), add domain indicator to log.
Change-Id: Ibe510bf0aca5eadbc0ce6031d3026e770de6559f
commit cb246316505c8cf9913fb66596362fee90b10476
Author: Neels Hofmeyr <nhofmeyr@sysmocom.de>
Date: 2017-06-20 22:49:34 +0200
sccp_sap_up(): guard against NULL pointers
Change-Id: Icd64b92b00461cace5c476c8bcf69eec3fdbbdd3
commit 0f88c110093935305143987638e46dc6db304a3e
Author: Neels Hofmeyr <nhofmeyr@sysmocom.de>
Date: 2017-07-03 16:49:43 +0200
migrate osmo-hnbgw to libosmo-sigtran's SCCP/M3UA
libosmo-sigtran now has a "proper" SCCP/M3UA stack, so we can make our hnb-gw
3GPP compliant by switching from the old SUA code to the new universal SCCP
user API with support for (currently) M3UA and SUA.
Main changes:
Use one cn_link to STP: We will connect to the core network using an (Osmo)STP
instance that routes to MSC and SGSN, so we want one SCCP link instead of two.
The only difference between IuCS and IuPS is a different remote osmo_sccp_addr.
This has various effects through the messaging code; the patch is a bit larger
than I would like, but it is hard to separate out truly independent smaller
changes.
CS or PS domain was previously flagged in the separate cn_link, as ctx pointer
for two separate sccp_sap_up()s. Now there's just one such ctx, so determine
is_ps from the RANAP Domain Indicator, or from the conn's hnbgw_context_map:
- Add is_ps to context_map_alloc_by_hnb().
- To find a matching context, the RUA ID alone is no longer sufficient, also
match is_ps (possible optimization todo: separate lists).
We would send separate CS or PS Reset messages based on the cn_link, instead
send both CS and PS Reset at the same time for the single cn_link. This could
be adjusted to detect presence of MSC or SGSN instead.
Pending: adjust the VTY config to reflect that there is only one remote
address. Place a TODO comment for that.
Smaller changes:
rua_to_scu(): populate called and calling addresses for N_CONNECT and
N_UNITDATA.
Remove DSUA.
Don't build dummy_cn, which is still implemented on SUA. Mark todo to maybe
re-include it based on M3UA later.
In hnbgw_cnlink, place sccp related items in a separate sub-struct.
Do not keep an llist of cn_links, just have the one. Remove iteration and list
management.
Change jenkins script to build libosmo-sccp master.
Patch-by: hwelte, nhofmeyr
Change-Id: I8ac15fa2fd25bedb26297177e416976a5389b573
commit 12ed975996f41fe1218c06fca3755047475084a6
Author: Neels Hofmeyr <nhofmeyr@sysmocom.de>
Date: 2017-07-03 16:33:14 +0200
cosmetic: move callers' common switch() into rua_to_scu()
Change-Id: If6274e3738dc04646d0dc18332c12237e6910d18
commit e305f4d5064c959a71c265b8880146506aa406fb
Author: Neels Hofmeyr <nhofmeyr@sysmocom.de>
Date: 2017-07-05 12:52:01 +0200
jenkins: build from libosmo-netif master
After merge of the sysmocom/sctp branch to master, it was forgotten to change
this build script to move along to master.
Change-Id: I473d1361b99ff0ff8adba9326b0e2dfbc48a3aef
commit 26531f9efc3a7366ef26e11855bc8ad46e9f8794
Author: Daniel Willmann <dwillmann@sysmocom.de>
Date: 2017-05-04 18:41:16 +0200
contrib: Add systemd service file for osmo-hnbgw
Change-Id: I650bb5650b6d4f474e2040b57e6f78ee9d013825
commit e3b025bf75201a707c44e8fe19c8ba908bfd1e91
Author: Daniel Willmann <dwillmann@sysmocom.de>
Date: 2017-05-04 18:40:44 +0200
examples: Adjust IP address of example config
Change-Id: Ide4f1592c314f7a764bef30b76bdb21ce0fb6dc2
commit 46fea15afc38fb995baf4100f4de1d6a3565899f
Author: Pau Espin Pedrol <pespin@sysmocom.de>
Date: 2017-04-06 18:40:25 +0200
hnbgw: Fix crash if cnlink fails to connect
Return NULL in the error code path, otherwise an uninitialized pointer
is returned and later accessed when a UE tries to register using the
cnlink.
Change-Id: I4f3e2e0680de3216e2e569958bd64f70dc30c2a3
commit 166a3767bdab6f9b45b1b401cccea6aba3c0b201
Author: Pau Espin Pedrol <pespin@sysmocom.de>
Date: 2017-04-05 11:22:48 +0200
asn1tostruct.py: specify python version in shebang
The script is expected to be run using python 2.x, but nowadays some
distros are already using python 3 as default, which will fail to run
this script.
This change fixes compilation in my Archlinux box.
Change-Id: I6eb95351538a64f2b23d638824972818591b1b66
commit c23c4fe06c543648a7c7dc429ce50f5cf79abe3a
Author: Neels Hofmeyr <nhofmeyr@sysmocom.de>
Date: 2017-03-29 17:07:02 +0200
doc: fix osmo-hnbgw.cfg example
'bind' was changed to local-ip in 39ee92606213a9fd36b10183bb461fa6e2d3a407
The 'logging all everything' is known to not work, use 'all debug' instead.
Fix indenting of the 'log' items.
Change-Id: Ie7828073a4b4a5555f418246b20588e903ef4135
commit 2c45e9082afada5249a7347a35bd8812a88b5aa7
Author: Harald Welte <laforge@gnumonks.org>
Date: 2017-03-17 18:15:20 +0100
Update README with project related information and convert to Markdown
Also, include it in 'make dist' tarballs.
Change-Id: Ia28743b7ea3510097f841f83d2eca2669b4d73ea
...