Commit Graph

1794 Commits

Author SHA1 Message Date
Oliver Smith b282dff1c2 Bump version: 1.0.0.1-69dd → 1.0.1
Change-Id: Iad8e8986df23b894a0ddac73f4ef60b22b2efea1
2019-03-27 14:19:45 +01:00
Harald Welte 69dd672305 rsl.c: Add missing #include of gsm0808.h
This fixes the below compile error:

rsl.c:900:43: error: ‘gsm0808_chosen_enc_alg_names’ undeclared (first use in this function)

Change-Id: I4aed0242737602e61b785862e3c37c963bf48455
2019-03-27 13:46:24 +01:00
Harald Welte d785da5943 Bump version: 0.8.1.199-5c93-dirty → 1.0.0
Change-Id: Ie33252aef4144f9bb825d7c234970fd4e6083bb2
2019-01-20 21:13:37 +01:00
Harald Welte 5c93677be5 osmo-bts-trx/loops.c: Make code control flow more readable
Use the 'else' construct where applicable to avoid too many return paths
from functions

Change-Id: I819f0c80e90855e8b3252795c837f8e3053b6e87
Related: OS#1622, OS#1851
2018-12-23 10:38:23 +00:00
Harald Welte 5d9cb9f555 osmo-bts-trx/loops.c: Use lchan name based logging
The loops.c code dates back to ancient times when we printed the TRX
number and the raw channel number to identify a logical channel.  We
meanwhile have gsm_lchan_name() and should use it to log messages
related to this lchan in a common format.

This commit introduces the LOGPLCHAN() helper macro [similar to
osmo-bsc], and uses it from loops.c.

As a result, some functions don't need a chan_nr argument anymore,
while some need to add a new lchan argument.

Change-Id: I6976dd7444c26b1f52741bc367b0311ebbef1718
Related: OS#1622, OS#1851
2018-12-23 10:38:23 +00:00
Harald Welte a4f5622408 osmo-bts-trx/loops.[ch]: Make functions "void" if they always return 0
The concept of a return value only makes sense if there's actually ever
something non-constant to return, and if the caller actually processes
that return value.  If we always "return 0" and ignore it on the caller
side, functions should be of "void" type.

Change-Id: I3575a2cef75f3fd4c3f95eddb40719d28a055b54
Related: OS#1622, OS#1851
2018-12-23 10:38:23 +00:00
Harald Welte 3379250b51 osmo-bts-trx/loops.c: Add comments documenting TA + MS power control loop
The loops.c code is not very easily understood, so let's add some
comments to it.

As can be seen, there are functions of integer type which always return
0, and whose callers don't check for the return value.  This will be
adressed in subsequent patches.

Change-Id: Iafea07eb751ed85d29b214576bb0d31ea919cd72
Related: OS#1622, OS#1851
2018-12-23 10:38:23 +00:00
Pau Espin 719c6a9135 rsl: Send PDCH ACT NACK if TCH chan is still active
Fix recent commit which broke TTCN3 BTS_tests
TC_dyn_ipa_pdch_tchf_act_pdch_act_nack.

Prior to the breaking commit, logic was still not good, because
1- It didn't return after sending the NACK
2- It sent a NACK in all cases, while for PDCH DEACT we want to force
its deactivation. Going through tests it can be seen that indeed it
can deactivate it in that case:
rsl.c:2206 (bts=0,trx=0,ts=3,pchan=TCH/F_PDCH as PDCH) Request to PDCH DEACT, but lchan is still in state ACTIVE
...
rsl.c:2103 (bts=0,trx=0,ts=3,ss=0) Tx PDCH DEACT ACK

Fixes: 133a3d96dc ("rsl: Avoid sending ipa PDCH DEACT NACK followed by ACK")
Change-Id: I6d6d12aec10c801fe55012ca6e58d0bc8755b15d
2018-12-23 10:22:25 +00:00
Pau Espin 8564ececa5 sysmobts_mgr: Add support for gpsd < 2.96
This allows running sysmobts-mgr on systems with old gpsd releases
(which may have other software depending on such old release).

GPSD_API_MAJOR_VERSION define was first added in gpsd 2.39, before that
it didn't exist (but this code is known to work against 2.38).

GPSD_API_MAJOR_VERSION == 5 was set in version 2.96.

Related gpsd commits:
3771dba081bd1175adab6096d7b6270d3822aaa1
e69bcb6b01af6b25c6a525fb1961b92ac04f5213

Related: SYS#4290
Change-Id: If3c35021a020a61d5fa3cde5eebcd09908db822b
2018-12-18 21:40:00 +01:00
Pau Espin 17ffb08de0 sysmobts_mgr: Prepare code for gpsd < 2.96 support
API prior to that version allocates the pointer internally. Let's change
current code to always use a pointer and in current supported code (gpsd
>= 2.96) point it to a user-allocated struct.

Follow-up patch will introduce necessary ifdefs to support older gpsd.

Change-Id: Iaeb5ac527cc3e58168027021d0f60afa93d1fb6f
2018-12-18 21:40:00 +01:00
Oliver Smith fc88d8e7dc 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: I5d3712b54a8b777c33a9804a4f612e4f37f829df
2018-12-06 13:43:26 +01:00
Oliver Smith 9c4a6facdb contrib/jenkins_*.sh: build and publish manuals
Add new environment variables WITH_MANUALS and PUBLISH to control if
the manuals should be built and uploaded. Describe all environment vars
on top of jenkins_bts_model.sh. Change the top description line to look
like all the other contrib/jenkins.sh files (from other repositories),
so it is clear that this is the entry point of Jenkins (and not the
other contrib/jenkins_*.sh scripts).

When WITH_MANUALS is set, install osmo-gsm-manuals like any other
dependency and add --enable-manuals to the configure flags (for "make"
and "make distcheck"). Add the bin subdir of the installed files to
PATH, so osmo-gsm-manuals-check-depends can be used by ./configure.

Related: OS#3385
Change-Id: If51194cc595bd8cf1081b35ab0e1a5ddcd448860
2018-12-05 13:10:55 +01:00
Pau Espin c606103d9f bts-trx: (n)ack PDCH DEACT only after TRX answered SETSLOT
Before this patch, PDCH DEACT was (n)acked to the BSC without taking
into account if TRX succeeded or failed to set the TS:

20181123044720655 DRLL rsl.c:2523 (bts=0,trx=0,ts=0,ss=0) Rx RLL DATA_REQ Abis -> LAPDm
20181123044720700 DRSL rsl.c:2805 (bts=0,trx=0,ts=6,pchan=TCH/F_PDCH as PDCH) ss=0 Rx RSL IPAC_PDCH_DEACT
20181123044720700 DRSL rsl.c:2205 (bts=0,trx=0,ts=6,pchan=TCH/F_PDCH as PDCH) Request to PDCH DEACT, but lchan is still active
20181123044720700 DRSL rsl.c:2131 (bts=0,trx=0,ts=6,ss=0) Tx PDCH DEACT NACK (cause = 0x0f)
20181123044720700 DPCU pcu_sock.c:124 Sending info
20181123044720700 DPCU pcu_sock.c:139 BTS is up
20181123044720700 DPCU pcu_sock.c:232 trx=0 ts=7: available (tsc=7 arfcn=868)
20181123044720703 DPCU pcu_sock.c:608 Deactivate request received: TRX=0 TX=6
20181123044720703 DL1C l1sap.c:1519 deactivating channel chan_nr=TCH/F on TS6 trx=0
20181123044720703 DTRX trx_if.c:242 Enqueuing TRX control command 'CMD NOHANDOVER 6 0'
20181123044720703 DL1C l1sap.c:648 deactivate confirm chan_nr=TCH/F on TS6 trx=0
20181123044720703 DRSL rsl.c:714 (bts=0,trx=0,ts=6,ss=0) not sending REL ACK
20181123044720703 DRSL rsl.c:2264 (bts=0,trx=0,ts=6,ss=0) PDCH DEACT operation: channel disconnected, will reconnect as TCH
20181123044720703 DL1C scheduler.c:593 Configuring multiframe with TCH/F+SACCH trx=0 ts=6
20181123044720703 DTRX trx_if.c:242 Enqueuing TRX control command 'CMD SETSLOT 6 1'
20181123044720703 DL1C l1_if.c:780 (bts=0,trx=0,ts=6) bts_model_ts_connect(as_pchan=TCH/F) success, calling cb_ts_connected()
20181123044720703 DRSL rsl.c:2339 (bts=0,trx=0,ts=6,ss=0) PDCH DEACT operation: timeslot connected as TCH/F
20181123044720703 DRSL rsl.c:2440 (bts=0,trx=0,ts=6,ss=0) TCH/F_PDCH switched to TCH/F mode (ts->flags == 0)
20181123044720703 DRSL rsl.c:2103 (bts=0,trx=0,ts=6,ss=0) Tx PDCH DEACT ACK
20181123044720704 DTRX trx_if.c:492 Response message: 'RSP NOHANDOVER 0 6'
20181123044720705 DTRX trx_if.c:492 Response message: 'RSP SETSLOT 0 6 1'

Change-Id: I888de761b65c3ea8bfe623fcf009f3b2b57c926c
2018-12-04 16:57:52 +00:00
Oliver Smith 19ff607e99 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: I332c94502cce0f3f11fe3f4d9f6c9918ff0c0263
2018-12-04 16:13:16 +01:00
Pau Espin 11465b5ba1 oc2g: Fix headers missing during make distcheck
Change-Id: I2e4aad190c44fea047b4aefcf55335789fa4c571
2018-12-04 16:06:31 +01:00
Oliver Smith 26701bbe85 build manuals moved here from osmo-gsm-manuals.git
Moved to doc/manuals/, with full commit history, in preceding merge commit.
Now incorporate in the build system.

Build with:

$ autoreconf -fi
$ ./configure --enable-manuals
$ make

Shared files from osmo-gsm-manuals.git are found automatically if
- the repository is checked out in ../osmo-gsm-manuals; or
- if it osmo-gsm-manuals was installed with "make install"; or
- OSMO_GSM_MANUALS_DIR is set.

Related: OS#3385
Change-Id: I728ebb56ade6dda079a0744c4e592284e1bea4f6
2018-11-27 17:56:09 +01:00
Neels Hofmeyr 0133b65da1 Merge history from osmo-gsm-manuals.git
Change-Id: Ib62d046bd84204b902cac3fe8c0765e32da0a0c6
2018-11-27 17:54:38 +01:00
Daniel Willmann b7eaf282dd OsmoBTS: Fix typo
Change-Id: I0a4c9f052f14816e88ed0a4a5fff9b3854da195a
2018-11-27 17:54:20 +01:00
Daniel Willmann 473be4f89f OsmoBTS: Print VTY command in fixed-width font
Surrounding with '@' didn't seem to yield the intended result, the
charactars appeared in the compiled document.

Change-Id: I66e7949fa4a6c2164bf9572a2beaf8ace169fa1c
2018-11-27 17:54:20 +01:00
Pau Espin 9bcda3742d bts: Fix typo
Change-Id: I47758acec07a587730552a9c46dc02976c807d9a
2018-11-27 17:54:20 +01:00
Harald Welte 094b22ea82 vty-ref: Update URI of docbook 5.0 schema
... to match the /etc/xml/catalog file on debian (no "www" in hostname)

Change-Id: Id9f3579c7f2bc3af13fe30b5268f249b6f59ed0d
2018-11-27 17:54:20 +01:00
Pau Espin 035d209809 Introduce chapter trx_if.adoc and add it to OsmoTRX and OsmoBTS
This chapter defines the protocol used between osmo-trx and
osmo-bts-trx.

Most of the text comes originally from osmo-trx.git/README, as it's the
only known documentation of the protocol other than the code itself.

Change-Id: I56c418eef0f826ae1aadbed5b151fbed241c7885
2018-11-27 17:54:20 +01:00
Pau Espin 446f368fd0 OsmoBTS: bts-models: Add Lime Microsystems devices as supported osmo-trx
Also take the chance to remove uneeded extra whitespace in surrounding
text.

Change-Id: I739e4dfba7c649a74cf67d6bbe6f74b22e7e24f0
2018-11-27 17:54:20 +01:00
Neels Hofmeyr 0a421119c8 refactor Makefile build rules, don't use the FORCE
The initial goal was to make sure we don't have overall FORCE rules causing
unnecessary rebuilds -- annoying while writing documentation. As I looked
through possible dependencies, I finally understood what's going on here.

Remove code dup and nicely sort which belongs where in build/Makefile.*.inc. In
each, describe in a top comment how to use it, and also unify how they are
used:

- Rename Makefile.inc to Makefile.docbook.inc and refactor
- Add Makefile.vty-reference.inc
- Add Makefile.common.inc

Make sure that we accurately pick up all dependencies.

Drop use of the macro called 'command', that silenced the actual command lines
invoked and replaced them with short strings: it obscures what is actually
going on and makes the Makefiles hard to read and understand.

Each manual's makefile is greatly reduced to few definitions and a Makefile
include, e.g. one for asciidoc, one for VTY reference.

Move common/bsc_vty_additions.xml to OsmoBSC/vty/libbsc_vty_additions.xml, link
from OsmoNITB. It applies only to OsmoBSC and OsmoNITB.

Add a script that combines a VTY reference file with *all* additions files
found in a manual's vty/ dir. Call this from Makefile.vty-reference.inc.

Change-Id: I9758e04162a480e28c7dc83475b514cf7fd25ec0
2018-11-27 17:54:20 +01:00
Pau Espin ea9d5b9499 Allow easily disabling GFDL references
All parts referencing GFDL can be easily disabled by removing the
'gfdl-enabled' attribute from the document.

Change-Id: I2489726ad2e90301bceadfada926e31ae0f85986
2018-11-27 17:54:20 +01:00
Harald Welte 2283831b64 update osmo-bts-virtual documentation, now that code is merged
Change-Id: Icd8706d29ca0e96cb89b7736dbb62f9ce159382d
2018-11-27 17:54:20 +01:00
Pau Espin eaef0af3a2 rtp-amr: Fix typo and trailing whitespace
Change-Id: I8efda2387e0e5e95700b070dab8f8dd427fa562d
2018-11-27 17:54:20 +01:00
Pau Espin fa53c9eafe rtp-amr: Describe requirement to recieve all PH-DATA.ind events
Change-Id: I4a78b3398c36a8107fa1809ba9b89235980f0e4f
2018-11-27 17:54:20 +01:00
Pau Espin 683b775c7a OsmoBTS: Update osmotrx ip to diff between local and remote
Change Id of the code implementation: I0bd34b7b02c1a9b0c6f6f89f327b486e5620c8d5

Change-Id: Ia4c70b3b8436e2647fc35d579a302dfbf32a83f0
2018-11-27 17:54:20 +01:00
Pau Espin 7000ef5dea OsmoBTS/chapters/configuration.adoc: Add bts index in example
Change-Id: If13643cdfa59c50b6af8ab0657635fed2ca219f0
2018-11-27 17:54:20 +01:00
Max 3b835505bf Sync DTX FSM with OsmoBTS code
Change-Id: I050a07db99bc0038cfd2a9646a450f714653d804
2018-11-27 17:54:20 +01:00
Philipp Maier 8a1dfa0b77 Describe how to run multiple instances of osmo-nitb and osmo-bts
Change-Id: I69adeef85adda6f08b31b7d176f51e16968c1435
2018-11-27 17:54:20 +01:00
Ivaylo Kostov f87f1113ca BSC,BTS: add diagrams of PCU-BTS-NITB-SGSN relationships
Change-Id: I0eb09706efb768fa4f6810872fb6568cbc9838cb
2018-11-27 17:54:20 +01:00
Neels Hofmeyr dd4160e003 dynamic timeslots: add BSC level config instructions
Add high level description on and a config example for dynamic timeslots in a
new chapter featured in the OsmoBSC and OsmoNITB manuals.

From the OsmoBTS manual's chapter on dynamic timeslots, add references to the
above.

Change-Id: I44ff1e4c2340c65ff23e85408fc6d6a45ea9e046
2018-11-27 17:54:20 +01:00
Max 08b14a2fac Add DTX implementation details to RTP AMR
Add FSM and description.

Change-Id: Ib37cb6e4038f970070c1715269961db7172ce377
2018-11-27 17:54:20 +01:00
Max 5fd42960d6 Move RTP AMR doc to top level
Add it to Makefile with proper docinfo so it's build automatically
alongside with other documentation.

Change-Id: Iacd7fadc003ce0f9ffd20aa5b36c7d598b04f882
2018-11-27 17:54:20 +01:00
Harald Welte dbb4c0389e rtp-amr.adoc: Fixes to Message Sequence Charts
Nutaq added these clarifications/extensions/fixes tothe message sequence
charts.

Change-Id: Ic699bda828947ff616c3d80783026e21d853f962
2018-11-27 17:54:20 +01:00
Harald Welte 932f6753d1 rtp-amr.adoc: New TCH/AHS downlink chapters
Nutaq contributed the following chapters:
* TCH/AHS Downlink: FACCH/H During DTX Operation
* TCH/AHS Downlink: Inhibited SID_UPDATE
* TCH/AHS Downlink: Inhibited SID_FIRST_P1

Change-Id: I55d8e9f98694b39514d1f31c517a80050103fdd6
2018-11-27 17:54:20 +01:00
Harald Welte a9b521e2cb rtp-amr: TCH/AHS Uplink: FACCH/H During DTX
New chapter contributed by Nutaq:
* TCH/AHS Uplink: FACCH/H During DTX operation

Change-Id: I4a9c58e02dcfeb388ff3a30ba321ea3cec325518
2018-11-27 17:54:20 +01:00
Harald Welte d61b59bb18 rtp-amr.adoc: TCH/AFS Downlink: Inhibiting
Add two new chapters contributed by Nutaq:
* TCH/AFS Downlink: Inhibiting a SID_FIRST frame
* TCH/AFS Downlink: FACCH/F During DTX Operation

Change-Id: Ic39d035f9d17bd0634c2df78ae3359a5eb7dfd46
2018-11-27 17:54:20 +01:00
Harald Welte d7f1457bed rtp-amr.adoc: TCH/AFS Uplink
Add new chapter by Nutaq for Speech Frame Following a SID_FIRST frame

Change-Id: Ib7cfb07525ea311d9dac051a6e139b0ae0549504
2018-11-27 17:54:20 +01:00
Harald Welte 529c1f04cb Documentation on AMR RTP in case of DTX
Change-Id: I394f405b441c1eb000759151bd8350d5b3a84a0b
2018-11-27 17:54:20 +01:00
Neels Hofmeyr 8be01aac1e fix build: abis: re-add dependencies
Below commit accidentally removed osmobts-abis.pdf from the Makefile entirely.
The pdf was re-added, but the dependencies are still missing, so that
osmobts-abis.pdf is not rebuilt when abis/* is newer. Fix that.

Culprit: 05f5adbe837f2cbfb9301cdb8c9b454ca0bfc825
"OsmoBTS: add vty reference documentation"

Half-fix: 707827196f0734eefa74ce0c35c2ab2fe754cc4c
"OsmoBTS: generate osmobts-abis.pdf again"

Change-Id: Id2ee8177cfb8eb58409d164bdd994ef5e86ad82b
2018-11-27 17:54:20 +01:00
Neels Hofmeyr c1ac0d8b6a OsmoBTS/abis/rsl: split dyn TS ladder diagrams to fit on page
Split both of the lengthy mscgen generated ladder diagrams in two so that the
diagrams are split over two pages and don't bleed into the page footer.

Change-Id: If90250123a85cd275f07c69ee64c6e10a7269f06
2018-11-27 17:54:20 +01:00
Alexander Couzens 2c160a5dc4 OsmoBTS: generate osmobts-abis.pdf again
broken by 05f5adbe837f2cbfb9301cdb8c9b454ca0bfc825

Change-Id: I7ca18e3d7fa3a5a6eac0590b919b4c664f73671c
2018-11-27 17:54:20 +01:00
Neels Hofmeyr a4683812ed fix 'make clean': shell glob, ignore failure
Unfortunately a glob like osmo-x__*.{svg,png} doesn't work, so have the
suffixes in separate globs.

Add dashes to indicate that failure should be ignored.

Change-Id: I6bc4d9ea72b43a573acbc860c23397f748de2c7b
2018-11-27 17:54:20 +01:00
Neels Hofmeyr 8580b9717f OsmoBTS/abis/rsl: combine separate dyn ts sections
There were two separate sections saying basically the same. Move the
entire 'Dynamic Channel Combinations' section further above and combine
with the 'IPA Style PDCH Management' section to avoid repetition.

Change-Id: Ic370ba34de5cb14f0194ff8c8661e45d7ca98e2b
2018-11-27 17:54:20 +01:00
Neels Hofmeyr 236e9d575e add 'make check' target
Generate *.check files from asciidoc output and grep for WARNINGs.
Add *.check files to gitignore and to 'make clean'.

Change-Id: Ibccc83a3415930a528f2e8e4e4dda3b81c6d0b64
2018-11-27 17:54:20 +01:00
Neels Hofmeyr 3537fa6224 make clean: also remove generated image files
Change-Id: I80798e79b4ccee64f26f58f9754de02b2958e33e
2018-11-27 17:54:20 +01:00
Neels Hofmeyr 8b633e885b OsmoBTS/abis/rsl: add missing info for Osmocom Dyn Channels
The section 'Osmocom Style Dynamic Channels' ended in mid-sentence without
naming any of the hard facts. Complete that.

Add section links.

Change-Id: Ib92895fe1bb89fb1b14dc8fcbd88b98bbb6edeee
2018-11-27 17:54:20 +01:00