aboutsummaryrefslogtreecommitdiffstats
path: root/include/osmo-bts/oml.h
AgeCommit message (Collapse)AuthorFilesLines
2019-06-13lapdm: Use new libosmocore API to ensure per-channel-type N200 valuesHarald Welte1-2/+0
By using new libosmocore LAPDm API we can specify the GSM channel type and hence enable the LAPDm code to use a per-channel-type specific N200 value. At the same time, this new API also allows us to specify T200 values when initializing the LAPDm channel, so we don't have to fiddle with low-level lapdm data structures in what used to be oml_set_lchan_t200(). Change-Id: I0e814fbae13e0feddd148c47255dcc38cb718f48 Depends: libosmocore I90fdc4dd4720d4e02213197c894eb0a55a39158c Closes: OS#4037
2019-05-25Add severity to OML FAILURE EVENT REPORTHarald Welte1-2/+2
Example: The fact that the PCU has connected with a given version is not a *failure* in the first place, particularly not a MAJOR one. Let's allow callers of oml_tx_failure_event_rep() specify the serverity of the event that they're reporting to the BSC. Change-Id: I49af04212568892648e0e8704ba1cc6de8c8ae89
2019-03-27oml: use oml_tx_failure_event_rep() instead of oml_fail_rep()Philipp Maier1-2/+0
The function oml_tx_failure_event_rep() replaces oml_fail_rep(), so lets use only oml_tx_failure_event_rep() and remove oml_fail_rep() Change-Id: I83c4fa9ebd519299fd54b37b5d95d6d7c1da24f6 Related: OS#3843
2019-03-18oml: make oml_tx_failure_event_rep() publicPhilipp Maier1-0/+3
The static function oml_tx_failure_event_rep() is a lot easier to use than the currently implemented signal scheme. Lets make it public so that we can quickly generate failure event reports. Change-Id: I9c4601840a06119f35cfe4da453fff3b293fe615 Related: OS#3823
2019-02-12OML: Use 'const struct abis_oml_mo *' whenever users only readHarald Welte1-8/+8
Try to constrain the code a bit further by making all read-only accesses use 'const *'. Change-Id: I5a61e6d1b4e5e083bb24017166186dc87d035cd0
2017-01-25OML: internalize failure reportingMax1-3/+2
* make oml_tx_failure_event_rep() static and use osmo_signal_dispatch() wrapped into oml_fail_rep() to trigger event reports outside of oml.c instead of directly calling into OML layer * remove unnecessary formatting from text messages Related: OS#1615 Change-Id: I738555c547926e97b325ab53763c0076c42309bc
2017-01-08Add Abis OML failure event reportingMax1-0/+6
Send 3GPP TS 12.21 § 8.8.2 Abis/OML failure event report. Change-Id: Ib1170edca2207752984a554d7a6a57c224f6d5f5 Related: OS#1615
2016-01-17Fix T200 default valuesHarald Welte1-1/+1
t200_ms is an unsigned int [7] array, while the oml_default_t200_ms was an uint8_t[7] array, which we memcpy() to the former as default initializer. Fix this by turning oml_default_t200_ms into unsigned int, too.
2016-01-16LAPDm: Use T200 settings from OML rather than libosmocore defaultsHarald Welte1-0/+4
2016-01-04fix large amount of compiler warnings in common and sysmobts codeHarald Welte1-0/+1
2014-08-18replace oml_{osmo,ipa}_magic[] with abis_nm_{osmo,ipa}_magicHarald Welte1-3/+0
the latter is now in libosmogsm.
2014-07-31sysmobts: Verify the structure of IPA and OML messagesHolger Hans Peter Freyther1-0/+4
Extend the router to verify that the message received is properly encoded. The code can deal with the basic structure of ETSI OML and vendor specific messages for ip.access and the osmocom project.
2014-07-31oml: Make it possible to include the file directlyHolger Hans Peter Freyther1-0/+4
Fixes: ../../include/osmo-bts/oml.h:8:42: warning: ‘struct gsm_bts’ declared inside parameter list [enabled by default] int down_oml(struct gsm_bts *bts, struct msgb *msg); ^ ../../include/osmo-bts/oml.h:8:42: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default] ../../include/osmo-bts/oml.h:12:52: warning: ‘struct gsm_abis_mo’ declared inside parameter list [enabled by default] int oml_mo_send_msg(struct gsm_abis_mo *mo, struct msgb *msg, uint8_t msg_type); ^ ../../include/osmo-bts/oml.h:13:31: warning: ‘struct gsm_abis_mo’ declared inside parameter list [enabled by default] int oml_mo_opstart_ack(struct gsm_abis_mo *mo); ^ ../../include/osmo-bts/oml.h:14:32: warning: ‘struct gsm_abis_mo’ declared inside parameter list [enabled by default] int oml_mo_opstart_nack(struct gsm_abis_mo *mo, uint8_t nack_cause); ^ ../../include/osmo-bts/oml.h:15:32: warning: ‘struct gsm_abis_mo’ declared inside parameter list [enabled by default] int oml_mo_statechg_ack(struct gsm_abis_mo *mo); ^ ../../include/osmo-bts/oml.h:16:33: warning: ‘struct gsm_abis_mo’ declared inside parameter list [enabled by default] int oml_mo_statechg_nack(struct gsm_abis_mo *mo, uint8_t nack_cause); ^ ../../include/osmo-bts/oml.h:19:29: warning: ‘struct gsm_abis_mo’ declared inside parameter list [enabled by default] int oml_mo_state_chg(struct gsm_abis_mo *mo, int op_state, int avail_state); ^ ../../include/osmo-bts/oml.h:22:31: warning: ‘struct gsm_abis_mo’ declared inside parameter list [enabled by default] void oml_mo_state_init(struct gsm_abis_mo *mo, int op_state, int avail_state); ^ ../../include/osmo-bts/oml.h:26:10: warning: ‘struct gsm_abis_mo’ declared inside parameter list [enabled by default] int success); ^ ../../include/osmo-bts/oml.h:29:33: warning: ‘struct gsm_abis_mo’ declared inside parameter list [enabled by default] int oml_tx_state_changed(struct gsm_abis_mo *mo); ^ ../../include/osmo-bts/oml.h:31:33: warning: ‘struct gsm_abis_mo’ declared inside parameter list [enabled by default] int oml_mo_tx_sw_act_rep(struct gsm_abis_mo *mo); ^ ../../include/osmo-bts/oml.h:36:4: warning: ‘struct gsm_abis_mo’ declared inside parameter list [enabled by default] uint8_t cause);
2013-11-05sysmobts: Do a RF mute when Radio Carrier is lockedJacob Erlbeck1-0/+1
Currently a Change Administrative State Request is just applied unconditionally to the object's state object and then acknowledged. This patch implements the special handling of setting the Radio Carriers state to LOCK or UNLOCK. This is done by passing the appropriate mute command to the L1 layer. Always all radio channels are affected, it is not possible to lock single radio channels. On success, an ACK is sent back to the bsc with the new state (based on the state passed in the callback by the L1 layer). If something went wrong or the firmware doesn't support RF mute, a NACK (REQ_NOT_GRANTED) is sent instead. Note that a NACK for such a request hasn't been sent by the BTS to the BSC yet, so (albeit it's spec conformant to do so) the BSC must be prepared to handle this correctly. Ticket: OW#976 Sponsored-by: On-Waves ehf
2013-11-05sysmobts: Add L1 support for the new RF mute requestJacob Erlbeck1-0/+4
This adds a new function l1if_mute_rf(femtol1_hdl, ch_mute[8]) to set the mute state for each radio channel. On completion and iff l1if_mute_rf() returned 0 the callback oml_mo_rf_lock_chg(mo, ch_mute_state[8], success) is invoked when the response from the superfemto DSP is received. Ticket: OW#976 Sponsored-by: On-Waves ehf
2013-06-30make oml_mo_state_init() a void functionHarald Welte1-1/+1
... so we don't get warnings about not returning anything
2013-06-30Don't send OML STATE CHANGE before OML is connectedHarald Welte1-0/+3
Instead of calling oml_mo_state_chg() [which transmits OML STATE CHG] during bts_init(), we use a new oml_mo_state_init() function which simply sets the state.
2012-03-18Ensure that ADM_STATE IE is presnent when sending NM_MT_CHG_ADM_STATE_ACKHarald Welte1-0/+1
2011-07-01fix various compiler warningsHarald Welte1-0/+5
2011-06-27re-work original osmo-bts with support for sysmocom femtobtsHarald Welte1-4/+16
This code re-works osmo-bts to add support for the upcoming sysmocom BTS. It also tries to add some level of abstraction between the generic part of a BTS (A-bis, RSL, OML, data structures, paging scheduling, BCCH/AGCH scheduling, etc.) and the actual hardware-specific bits. The hardware-specific bits are currently only implemented for the sysmocom femtobts, but should be (re-)added for osmocom-bb, as well as a virtual BTS for simulation purpose later. The sysmocom bts specific parts require hardware-specific header files which are (at least currently) not publicly distributed.
2011-03-04Import all C and Header files from jolly/bts branch of osmocom-bb.gitHarald Welte1-0/+9
The BTS code shall reside in a separate git repository, thus I'm importing the C and H files here.