path: root/openbsc/src/libbsc/abis_om2000.c
AgeCommit message (Collapse)AuthorFilesLines
2017-03-23abis_om2k: protect MO FSMs by NULL checkAlexander Couzens1-1/+17
Also set MO FSMs to NULL after freeing them. Change-Id: I30df0b9ab8bc47ba9756c8388e977deed0e40200
2017-03-23OM2000: Send ALTCRQ for SuperChannel after receiving IS Enable Req AckHarald Welte1-0/+4
When the BTS is configured to use a SuperChannel and it is using a unix domain socket based transport towards the L2TP daemon, then we must instruct the L2TP daemon to instruct the SIU to change the Abis Lower Transport Mode using the ALTCRQ / ALTCRP L2TP signalling. Change-Id: I672bfaa09c42fbeb0c8459f24b2222b952de954b
2017-03-15OM2000: Change the order of MO initializationHarald Welte1-22/+24
So far: CF-IS-CON-TF Now: CF-TF-CON-IS Change-Id: I8efd9bafdcf9504d2e5fc85c44c708fa53f4dff8
2017-03-13OM2000: Add FIXME comments for missing resolving of RX/TX MO!Harald Welte1-0/+2
Change-Id: I45708df724c5fc3316eca6bd2ac2c0738b19a45b
2017-02-01OM2000: use assoc_so *only* for TS objectsHarald Welte1-4/+4
all other objects always use the MO instance. The existing code likely is due to copy+paste mistakes. Change-Id: Ie0a31cd93993da10f31eecf530a5a05773c11eb1
2016-12-02abis_om2k: fix typo that declared non-existent struct gsm_bts_trx_sNeels Hofmeyr1-1/+1
The typo was recently committed in 80ccb952676cb4a068410991c5d53d19f228f695, "OM2000: Fix missing dynamic TCH initialization" Change-Id: I8e3eec8cf63494962fa31d85a0ec9db9a9e5df46
2016-11-16OM2000: Fix missing dynamic TCH initializationHarald Welte1-0/+12
When OM2000 has confirmed that a TS is started, call dyn_ts_init() on the timeslot to start the processing for fully dynamic (osmocom style) TCH/F_TCH/H_PDCH. This should in turn trigger the activation of idle timeslots as PDCH until we want to allocate any of them for TCH/F or TCH/H. Change-Id: I1a1fd61d6afd85449cacad4bacfb830252dab6b1
2016-11-16OM2000: Add three IEs to TCH activation about which we have no clueHarald Welte1-0/+4
Change-Id: Ie3067606033e894c558659ddf0025d01b8198cf9
2016-11-16OM2000: Fixup based on Coverity Scan suggestionPhilipp1-2/+2
This commit fixes Coverity Scan defect: CID 151901: Insecure data handling (TAINTED_SCALAR) Passing tainted variable "tag_len" to a tainted sink. Change-Id: Ic71ed6a3bbb228bc03e95bfc4a6f5fe09cf5a021
2016-11-13Support configuration of CON MO Groups/Paths from VTYHarald Welte1-11/+60
The code for supporting the configuration of the OM2000 CON (LAPD Concentrator) MO was so far incomplete and not used from the OM2000 FSM initialization. This patch adds * VTY commands for configuration of CON Groups and Paths * The FSM integration to actually configure the CON MO Change-Id: I56dc1b5e35adef3a2078bcf9536537eb0f454192
2016-11-10OM2000: disallow ip.access style TCH/F_PDCH pchan typeNeels Hofmeyr1-0/+9
For TCH/F_PDCH, return an invalid chan comb (0) and print an error message that hints at the proper pchan type to use instead: TCH/F_TCH/H_PDCH Change-Id: Ibe0f944573f0a6d1be4bf7cf4986c4b2b3bd6d0d
2016-11-10OM2000: for TS conf of dyn TS, always send TCH/F chan combNeels Hofmeyr1-5/+1
When OM2K sets up the timeslots with the BTS, the dynamic channel state is not yet resolved to any particular pchan type. Instead of using the dyn state, always advertise dynamic timeslots as pchan2comb(TCH/F). In the past, the Ericsson dynamic timeslots were handled as pchan type TCH/F_PDCH. This is a mistake, as this pchan type is intended for the ip.access dynamic PDCH way of dynamic channels. In any case, in the initial state of this pchan type, the timeslot was initialized as pchan2comb(TCH/F) because the ts->flags do not reflect an active PDCH yet. In short, this patch does not change the behavior of TCH/F_PDCH timeslots, only clarifies it. It would in fact make sense to disallow use of TCH/F_PDCH for OM2K, but that should probably be a separate patch. The proper pchan to use for Ericsson dynamic timeslots is TCH/F_TCH/H_PDCH. These do not use ts->flags, but ts->dyn.* as state, which first reflects pchan_want == pchan_is == GSM_PCHAN_NONE. Hence the timeslot was initialized by OM2K as pchan type zero, which is unknown / invalid. So, instead of using pchan_is, which is not yet reflecting anything meaningful, always initialize as TCH/F chan comb, as Ericsson hardware apparently expects it. Change-Id: If0693f7c5c85977b0e4acbc701ee5d635434d0d1
2016-11-09OM2000: Throw error when MO can not be enabledPhilipp1-0/+10
Throw warning message in case the MO state does not change to enabled after sendeing an Enable-Request message. Change-Id: Idfde8d6f71526e8acfea51835732515a4bee858e
2016-11-09OM2000: Add fault report parsingPhilipp1-1/+129
This patch adds parsing for OM2000 MO fault report map parsing, the bits in the fault maps are counted out and displayed. Change-Id: I6e2928f39b09bc08e9ab78bc10bc81e07f7eb55d
2016-11-09om2000: Add support for querying RBS capabilitiesroot1-0/+15
Change-Id: Id1fbaf41286f3651ce8f210eb8da05fb51179c96
2016-11-09OM2000: Fix state machien for CF/TRXC on START ResultHarald Welte1-1/+1
When receiving the 'Start Result' message, for CF and TRXC MO we directly transition to performing the Operational Info. In that case, we need to return after sending the Operational Info and skip the usual processing for the default case below. Change-Id: I99860d198b337ffe461b240bda20dc10e1b5b2cb
2016-11-08WIP: OM2000: Full state machine implementation using osmo_fsmHarald Welte1-175/+1081
Our existing OM2000 code for initializing all Managed Objects of a BTS at startup was never complete. Rather than trying to fix the old-style code, introudce a hierarchy of osmo_fsm's reflecting the full protocol hand-shake and sequence of bringing up the individual MO's. If this works out well, it mihgt make sense to convert the TS 12.21 OML code for other BTS models, too. Change-Id: I3e11b28ba22b8c227e0401e6207fdda5381dda8c
2016-09-28dyn TS: fix: abis_om2000: also handle dyn TS as TCHNeels Hofmeyr1-2/+16
Add ts2comb() to switch on dyn TS so that dyn TS in TCH mode are also treated like normal TCH/H or TCH/F pchans. Use ts2comb() instead of pchan2comb(). Change-Id: Iddc51a4409488d91db59228ca66aaab73ce3f1df
2014-01-19Fix more hidden TSC bugs for Ericsson BTSHarald Welte1-3/+3
It seems that also the Ericsson RBS2000 code was assuming that we always use the bts-global TSC, rather than the possibly different TS-specific TSC.
2012-09-07OM2000: don't silently send CON/IS/TF configuration requestHarald Welte1-0/+9
2012-09-07OM2000: make sure to route messages to IXU/DXU over BTS oml linkHarald Welte1-2/+3
Messages to CF and other core objects need to go to the BTS (IXU/DXU) OML link, not to the OML link of the primary TRX!
2012-09-07OM2000: don't signal operational state for a unknown MOHarald Welte1-0/+3
This case happens if the BTS signals operational state for a TRXC which is not configured as TRX in the openbsc.cfg
2012-06-03Allow VTY-based configuration of T3105Harald Welte1-3/+3
This timer will only be forwarded to BS11 and Ericsson Abis so far, not to Nokia and ip.access BTS yet.
2012-02-03abis_om2000.c: Remove unused variable to_trx_oml.Holger Hans Peter Freyther1-1/+0
GCC warning: abis_om2000.c: In function ‘abis_om2k_sendmsg’: abis_om2000.c:804:6: warning: unused variable ‘to_trx_oml’ [-Wunused-variable]
2011-09-26Fix Ericsson RBS2000 support after libosmo-abis mergeHarald Welte1-10/+8
The libosmo-abis merge broke Ericsson RBS support, as it didn't get the part right where the per-TRX OML sign_link is determined while transmitting OM2000 messages. As a result of this fix, we can remove the 'to_trx_oml' parameter to _abis_nm_sendmsg(), which is a nice cleanup.
2011-08-19src: port openBSC over libosmo-abis0.9.15Pablo Neira Ayuso1-1/+1
This is a big patch that ports openBSC over libosmo-abis. Sorry, the changes that are included here are all dependent of libosmo-abis, splitting them into smaller pieces would leave the repository in some intermediate state, which is not desired. The main changes are: - The directory libabis/ has been removed as it now lives in libosmo-abis. - new configuration file format for nanoBTS and HSL femto, we need to define the virtual e1_line and attach it to the OML link. - all the existing BTS drivers (nanoBTS, hsl femto, Nokia site, BS11 and rbs2000) now use the new libosmo-abis framework. - use r232 input driver available in libosmo-abis for bs11_config. - use ipa_msg_recv instead of old ipaccess_read_msg function. - delete definition of gsm_e1_subslot and input_signal_data. These structures now lives in libosmo-abis. Most of this patch are deletions of libabis/ which has been moved to libosmo-abis. This patch also modifies openBSC to use all the new definitions available in libosmocore and libosmo-abis. In order to do that, we have replaced the following: - DINP, DMI, DMIB and DMUX by their respective DL* correspondences. - SS_GLOBAL by SS_L_GLOBAL - SS_INPUT by SS_L_INPUT - S_GLOBAL_SHUTDOWN by S_L_GLOBAL_SHUTDOWN - SS_INPUT by SS_L_INPUT - S_INP_* by S_L_INP_* sub-signals - E1INP_NODE by L_E1INP_NODE vty node This patch has been tested with: - one nanoBTS - the HSL femto with the examples available under libosmo-abis - BS11 with both dahdi and misdn drivers.
2011-08-19src: use new msg->dst pointer instead of deprecated msg->trxPablo Neira Ayuso1-10/+15
This patch modifies openBSC code to use msg->dst which stores the pointer to the signalling link structure instead of the pointer to the transceiver structure. This patch prepares the introduction of libosmo-abis.
2011-06-03gsm_data_shared: introduce 'struct gsm_abis_mo'Harald Welte1-7/+7
... as a common wrapper around nm_attr and nm_state
2011-05-07src: use namespace prefix osmo_* for misc utilsPablo Neira Ayuso1-1/+1
Summary of changes: s/bcd2char/osmo_bcd2char/g s/char2bcd/osmo_char2bcd/g s/hexparse/osmo_hexparse/g s/hexdump/osmo_hexdump/g s/hexdump_nospc/osmo_hexdump_nospc/g s/ubit_dump/osmo_ubit_dump/g s/static_assert/osmo_static_assert/g
2011-05-06src: use namespace prefix osmo_signal*Pablo Neira Ayuso1-3/+3
Summary of changes: s/signal_cbfn/osmo_signal_cbfn/g s/register_signal_handler/osmo_signal_register_handler/g s/unregister_signal_handler/osmo_signal_unregister_handler/g s/dispatch_signal/osmo_signal_dispatch/g
2011-04-18misc: Move from u_int to uint types of stdint.hHolger Hans Peter Freyther1-1/+1
This was done with sed on the files.
2011-03-23src: use new library libosmogsm and new path to headers in libosmocorePablo Neira Ayuso1-4/+4
libosmogsm is a new library that is distributed in the libosmocore. Now, openbsc depends on it. This patch gets openbsc with this change. This patch also rewrites all include path to the new osmocom/[gsm|core] Signed-off-by: Pablo Neira Ayuso <>
2011-03-06RBS2000: Automatically connect/start/configure/enable most MOsHarald Welte1-11/+20
2011-03-06OM2000: Make sure we fill the nsd->bts member for NM state eventsHarald Welte1-0/+2
2011-03-06OM2000: Move IS conn group list generation out of VTY codeHarald Welte1-3/+29
2011-03-06OM2000: Track the Operational Info and MO stateHarald Welte1-1/+153
2011-03-06OM2000: Process MO STATE and ACCORDANCE INFOHarald Welte1-1/+91
2011-03-06OM2000: Fix configuration of TCH timeslotsHarald Welte1-4/+3
2011-03-06OM2000: Fix configuration of Timing Function (missing timing src)Harald Welte1-0/+3
2011-03-05OM2000: More work on the TS configuration requestHarald Welte1-1/+27
It seems the differences for the various channel combinations are big
2011-03-05OM2000: Route TS config requests to the right TRXHarald Welte1-1/+10
The TRX number is encoded in mo.assoc_so, whereas the TS number is in mo.inst!
2011-03-05OM2000: TLV parser definitions for more DEI'sHarald Welte1-0/+40
2011-03-05OM2000: Consider OP_INFO_REJ and TEST_REQ_REJ as NACKHarald Welte1-0/+2
2011-03-05OM2000: Add channel combination specific DIEs for TS config requestHarald Welte1-16/+78
... and in order to do this reasonably well, we have to get rid of the pre-computed message length field in the OML header. Instead, we now simply compute it at abis_om2k_sendmsg() time based on the msgb_l2len().
2011-03-05OM2000: Handle (Dis)Connect Reject in NACK handlerHarald Welte1-1/+3
2011-03-05OM2000: Print result/reason code when receiving a rejectHarald Welte1-1/+90
2011-03-05OM2000: fix generation of frequency list DIEHarald Welte1-10/+15
2011-03-05OM2000: Make sure to set the Associated SO to 255 in case of RX/TXHarald Welte1-1/+1
2011-03-05OM2000: Add support for configuring the TF (Timing Function)Harald Welte1-0/+38
2011-03-05OM2000: Add support for sending TX, RX and TS configuration requestsHarald Welte1-13/+175
They can be triggered from the VTY