Commit Graph

6886 Commits

Author SHA1 Message Date
Oliver Smith 98483760e8 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: Ide5de9383a2a3b957d182dca1187f73dbf1ce982
2018-12-06 16:31:24 +00:00
Pau Espin 1b96334b26 paging: Add VTY options to calculate T3113 timeout dynamically
The idea is to have a base static value which is set like before "timer
t3113 [seconds]", but now have a part of this timeout calculated
dynamically based on BTS channel configuration and channel load.

This patch only implements initial support to calculate based on channel
configuration, but doesn't include code to calculate based on channel
load. To implement the later part, we probably need to keep track of BTS
paging queues per paging group, which we don't do nowadays.

Dynamic calculation is enabled by default, and default static base value
is decreased accordingly. This way, in a typical setup were the default
10 seconds were used, now the calculated final value is 11 seconds.
That's intended because it was observed experimentally in osmo-gsm-tester with
a similar channel setup that sometimes paging response can arrive slightly
later than 10 seconds.

Related: OS#3680
Change-Id: I4fb2969b690151415038631fb6ad059aa6835c7f
2018-12-05 19:40:23 +00:00
Pau Espin 4af2d18814 bsc: lchan_fsm: Fix invalid duplicated transition
When we enter WAIT_RLL_RTP_RELEASED
(lchan_fsm_wait_rll_rtp_released_onenter), we call lchan_do_release()
which in turn dispatches LCHAN_RTP_EV_RELEASE to lchan_rtp_fsm.c, which
will dispatch back an LCHAN_EV_RTP_RELEASED event, which will be handled
by lchan_fsm_wait_rll_rtp_released(), which will change state to
WAIT_BEFORE_RF_RELEASE. When going back the stack (return), we are still
in lchan_fsm_wait_rll_rtp_released_onenter() which again triggers a
change state to WAIT_BEFORE_RF_RELEASE because it checks same conditions
than first one.

20181128203727051 DCHAN osmo-bsc/lchan_fsm.c:1388 lchan(0-0-6-TCH_F_PDCH-0)[0x6120000039a0]{ESTABLISHED}: lchan detaches from conn SUBSCR_CONN(conn3)[0x612000002da0]
20181128203727051 DMSC osmo-bsc/lchan_fsm.c:1391 SUBSCR_CONN(conn3)[0x612000002da0]{CLEARING}: lchan lchan(0-0-6-TCH_F_PDCH-0)[0x6120000039a0] detaches from conn
20181128203727051 DCHAN osmo-bsc/lchan_fsm.c:1359 lchan(0-0-6-TCH_F_PDCH-0)[0x6120000039a0]{ESTABLISHED}: state_chg to WAIT_RLL_RTP_RELEASED
20181128203727052 DCHAN osmo-bsc/lchan_fsm.c:959 lchan(0-0-6-TCH_F_PDCH-0)[0x6120000039a0]{WAIT_RLL_RTP_RELEASED}: (type=TCH_F) SAPI[0] = 1
20181128203727052 DRR osmo-bsc/gsm_04_08_rr.c:254 Sending Channel Release: Chan: Number: 0 Type: 2
20181128203727052 DCHAN osmo-bsc/lchan_fsm.c:945 lchan_rtp(0-0-6-TCH_F_PDCH-0)[0x6120000027a0]{ESTABLISHED}: Received Event LCHAN_RTP_EV_RELEASE
20181128203727052 DCHAN osmo-bsc/lchan_rtp_fsm.c:572 lchan_rtp(0-0-6-TCH_F_PDCH-0)[0x6120000027a0]{ESTABLISHED}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
20181128203727052 DCHAN osmo-bsc/lchan_rtp_fsm.c:572 lchan_rtp(0-0-6-TCH_F_PDCH-0)[0x6120000027a0]{ESTABLISHED}: Removing from parent lchan(0-0-6-TCH_F_PDCH-0)[0x6120000039a0]
20181128203727052 DCHAN osmo-bsc/lchan_rtp_fsm.c:572 lchan_rtp(0-0-6-TCH_F_PDCH-0)[0x6120000027a0]{ESTABLISHED}: Freeing instance
20181128203727052 DCHAN fsm.c:381 lchan_rtp(0-0-6-TCH_F_PDCH-0)[0x6120000027a0]{ESTABLISHED}: Deallocated
20181128203727052 DCHAN osmo-bsc/lchan_rtp_fsm.c:572 lchan(0-0-6-TCH_F_PDCH-0)[0x6120000039a0]{WAIT_RLL_RTP_RELEASED}: Received Event LCHAN_EV_RTP_RELEASED
20181128203727052 DCHAN osmo-bsc/lchan_fsm.c:856 lchan(0-0-6-TCH_F_PDCH-0)[0x6120000039a0]{WAIT_RLL_RTP_RELEASED}: (type=TCH_F) Still active SAPIs: 0
20181128203727052 DCHAN osmo-bsc/lchan_fsm.c:1011 lchan(0-0-6-TCH_F_PDCH-0)[0x6120000039a0]{WAIT_RLL_RTP_RELEASED}: state_chg to WAIT_BEFORE_RF_RELEASE
20181128203727052 DRSL osmo-bsc/abis_rsl.c:633 (bts=0,trx=0,ts=6,ss=0) DEACTivate SACCH CMD
20181128203727052 DCHAN osmo-bsc/lchan_fsm.c:986 lchan(0-0-6-TCH_F_PDCH-0)[0x6120000039a0]{WAIT_BEFORE_RF_RELEASE}: transition to state WAIT_BEFORE_RF_RELEASE not permitted!

Change-Id: I5d95bbd8244cc8e9c1cfb6fe0f76148332386a3d
2018-12-05 16:06:47 +00:00
Pau Espin bbbc12148a bsc: timeslot_fsm: Handle and ignore tear down of lchan during PDCH DEACT
lchan sends TS_EV_LCHAN_UNUSED to its parent (ts) during release time. It
was experimentally found that it can happen that an lchan can be terminated
while waiting for a PDCH DEACT (N)ACK response.

The fsm definition actually states that this event can be received in
state TS_ST_WAIT_PDCH_DEACT, but it was not handled before and as a result the
process aborted due to the default switch case.

Change-Id: If61493e7d5449bf2c2de9fd34cdf2410625e92ac
2018-12-05 16:06:47 +00:00
Pau Espin 35b979cc0c bsc: lchan_fsm: Add missing transition WAIT_TS_READY->WAIT_RLL_RTP_RELEASED
20181128193707326 DCHAN osmo-bsc/lchan_rtp_fsm.c:193 lchan_rtp(0-0-6-TCH_F_PDCH-0)[0x612000002320]{WAIT_MGW_ENDPOINT_AVAILABLE}: Freeing instance
20181128193707327 DCHAN fsm.c:381 lchan_rtp(0-0-6-TCH_F_PDCH-0)[0x612000002320]{WAIT_MGW_ENDPOINT_AVAILABLE}: Deallocated
20181128193707327 DCHAN osmo-bsc/lchan_rtp_fsm.c:193 lchan(0-0-6-TCH_F_PDCH-0)[0x6120000039a0]{WAIT_TS_READY}: Received Event LCHAN_EV_RTP_RELEASED
20181128193707330 DCHAN osmo-bsc/lchan_fsm.c:1347 lchan(0-0-6-TCH_F_PDCH-0)[0x6120000039a0]{WAIT_TS_READY}: transition to state WAIT_RLL_RTP_RELEASED not permitted!

Change-Id: I43aab5ed8ac369869b191b3b7c938ce4985ab849
2018-12-05 16:06:47 +00:00
Pau Espin 96058f69fb bsc: lchan_rtp_fsm: Avoid duplicate LCHAN_EV_RTP_RELEASED event
When lchan_rtp_fsm instance is allcoated with
osmo_fsm_inst_alloc_child(..., LCHAN_EV_RTP_RELEASED) we already let fsm
code to take care of sending that event ito the parent when the fsm is
terminated (but only if freeing cause is not OSMO_FSM_TERM_PARENT).
The lchan_rtp_fsm cleanup() callback, which is called immediatelly before
sending to the parent the event defined during osmo_gsm_install_alloc_child(),
currently also sends that same event, which ends up in a duplicated
event being sent as shown in log files below.
Let's only send the event in cleanup() if we are in the
cause=OSMO_FSM_TERM_PARENT scenario, to make sure parent always receives the
event, but only once.

20181128193707326 DAS osmo-bsc/assignment_fsm.c:127 assignment(conn4_0-0-6-TCH_F_PDCHasPDCH-0)[0x6120000024a0]{WAIT_LCHAN_ACTIVE}: (bts=0,trx=0,ts=6,ss=0) Assignment failed
20181128193707326 DAS osmo-bsc/assignment_fsm.c:128 assignment(conn4_0-0-6-TCH_F_PDCHasPDCH-0)[0x6120000024a0]{WAIT_LCHAN_ACTIVE}: Terminating (cause = OSMO_FSM_TERM_ERROR)
20181128193707326 DAS osmo-bsc/assignment_fsm.c:128 assignment(conn4_0-0-6-TCH_F_PDCHasPDCH-0)[0x6120000024a0]{WAIT_LCHAN_ACTIVE}: Removing from parent SUBSCR_CONN(conn4)[0x612000002920]
20181128193707326 DCHAN osmo-bsc/lchan_fsm.c:1333 lchan_rtp(0-0-6-TCH_F_PDCH-0)[0x612000002320]{WAIT_MGW_ENDPOINT_AVAILABLE}: Received Event LCHAN_RTP_EV_ROLLBACK
20181128193707326 DCHAN osmo-bsc/lchan_rtp_fsm.c:193 lchan_rtp(0-0-6-TCH_F_PDCH-0)[0x612000002320]{WAIT_MGW_ENDPOINT_AVAILABLE}: Terminating (cause = OSMO_FSM_TERM_REQUEST)
20181128193707326 DCHAN osmo-bsc/lchan_rtp_fsm.c:193 lchan_rtp(0-0-6-TCH_F_PDCH-0)[0x612000002320]{WAIT_MGW_ENDPOINT_AVAILABLE}: Removing from parent lchan(0-0-6-TCH_F_PDCH-0)[0x6120000039a0]
20181128193707326 DRSL osmo-bsc/mgw_endpoint_fsm.c:441 mgw-endpoint(conn4)[0x6120000021a0]{WAIT_MGW_RESPONSE}: (rtpbridge/*@mgw) CI[0] to-BTS: DLCX :0: notify=NULL
20181128193707326 DRSL osmo-bsc/mgw_endpoint_fsm.c:482 mgw-endpoint(conn4)[0x6120000021a0]{WAIT_MGW_RESPONSE}: (rtpbridge/*@mgw) CI[0] to-BTS: DLCX :0: Scheduling
20181128193707326 DCHAN osmo-bsc/lchan_rtp_fsm.c:742 lchan(0-0-6-TCH_F_PDCH-0)[0x6120000039a0]{WAIT_TS_READY}: Received Event LCHAN_EV_RTP_RELEASED
20181128193707326 DCHAN osmo-bsc/lchan_rtp_fsm.c:193 lchan_rtp(0-0-6-TCH_F_PDCH-0)[0x612000002320]{WAIT_MGW_ENDPOINT_AVAILABLE}: Freeing instance
20181128193707327 DCHAN fsm.c:381 lchan_rtp(0-0-6-TCH_F_PDCH-0)[0x612000002320]{WAIT_MGW_ENDPOINT_AVAILABLE}: Deallocated
20181128193707327 DCHAN osmo-bsc/lchan_rtp_fsm.c:193 lchan(0-0-6-TCH_F_PDCH-0)[0x6120000039a0]{WAIT_TS_READY}: Received Event LCHAN_EV_RTP_RELEASED
20181128193707330 DCHAN osmo-bsc/lchan_fsm.c:1347 lchan(0-0-6-TCH_F_PDCH-0)[0x6120000039a0]{WAIT_TS_READY}: transition to state WAIT_RLL_RTP_RELEASED not permitted!
20181128193707330 DAS osmo-bsc/assignment_fsm.c:128 assignment(conn4_0-0-6-TCH_F_PDCHasPDCH-0)[0x6120000024a0]{WAIT_LCHAN_ACTIVE}: Freeing instance
20181128193707330 DAS fsm.c:381 assignment(conn4_0-0-6-TCH_F_PDCHasPDCH-0)[0x6120000024a0]{WAIT_LCHAN_ACTIVE}: Deallocated

Change-Id: I3e95a21e5a5ec6c35b1ab20b7a642fd7eb81e556
2018-12-05 16:06:47 +00:00
Pau Espin ba4f66a31d bsc: timeslot_fsm: Fix count in ts_lchans_waiting
Before this patch, TCH lchans waiting for dynamic TS to
switch PDCH->TCH wouldn't be counted.

See osmo-bsc I9cedb77d6578597f1febab36c54b2ee427c7a4a2 for similar
extensive explanation.

Change-Id: I32008859cc23cd2afddd79daae21497d0945fed0
2018-12-05 16:06:47 +00:00
Pau Espin 4b856a5030 bsc: timeslot_fsm: Fix possible skip of some lchans in ts_terminate_lchan_fsms
If TS is in state changing from PDCH->TCH, the TCH lchan provoking the
switch would be skipped and not terminated before this patch.

See osmo-bsc I9cedb77d6578597f1febab36c54b2ee427c7a4a2 for similar
extensive explanation.

Change-Id: I9dc2a6e5b15376d049bd2ac5ddfa24340771b5c8
2018-12-05 16:06:47 +00:00
Pau Espin 674bcd53d0 bsc: ts_is_pchan_switching: Return correct IPA dyn TS target_pchan
Change-Id: Ie438b4efaa9832c44009a92c3df698875f1fa9ae
2018-12-05 16:06:47 +00:00
Pau Espin 3df6356555 bsc: timeslot_fsm: Fix ts_is_lchan_waiting_for_pchan
If ts_is_lchan_waiting_for_pchan() wasn't accounting for TCH lchans
waiting for TS to deactive PDCH in order to setup the TS as TCH.

Since now TCH lchan is catched by ts_is_lchan_waiting_for_pchan() when
TS state is TS_ST_WAIT_PDCH_DEACT, there's no need to check for that
case in caller ts_is_pchan_switching(), since it will never hit because
the callee returns true in that case now.

See osmo-bsc I9cedb77d6578597f1febab36c54b2ee427c7a4a2 for similar
extensive explanation.

Change-Id: Ib03e5a91438a5b74a04e69f81fab565842b02b66
2018-12-05 16:06:47 +00:00
Pau Espin 0502a0ee1b bsc: timelost_fsm: Remove unneeded set of out variable on failure
Documentation of the function explicitly states that the out
target_pchan param returns the "PCHAN waited for". If we return false,
then no PCHAN is being waited for. The 2 callers of this function only
use this out param if function returns true, so let's simplify the code.

Change-Id: Ib8f9b7e1f584dee885d6823dc043682577572bd8
2018-12-05 16:06:47 +00:00
Pau Espin 746dbc9fdd bsc: Fix lchan iteration for dyn TS during PDCH Deact
In general PDCH channels are not handled as lchans in BSC (lchan_fsm.c),
and so when a TS is in ts->pchan_is=GSM_PCHAN_PDCH, no lchan slot is
being used.

However, during Dynamic TS PDCH Deactivation being in progress (state
WAIT_PDCH_DEACT in timeslot_fsm.c), ts->pchan_is =GSM_PCHAN_PDCH, but
an lchan slot of that TS is actually already being used by a TCH lchan:
it's the one who initiated the deactivate in order to be able to use the TS.

While being in WAIT_PDCH_DEACT state and receiving a PDCH DEACT NACK,
ts_fsm_error() was called in order to kill the TS and it was expected
that it would kill any lchan using it (or willing to start using it). In
order to do that, it calls ts_lchans_dispatch() which in turns iterates
over all lchans attached to the TS using ts_for_each_lchan().

However, when the NACK arrived we still had ts->pchan_is=GSM_PCHAN_PDCH,
ts_for_each_lchan ends up calling
ts_as_pchan_for_each_lchan(GSM_PCHAN_PDCH), which in turns calls
pchan_subslots(GSM_PCHAN_PDCH) which returns 0, because we don't manage
lchans in that mode as explained in first paragraph. This means in this
case ts_for_each_lchan() is actually an empty loop while still any of
the TCH channels may be in use, and won't be advertised about the TS
entering in a broken state.

As a result, the lchan won't be released for a while, only after T23001
expires.

Related: OS#3708
Change-Id: I9cedb77d6578597f1febab36c54b2ee427c7a4a2
2018-12-05 16:06:47 +00:00
Pau Espin 0ba20df9ee bsc: Add define for ts_as_pchan_for_each_lchan with ts->pchan_on_init
It will be used further in follow-up patches. It also provides a place
to document its (intricate) logic around it and its possible uses.

Change-Id: Ia1d4bdbfca6b9719f54ee609b6bfadf7f3a4bb43
2018-12-05 16:06:47 +00:00
Oliver Smith ab9a259cd2 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 the file.

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: Ief6ce94013612a968183e82abef421f116ed37c3
2018-12-05 13:09:11 +01:00
Oliver Smith b871da977b 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: I38bd2bffa24c5b970aa4a42dcfc8d8766bb96046
2018-12-04 15:35:32 +01:00
Vadim Yanitskiy 0620b37189 osmo_bsc_bssap.c: fix incorrect link_id assignment
Every DTAP message coming from the MSC has a header (see struct
dtap_header) that contains message type, length, and link ID.
The link ID indicates SAPI and channel type of a given message.

In dtap_rcvmsg() we allocate a new message buffer and copy the
received message into it. The old message buffer is freed by
the caller then.

The link ID value parsed from DTAP header is usually being stored
in the control buffer of a message buffer (i.e. msgb->cb). Due to
a mistake, it was stored in the old (to be freed) message, while
the new (to be forwarded) message always had link_id = 0x00!

This change resolves the problem with sending SMS during a voice
call, when MT signalling goes through FACCH, while MO signalling
goes through SACCH.

Change-Id: I7675e1ce4436fad836778261ac9d446fa8f81483
Related: OS#3716
2018-12-01 22:06:40 +07:00
Neels Hofmeyr 24482ad4e2 follow-up: logging tweak for Immediate Assignment
follow-up to I9ad094d272254d7aee9b0a676201d4ed8cd727ca because it was merged
before fixeria's code review could be incorporated.

Change-Id: I474cf1a58d1f00ec5b0ae52bd095a60aad763975
2018-11-30 19:33:27 +01:00
Pau Espin 7ae0f9c271 bsc: ts_for_each_lchan: Improve documentation
Change-Id: Id7c050087c14aae3f01c6d41d21cf861ff53621c
2018-11-29 15:39:02 +00:00
Pau Espin d3e8e0cf4c bsc: ts_as_pchan_for_each_lchan: reorder and improve documentation
It is moved prior to its user in the header file.

Change-Id: I59f52401ba37b351ba3848e8e9ffb3b24c259496
2018-11-29 15:39:02 +00:00
Pau Espin d69b580b24 bsc: lchan_select: Avoid returning a TCH/H lchan when TCH/F is requested
If BTS is configured to have only TCH/F_PDCH and TCH/H and a call is
resolved to require TCH/F, don't return the TCH/H which have no use, but
instead let it allocate the TCH/F_PDCH.

20181128185013783 DRLL <0000> lchan_select.c:159 (bts=0) lchan_select_by_type(TCH_F)
20181128185013783 DRLL <0000> lchan_select.c:71 looking for lchan TCH/F: (bts=0,trx=0,ts=0,pchan=CCCH+SDCCH4,state=IN_USE) is != TCH/F
20181128185013783 DRLL <0000> lchan_select.c:71 looking for lchan TCH/F: (bts=0,trx=0,ts=1,pchan=SDCCH8,state=UNUSED) is != TCH/F
20181128185013783 DRLL <0000> lchan_select.c:71 looking for lchan TCH/F: (bts=0,trx=0,ts=2,pchan=TCH/H,state=UNUSED) is != TCH/F
20181128185013783 DRLL <0000> lchan_select.c:71 looking for lchan TCH/F: (bts=0,trx=0,ts=3,pchan=TCH/H,state=UNUSED) is != TCH/F
20181128185013783 DRLL <0000> lchan_select.c:71 looking for lchan TCH/F: (bts=0,trx=0,ts=4,pchan=TCH/H,state=UNUSED) is != TCH/F
20181128185013783 DRLL <0000> lchan_select.c:71 looking for lchan TCH/F: (bts=0,trx=0,ts=5,pchan=TCH/H,state=UNUSED) is != TCH/F
20181128185013783 DRLL <0000> lchan_select.c:71 looking for lchan TCH/F: (bts=0,trx=0,ts=6,pchan_on_init=TCH/F_PDCH,pchan=PDCH,state=PDCH) is != TCH/F
20181128185013784 DRLL <0000> lchan_select.c:71 looking for lchan TCH/F: (bts=0,trx=0,ts=7,pchan_on_init=TCH/F_PDCH,pchan=PDCH,state=PDCH) is != TCH/F
20181128185013784 DRLL <0000> lchan_select.c:71 looking for lchan TCH/H: (bts=0,trx=0,ts=0,pchan=CCCH+SDCCH4,state=IN_USE) is != TCH/H
20181128185013784 DRLL <0000> lchan_select.c:71 looking for lchan TCH/H: (bts=0,trx=0,ts=1,pchan=SDCCH8,state=UNUSED) is != TCH/H
20181128185013784 DRLL <0000> lchan_select.c:86 looking for lchan TCH/H: (bts=0,trx=0,ts=2,pchan=TCH/H,state=UNUSED) ss=0 is available
20181128185013784 DCHAN <0010> lchan_select.c:253 lchan(0-0-2-TCH_H-0)[0x6120000066a0]{UNUSED}: (type=TCH_H) Selected

Change-Id: I9a73beb0432fab16d5430e5b40d470694e09b189
2018-11-28 19:12:55 +01:00
Pau Espin 4933048d3f cosmetic: bsc: timeslot_fsm: Clean uneeded scope brackets
Change-Id: I5140f98e23b8c8d16ce0cca0be66297aaf0b5653
2018-11-28 11:51:07 +00:00
Oliver Smith 686deafa48 build manuals included from osmo-gsm-manuals.git
Moved to doc/manuals/, with full commit history, in preceding merge commit.
Now incorporate in local 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: I92c0f771d4ffc2b0401d26e25cb0b3817e6f95ea
2018-11-27 17:33:29 +01:00
Neels Hofmeyr 5c55d4933d Merge history from osmo-gsm-manuals.git
Change-Id: I9ff481784ba8c6334b1e57b1f64dfc9262e6d0e2
2018-11-27 17:32:17 +01:00
Oliver Smith 27683cbe13 copy NITB's osmobsc-usermanual.adoc to OsmoBSC
Includes from other projects don't work anymore when moving project
specific manuals into other repositories.

Related: OS#3385
Change-Id: I96933dd4dd6cac159847647f1c642215051a9aad
2018-11-27 17:12:40 +01:00
Neels Hofmeyr 39e1215cbc OsmoBSC: update VTY reference
Re-generate bsc_vty_reference.xml from osmo-bsc, including updates to:
- handover and neighbor config
- SCCP timers
- logging

Change-Id: Ia9ba8d5eba531b1156de57573ab42517e0c1ca15
2018-11-27 17:12:40 +01:00
Daniel Willmann 5397326b40 OsmoBSC/HLR/MSC: Fix default config file name
Mention that the default is not openbsc.cfg, but osmo-*.cfg

Change-Id: I139e6004e28d6f918f31792e634214a6153edd0e
2018-11-27 17:12:40 +01:00
Neels Hofmeyr c3d839390a author info: add "former" to Holger's job title
It doesn't seem to have an effect on the generated PDFs though.

Change-Id: I0556a3f8dafc051f20a3854fc9006edf4ec1a0d3
2018-11-27 17:12:40 +01:00
Neels Hofmeyr aa4a3e7259 bsc: handover: mention the need to resend SI for telnet neighbor cfg
Change-Id: I305ef558b75697015e2532aa7c135f7995662e0d
2018-11-27 17:12:40 +01:00
Neels Hofmeyr 4875848853 bsc: handover: clarify default of all-cells-are-neighbors
Change-Id: I61f877c7a60419132bdd27c1b4e64150c0520751
2018-11-27 17:12:40 +01:00
Neels Hofmeyr 8c14a942d2 bsc: document handover
Add chapter "Handover", explaining:
- intra- and
- inter-BSC handover,
- HO algorithm 1 and
- algorithm 2
- new neighbor configuration

Adjust copyright, add revision and add me as author.

Change-Id: I7afb3f66c98abda07fc8acc76e00c46091fe55e2
2018-11-27 17:12:40 +01:00
Harald Welte 8a357681d2 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:12:40 +01:00
Neels Hofmeyr 9f157571ad OsmoBSC: update VTY reference
This is the first update since the libosmocore changes to the 'show
online-help' generated output. Hence the produced document now benefits from
the structural improvements:
- not repeating common commands for every node;
- using section names that match the VTY prompt.

Update bsc_vty_additions.xml to match the new node ID scheme.

Change-Id: I0d856563eee88527fda4c6940aa6cea779175aaa
2018-11-27 17:12:40 +01:00
Harald Welte 3a6ad2a2a2 add message sequence chart MS/BTS/BSC/MSC for 3GPP aoIP MO call
Change-Id: I7e41234cfe1483bb73589dc959851a54f9aafa36
2018-11-27 17:12:40 +01:00
Neels Hofmeyr d22e31fc9b common / OsmoBSC: drop unused alink.adoc
Change-Id: Ia3219359be891c161d20eccb7bbcb65af35ef42b
2018-11-27 17:12:40 +01:00
Neels Hofmeyr 9d0e3a7f2d OsmoBSC: update overview to explain both SCCPlite and SCCP/M3UA
Change-Id: I1f105b3febd4f99f4491e217ff1b1d0b28912980
2018-11-27 17:12:40 +01:00
Alexander Couzens b4045a0c69 OsmoBSC: add rate counter documentation
Change-Id: Ia8711dd4bc9db36a7121552dc067c7afb1051b0a
2018-11-27 17:12:40 +01:00
Max cef1d72ba8 OsmoBSC: update CTRL docs
* use proper naming scheme for BTS-specific CTRL commands
* add/update oml-* commands

Change-Id: I5b2cd940b4d84c140fce871f236aeab091b27360
Related: OS#2486
2018-11-27 17:12:40 +01:00
Neels Hofmeyr ea9a44dade 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:12:40 +01:00
Pau Espin 88faeefdc9 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:12:40 +01:00
Harald Welte f77da129a8 MGW: Include MGCP endpoint naming scheme of old IPA/SCCPlite approach
Change-Id: Ib1fe96f0041534fa027b70ee67978cb7c6bc5207
2018-11-27 17:12:40 +01:00
Harald Welte d9400a977f mgw: Fix endpoint names for new MGW
According to RFC3435, an RTP bridge forrwarding packets, transcoding
or otherwise, is a single endpoint with two connections.  Let's treat
it as such.  We introduce the "rtpbridge/" prefix to identify such
special RTP endpoints.

Change-Id: Id1f079307225faf05d298dcb12aa1c421bfa680a
2018-11-27 17:12:40 +01:00
Pau Espin 1293ee10ba osmux: Fix description for Dummy frames FT field
Change-Id: Ia421655bd1be45101da3db2a0af44fbb3cc111c1
2018-11-27 17:12:40 +01:00
Pau Espin 9980b4aa1c osmux-reference-docinfo: Add latest changes to revhistory
Change-Id: I01e513a71a3f830d393c57c43678d7e4c8d2d151
2018-11-27 17:12:40 +01:00
Pau Espin 53ce68f977 osmux-reference: Add traffic saving plot
Change-Id: I8fa60c1f95436c39fd1ff9424a907876d367484e
2018-11-27 17:12:40 +01:00
Pau Espin 1ce6c62914 osmux-reference: Add sequence charts
Change-Id: Ic2c63e4d9e67b877dc06a206ec7f07d0704329a5
2018-11-27 17:12:40 +01:00
Pau Espin ac70cf9658 osmux-reference: Use packetdiag to draw packet header structures
Change-Id: Id75152278f41d56b7bd2e652b9947e33d6523c64
2018-11-27 17:12:40 +01:00
Harald Welte f1d4251461 BSC: Add series of message sequence charts about MGCP handling
Change-Id: Id5948677d23a58ce112b57f91bea953a93baab4c
2018-11-27 17:12:40 +01:00
Harald Welte b75422f9d4 Add chapter on Cell Broadcast Support in Osmocom (to BSC+NITB manual)
Change-Id: I2c621def499dc0564d31eb9440e22e79948a5466
2018-11-27 17:12:40 +01:00
Pau Espin b120272f86 Add osmux-reference document
Change-Id: I4d19df98af84560c147a637bc42ebe570bb280aa
2018-11-27 17:12:40 +01:00
Ivaylo Kostov 931ec5a5b6 BSC,BTS: add diagrams of PCU-BTS-NITB-SGSN relationships
Change-Id: I0eb09706efb768fa4f6810872fb6568cbc9838cb
2018-11-27 17:12:40 +01:00