Age | Commit message (Collapse) | Author | Files | Lines |
|
Also remove related cruft: .gitignore, msc-README and adjust an in-code
comment that referenced dyn_pdch.msc.
Change-Id: Ie41a453bb5070c1f18793f646dc053a978f43fba
|
|
Change-Id: I6b833b21d2bbbd45dfed6a094a674359762d02b7
Related: OS#1545
|
|
When receiving an OPSTART for the BTS object, also set the availability state
to OK.
Before, the availability would remain at NM_AVSTATE_DEPENDENCY, which caused an
unfortunate chain reaction resulting in osmo-bts-trx going through the
initialization sequence twice:
BTS BSC
|<-----| SITE_MANAGER OPSTART
n |----->| BTS state change: OPSTATE_DISABLED, AVSTATE_DEPENDENCY
o | | This signals to nm_statechg_event() in bts_ipaccess_nanobts.c
r | | to (a) Set BTS Attributes and (b) send BTS OPSTART
m |<-----| Set BTS Attributes (a)
a | | When osmo-bts-trx receives a Set BTS Attributes, it sends
l |----->| CHANNEL state change: OPSTATE_DISABLED x8
| | This signals the BSC to Set CHANNEL Attributes and OPSTART
i |<-----| Set CHANNEL Attributes x8
n |<-----| CHANNEL OPSTART x8
i |----->| CHANNEL state change: OPSTATE_ENABLED, AVSTATE_OK x8
t | |
|<-----| BTS OPSTART (b)
| | osmo-bts-trx immediately replies with:
|----->| BTS state change: OPSTATE_ENABLED, AVSTATE_DEPENDENCY
| | Unfortunately, availability is left at DEPENDENCY,
| | and the NM_OC_BTS case in nm_statechg_event() only
| | checks for availability, not for the opstate.
| | Hence nm_statechg_event() again feels inclined to
| | to (a) Set BTS Attributes and (b) send BTS OPSTART,
| |
--+------+----- This is where the second round starts
| |
s |<-----| Set BTS Attributes (a)
e | | When osmo-bts-trx receives a Set BTS Attributes, it sends
c |----->| CHANNEL state change: OPSTATE_DISABLED x8
o | | All channels are disabled again, and then re-launched:
n |<-----| Set CHANNEL Attributes x8
d |<-----| CHANNEL OPSTART x8
|----->| CHANNEL state change: OPSTATE_ENABLED, AVSTATE_OK x8
| |
i |<-----| BTS OPSTART (b)
n | | osmo-bts-trx again sets the OPSTATE_ENABLED, but since
i | | this time it was already enabled, no further state change
t | | is sent back to the BSC.
This nightmare pivots on two hinges:
1. osmo-bts-trx fails to set BTS availability to AVSTATE_OK.
2. nm_statechg_event() fails to heed the OPSTATE_ENABLED of the BTS state
change.
Note, the configured channels from the first round were not actually taken
down, only the OML OPSTATE_DISABLED were sent.
In this commit, fix the osmo-bts-trx side: send AVSTATE_OK for the BTS object
upon sending OPSTATE_ENABLED, so that only the part marked "normal init" above
is run.
This change applies the same fix to other OML objects, which should make sense
in the same manner, within the current hackish OML implementation:
* NM_OC_BTS
* NM_OC_SITE_MANAGER
* NM_OC_BASEB_TRANSC
* NM_OC_GPRS_NSE
* NM_OC_GPRS_CELL
* NM_OC_GPRS_NSVC
This means that the NM_OC_CHANNEL case just above is identical, and thus
collapse NM_OC_CHANNEL onto the other cases. Drop the comments from
NM_OC_CHANNEL since they merely rephrase the commands themselves.
See OS#1770 for BTS and NITB logs.
Fixes: OS#1770
Change-Id: I08aa861f6100568c79750f4fbc9a32e1557b9304
|
|
Many erratic PDTCH blocks are expected. To not bloat the log,
notifications for this should be on debug level.
See http://lists.osmocom.org/pipermail/openbsc/2016-June/009457.html
(Thu, 30 Jun 2016 01:49:33 +0300 / Alexander Chemeris
<alexander.chemeris@gmail.com> / Re: GPRS on osmo-trx not working)
Change-Id: Ie318248aa2b8de455174e72a63c602c7aeae312c
|
|
Many erratic bursts are expected. To not bloat the log, notifications for this
should be on debug level.
See http://lists.osmocom.org/pipermail/openbsc/2016-July/009482.html
(Tue, 5 Jul 2016 15:38:27 -0700 / Tom Tsou <tom@tsou.cc>
/ Re: osmo-bts-trx error logs -- was: GPRS on osmo-trx not working)
Change-Id: If591c087ba8fd48564139e32930050ee8ab07001
|
|
Change-Id: Iea62bd98954d0219ba597613cea6db63f7a6b396
|
|
Correct the too short padding I introduced in the commit
a55b166c6c7af79cbefe8e65fe77b2d61c634d2d. The result needs to
be 121 and not 120. Add static asserts to make sure it does
not happen again.
Change-Id: I3da7f3b8d3c8e12deb8b805cd15ff52a103d4e56
|
|
Change-Id: Ia70519c8f10d55084b53acb68e57debc70549246
|
|
Back in January in commit 634c3e46484a0932f8a04b894be215b9288eecff we
changed the executable name from 'sysmobts' to 'osmo-bts-sysmo', which
is a change that has not been propagated to the contributed screenrc and
systemd init files.
Change-Id: I875a0ce4f470226e1b06ed1b7c74ca9471ebb574
|
|
* detect SID and set RTP Marker accordingly (emulate ONSET events)
* set proper FN in TCH_IND
* detect speech pause and do not send dummy 'bad' frames during that
time
Change-Id: Id518e5c667df7773c281effb9e75b66bf898f6fc
Related: OS#1750
|
|
Those functions are now part of libosmocore.
Change-Id: Iab3206e3b41caff23f656a727605032df9798953
|
|
Abstract code for checking/setting lchan's UL SID flag and RTP Marker
into generic function and use it for LC15 and sysmoBTS.
Change-Id: Ica5392e92bab29164711163e7b01adb174272883
Related: OS#1750
|
|
* Remove static qualifier
* Remove duplicated code - use generic function instead
Change-Id: I37a312648771f58d3087471083cfcebbd97ccf1d
|
|
Change-Id: Iea6bc47182d021523285aea8d3f6a93ee4eec0eb
|
|
Change-Id: I4d5d11dd89449e4c9315f963576265bccad7e68c
|
|
The file calls bts_model_* API which was yet undeclared.
Change-Id: Ib6b30d125906c3abae518fb76da3a158885e3354
|
|
The cfg_trx_nominal_power_cmd added 12 days ago in
58e4e18206501c3bffa65f0b876bbc5ebe175d6e was floating.
Actually add it to the TRX_NODE.
Change-Id: I89d638b2e2bb1fb9baeabe566035ff171f4bfad0
|
|
The function would currently only be called in cases where one of the if
branches catches on, but for safety's and clarity's sake, don't ts_connect
using as_pchan if no reconnect is pending.
Change-Id: I52c34065254e902bb80662fc04540901b36cb4c3
|
|
Analogous to 63b296bdd9a25134ee61ce6f269750e796a8bfca on osmo-bts-sysmo.
Implement bts_model_ts_disconnect() by sending an MphDisconnect message to L1.
Pass a disconnect callback to invoke dyn_pdch_ts_disconnected() in
common/rsl.c.
Implement bts_model_ts_connect() by calling ts_connect_as(). Pass a connect cb
to invoke dyn_pdch_connected() in common/rsl.c.
Change-Id: I8c8c3244c726fd6055cedb22ee11706994ff9cd4
|
|
Analogous to 57fc1124e1649fa2b08ef143697689aca4677625 on osmo-bts-sysmo.
Change-Id: If65c5a86cbc1b5556b71de8a6744d92113fbbcba
|
|
Analogous to 294fbe104b9fb12f06f7cebe68a4b7a6ed28d5ef on osmo-bts-sysmo.
For upcoming dyn PDCH switching, I want to be able to set the pchan dynamically
upon ts_connect() and not continue with OPSTART ACK, but with the dyn PDCH.
Thus recoin ts_connect(ts) to ts_connect_as(ts, pchan, cb) and leave
ts_connect() as a thin wrapper to leave init code unchanged.
Change-Id: I7a27193168f83e8c40b6e54d1842f4502d0475e5
|
|
Analogous to 0d10f0e482cdd50acc916e75a8b3ba1beb94227c on osmo-bts-sysmo.
According to the PDCH Active flag, handle a TS as TCH/F or PDCH.
Change-Id: I0c97b360136f76bdae8d70d06af9a31fdf75c1ba
|
|
Analogous to 7158c2ed082eaca6063a501e490e8d3c3b181560 in osmo-bts-sysmo.
Place a layer 3 handle into GSM L1 messages to better match up confirmations to
respective requests. This handle is a uint32_t transparently returned in the
confirmation messages, so a match-up is easy to add.
So far, a GSM L1 confirmation message received for a preceding L1 Request was
matched only by the prim_id. That meant that only one instance of the same
primitive could be waiting for a confirmation at any given time, or the
responses would get mixed up: the struct wait_l1_conf instances entered into
the fl1h->wlc_list queue would be returned to a possibly mismatching
confirmation handler. (Seen during testing of dyn pdch switching.)
Send the hLayer3 handle out via prim_init(), using new static functions to
produce handles on different scopes:
* l1p_handle_for_trx()
* l1p_handle_for_ts()
* l1p_handle_for_lchan()
(These could possibly move to a more general .h/.c file later.)
Remember the hLayer3 handle in
* struct wait_l1_conf.
Match the incoming confirmations' and stored hLayer3 handles up in, and remove
a now obsolete comment from:
* is_prim_compat()
Since the hLayer3 members are at different byte offsets in
GsmL1_Prim_t.u.*, use large switch statements to set/get the value:
* In prim_init(), extend existing switch statement to set in GsmL1_Prim_t.
* Add l1p_get_hLayer3() to retrieve from GsmL1_Prim_t (could possibly move to a
more general .h/.c file later).
Note that some messages are already using the hLayer3 handle, and will
overwrite it after calling prim_init(), so those are not affected.
Change-Id: I17f95ba744c3e944a2241809106506f8dd1b24f0
|
|
When switching to the gsm_chan_t_names string list from libosmogsm,
libosmogsm actually became a dependency of the local libbts.a.
The breaking change is in openbsc.git 29048b2a80b5865ffc41fa4401113c5826227e23
and came in here because gsm_data_shared.h is included from openbsc.
Change-Id: I70e5735fc2a212305182d46a7e8485d0199ade7b
|
|
Change-Id: I3c7be592f4cbdd553f07c4a7084478706a7bd644
Related: OS#1648
|
|
Change-Id: I0aa695c42a4399828fb8e9c08c905870175b7149
|
|
Switch to using libosmocodec functions as a preparation step for DTX
support as they expose necessary bits.
Change-Id: Ie7423032fd06779d78876182ee63538d98906328
Related: OS#1750
|
|
Related: OS#1750
Change-Id: Ic4342eaf7e32a0e9a5f2b16dd196a1f5f03152a9
|
|
Change-Id: Id744b67904011eb328b24c46a645b3eb53525c04
Fixes: OS#1562
|
|
A whitespace error is fixed along the way.
Change-Id: Iff373ba934937435a175ed3a5d9cfb6f2514735d
|
|
Change-Id: Id20f61ef535f4ea049da6579e41eb98f31238d23
|
|
Change-Id: I95e4331f51f650d5077eb3a8f897f754d5d2b779
|
|
Implement bts_model_ts_disconnect() by sending an MphDisconnect message to L1.
Pass a disconnect callback to invoke dyn_pdch_ts_disconnected() in
common/rsl.c.
Implement bts_model_ts_connect() by calling ts_connect_as(). Pass a connect cb
to invoke dyn_pdch_connected() in common/rsl.c.
Change-Id: I61709fdf6b093689a6d3a046f67db6d02f1296ae
|
|
Change-Id: Ic62921e17c55aeb26235b70a8325d6fea1716cef
|
|
For upcoming dyn PDCH switching, I want to be able to set the pchan dynamically
upon ts_connect() and not continue with OPSTART ACK, but with the dyn PDCH.
Thus recoin ts_connect(ts) to ts_connect_as(ts, pchan, cb) and leave
ts_connect() as a thin wrapper to leave init code unchanged.
Change-Id: I09cc794cb424e17411e608c65f2b68e2f2544e07
|
|
React on IPAC PDCH ACT and DEACT messages and invoke the PCU and bts_model_ts_*
APIs to effect switchover. The dyn PDCH interaction is described in the comment
to rsl_rx_dyn_pdch(), the main entry point for PDCH switchover.
In case the bts_model_ts_* are not implemented (or return other errors),
reply with an IPAC PDCH ACT/DEACT NACK.
Add callbacks that mark steps in the PDCH switchover process,
dyn_pdch_ts_disconnected(), dyn_pdch_ts_connected() and dyn_pdch_complete().
Add hooks in l1sap.c on channel activation and release confirmation, to call
dyn PDCH callbacks.
BTS dyn PDCH implementations should invoke dyn_pdch_ts_disconnected() and
dyn_pdch_ts_connected() when bts_model_ts_disconnect() or
bts_model_ts_connect() are called, respectively. (upcoming for sysmoBTS)
Change-Id: Id2f5f77121a65d6c14eac127b3d4fb50e97a77ab
|
|
According to the PDCH Active flag, handle a TS as TCH/F or PDCH.
Change-Id: I06ca26a99f052c6a2ae953fe355fd1196f66e501
|
|
Introduce a static function to encapsulate the decision whether a TS is
used for PDCH. Depending on the ts->flags, handle a TCH/F_PDCH TS exactly like
a standard PDCH TS.
Change-Id: Ic72fd06ecc99609823efa3edcf773007cc514b5b
|
|
Depending on the PDCH active flag, handle a TCH/F_PDCH like TCH/F or PDCH.
Change-Id: Ifc5561f8e2db172bb692ba26bdeae2fd675d6ec5
|
|
Enhance bts_model_ API in preparation of dyn PDCH switching. These will be used
to re-connect a TCH/F_PDCH TS in a different mode: either as TCH/F or as PDCH.
All implementations so far return -ENOTSUP, and thus will cause a IPAC PDCH ACT
or DEACT *NACK* to be sent to the BSC as soon as these messages are handled.
Also add stubs in tests.
Change-Id: I21e60c028a1333431c3ed000f788b654d1170b0d
|
|
Change-Id: Ie12eeff753e399b28a816893ac4d23e1cd391025
|
|
Change-Id: I7979e10551023c1f52f04b4e93ea1706cf0bef39
|
|
Change-Id: Id600c5a34ab261736f7595ab2e36e3a30d434175
|
|
Similar to other projects, add helper file for "git review"
command. More information:
https://www.mediawiki.org/wiki/Gerrit/git-review
Change-Id: If3406fafa5778e94ab53e858ddda4a4d55651879
|
|
Related: OS#1648
Change-Id: Icc7d15eceee8ee667fd6a29e758a38668c4946ef
|
|
This allows setting the 'sum' log level to debug in osmo-bts.cfg.
Change-Id: I1fe1a483f07f0384815f01877f86ffc192052f72
|
|
Adjust .gitignore for dyn_pdch.svg and .png.
Change-Id: I532f896b1b528c4d1764bb5042a7f42c3c60f617
|
|
It is cosmetic since the 'default:' case already caught TCH_F_PDCH, but it's
good to mention all expected pchans explicitly.
Change-Id: I5aef84209e46c9288f6adf0730178fe08f26764f
|
|
Before, only standard ABIS RSL message names were logged, add ip.access
specific ones.
The IPAC_PDCH_ACT and _DEACT msgs are received with an ABIS_RSL_MDISC_DED_CHAN
discriminator, and not with _MDISC_IPACCESS like the others. Thus rsl_rx_dchan()
should be able to log ip.access message types properly.
Change-Id: I9db6826b515bf565fc7ae24fc0760b60928cc89f
|
|
Change-Id: Id79585993df15362ba0e1271d03302597182ceff
|