aboutsummaryrefslogtreecommitdiffstats
path: root/src/libbsc/abis_rsl.c
AgeCommit message (Collapse)AuthorFilesLines
2018-05-30abis_rsl: rsl_rx_chan_rqd: Format bts log string as in everywhere elsePau Espin Pedrol1-3/+3
Change-Id: I7928d78e2ce3e6eca545455d08bc89ca67e01f9f
2018-05-30abis_rsl.c: Fix whitespacePau Espin Pedrol1-8/+8
Change-Id: I67659275beda1b6a89bdf11eb0231438b0c8b912
2018-05-14cosmetic: dyn ts init: undup logging for gprs = noneNeels Hofmeyr1-4/+19
Reshuffle the decision not to activate PDCH when GPRS is off: Even though all current callers should avoid passing a PDCH activation in case GPRS is off, it's a better idea to not assert on it and crash osmo-bsc. Move the decision to omit PDCH activation and logging about it into the actual functions that do PDCH activation. If PDCH activation is skipped, the lchan then just stays as it was, and that's what it should anyway be doing. Change-Id: Ib26642f08044d71a2469e6dbabf1e6fbcb02044d
2018-05-10dyn TS: allow any pchan type changes, fix for gprs mode noneNeels Hofmeyr1-1/+0
In rsl_chan_activate_lchan(), remove a condition to also allow switching pchan modes when not in PDCH mode, which is actually not needed and would hinder switching from pchan=NONE or between TCH/F <-> TCH/H. Refactor the part where lchan_alloc() decides to switch a pchan mode into a separate function, ts_usable_as_pchan(), which transparently checks both dyn TS kinds for: - Already in switchover? (missing check for ip.access style dyn TS) - Is the lchan->state in error? (missing check for ip.access style dyn TS) - Switch from pchan=NONE? (missing feature for Osmocom style dyn TS, for proper handling with gprs mode none) - Switch between TCH/F <-> TCH/H when all subslots are unused? (missing feature for Osmocom style dyn TS, also useful for gprs mode none) Always pass the desired pchan in the dyn_as_pchan argument to the _lc_find_* functions to make switchover decisions transparent. Use the _lc_dyn_find_bts() function for ip.access style dyn TS for the same reason. Related: OS#3244 Change-Id: I72d5d833b186b1e1925d513885b405d8c19aa496
2018-05-10dyn TS: init only when both RSL and the Channel OM are establishedNeels Hofmeyr1-0/+37
Recent Icf6e25ff068e8a2600562d52726ead65e864ec02 changed the dyn_ts_init() hook from bootstrap_rsl() to the Channel OPSTART ACK, but this is not sufficient. Now RBS2k never calls dyn_ts_init(), and we may need to wait for RSL: Dyn TS should actually be initialized only when *both* OML opstart and RSL link are established. To that end, introduce a generalized API to query OML and RSL status and to trigger a timeslot init at the appropriate time. Add gsm_ts_check_init() to be called both when RSL and OML opstart are established: trigger gsm_ts_init() only when both are given. Add gsm_bts_trx_ts->initialized flag to mark whether initialization has already taken place. Add gsm_bts_mark_all_ts_uninitialized() to conveniently clear this flag for all TS in a BTS. Add gsm_bts_model.oml_is_ts_ready() callback so that each BTS implementation can return the OML status of a timeslot in its own OML implementation. Actually, currently all BTS models that need this init mechanism store the TS' OML status in ts->mo.nm_state. While we would in practice correctly init dyn TS by just looking at ts->mo.nm_state, semantically, the decision whether the TS is ready is up to the BTS models' specific OML implementations. From bootstrap_rsl(), call gsm_ts_check_init(), in case the TS OML Opstart has happened before RSL is established -- applies to all BTS models. For all BTS models: - call gsm_{bts,trx}_mark_all_ts_uninitialized() when OM is torn down, to make sure the TS init mechanism will work a second time. For all BTS models supporting dyn TS, i.e. osmo-bts, nanobts and RBS2k: - implement oml_is_ts_ready(). - call gsm_ts_check_init() when a Channel OM is taken into operation. Any BTS models that don't set oml_is_ts_ready() will see a ts init as soon as RSL is bootstrapped (incidentally, the old dyn TS behavior before recent Icf6e25ff068e8a2600562d52726ead65e864ec02). This firstly fixes dyn TS for RBS2k by re-adding the initial switch to PDCH, and furthermore does so only after both OML TS opstart and RSL are through. This fixes the ttcn3-bsc-tests around dyn TS, since for the osmo-bts-virtual, the RSL is established only after OML opstart on the TS, which was broken by Icf6e25ff068e8a2600562d52726ead65e864ec02. Nokia Site and Siemens BS11 practically do not require this init mechanism, since all that happens there so far is dyn TS init, and these BTS models do not support dyn TS of any kind. A future patch may add oml_is_ts_ready(). Related: OS#3205 Change-Id: I99f29d2ba079f6f4b77f0af12d9784588d2f56b3
2018-05-05dyn TS, assignment: set lchan state to LCHAN_S_ACT_REQ in the proper placeNeels Hofmeyr1-1/+4
Set lchan->state to LCHAN_S_ACT_REQ in rsl_chan_activate_lchan(), not in handle_new_assignment(). This is the first part of a fix for dynamic timeslots handling in the gscon. Rationale: In rsl_chan_activate_lchan(), we may choose to set the lchan state to LCHAN_S_REL_REQ and wait for dyn TS switchover from PDCH. So the caller from bsc_api.c handle_new_assignment() must not bluntly set the state to LCHAN_S_ACT_REQ, which is not accurate in the case of dyn TS switchover. In case of dyn TS switchover, a later release ack received from the BTS will cause rsl_chan_activate_lchan() to be called again, at which point we may accurately set state LCHAN_S_ACT_REQ, and continue the Assignment. Related: OS#3211 Change-Id: Iedb4fb63bf1959d5f1d2c6edb6a7f5097ff16bd7
2018-04-23abis_rsl.c: Clean ericsson specific imm assign codePau Espin Pedrol1-14/+25
Move to its own function, store pointer to proper header format and use the already defined IE define from libosmocore instead of using hardcoded values. Depends on: Change-Id I7cb65f3ff1cfdbe4eee97b7545bcd13a38c72e25 Change-Id: I845fd3f0c6ff31f268f68a31e1d55981f7ec6129
2018-04-23abis_rsl.c: abis_rsl_rx_cchan: Print msg type name for unimplemented ↵Pau Espin Pedrol1-1/+1
messages received Change-Id: I2e2e40bcb9365420f7e79d8d954505b0d2376bed
2018-03-16introduce an osmo_fsm for gsm_subscriber_connectionHarald Welte1-4/+15
In the current implementation of osmo-bsc, the subscriber connection is not handled (very) statefully. However, there is some state keeping in the code that handles the mgcp connection, but there are still to much loose ends which allow odd situations to happen, which then lead severe error situations (see also closes tags at the end) This commit adds a number of improvements to fix those problems. - Use an osmo-fsm to control the gsm_subscriber_connection state and make sure that certain operations can only take place at certain states (e.g let connection oriented SCCP traffic only pass when an SCCP connection actually exists. Remove the old osmo_bsc_mgcp.c code. Use the recently developed MGCP client FSM to handle the MGCP connections. Also make sure that stuff that already works does not break. This in particular refers to the internal handover capability and the respective unit-tests. See also OS#2823, OS#2768 and OS#2898 - Fix logic to permit assignment to a signalling channel. (OS#2762) - Introduce T993210 to release lchan + subscr_conn if MSC fails to respond The GSM specs don't have an explicit timer for this, so let's introdcue a custom timer (hence starting with 99). This timeout catches the following situation: * we send a SCCP CR with COMPL_L3_INFO from the MS to the MSC, * the MSC doesn't respond (e.g. SCCP routing failure, program down, ...) The MS is supposed to timeout with T3210, 3220 or 3230. But the BSC shouldn't trust the MS but have some timer on its own. SCCP would have a timer T(conn est), but that one is specified to be 1-2min and hence rather long. See also: OS#2775 - Terminate bsc_subscr_conn_fsm on SCCP N-DISC.ind from MSC If the MSC is disconnecting the SCCP channel, we must terminate the FSM which in turn will release all lchan's and other state. This makes TC_chan_rel_hard_rlsd pass, see also OS#2731 As a side-effect, this fixes TC_chan_act_ack_est_ind_refused(), where the MSC is answering with CREF to our CR/COMPL_L3. - Release subscriber connection on RLL RELEASE IND of SAPI0 on main DCCH The subscriber connection isn't really useful for anything after the SAPI0 main signalling link has been released. We could try to re-establish, but our best option is probably simply releasing the subscriber_conn and anything related to it. This will make TC_chan_rel_rll_rel_ind pass, see also OS#2730 This commit has been tested using the BSC_Tests TTCN3 testsuit and the following tests were passed: TC_chan_act_noreply TC_chan_act_ack_noest TC_chan_act_ack_est_ind_noreply TC_chan_act_ack_est_ind_refused TC_chan_act_nack TC_chan_exhaustion TC_ctrl TC_chan_rel_conn_fail TC_chan_rel_hard_clear TC_chan_rel_hard_rlsd TC_chan_rel_a_reset TC_rll_est_ind_inact_lchan TC_rll_est_ind_inval_sapi1 TC_rll_est_ind_inval_sapi3 TC_rll_est_ind_inval_sacch TC_assignment_cic_only TC_assignment_csd TC_assignment_ctm TC_assignment_fr_a5_0 TC_assignment_fr_a5_1_codec_missing TC_assignment_fr_a5_1 TC_assignment_fr_a5_3 TC_assignment_fr_a5_4 TC_paging_imsi_nochan TC_paging_tmsi_nochan TC_paging_tmsi_any TC_paging_tmsi_sdcch TC_paging_tmsi_tch_f TC_paging_tmsi_tch_hf TC_paging_imsi_nochan_cgi TC_paging_imsi_nochan_lac_ci TC_paging_imsi_nochan_ci TC_paging_imsi_nochan_lai TC_paging_imsi_nochan_lac TC_paging_imsi_nochan_all TC_paging_imsi_nochan_plmn_lac_rnc TC_paging_imsi_nochan_rnc TC_paging_imsi_nochan_lac_rnc TC_paging_imsi_nochan_lacs TC_paging_imsi_nochan_lacs_empty TC_paging_imsi_a_reset TC_paging_counter TC_rsl_drop_counter TC_classmark TC_unsol_ass_fail TC_unsol_ass_compl TC_unsol_ho_fail TC_err_82_short_msg TC_ho_int Authors: Harald Welte <laforge@gnumonks.org> Philipp Maier <pmaier@sysmocom.de> Neels Hofmeyr <neels@hofmeyr.de> Closes: OS#2730 Closes: OS#2731 Closes: OS#2762 Closes: OS#2768 Closes: OS#2775 Closes: OS#2823 Closes: OS#2898 Closes: OS#2936 Change-Id: I68286d26e2014048b054f39ef29c35fef420cc97
2018-02-19HO: lchan: store last seen measurement report nr, tweak logNeels Hofmeyr1-2/+3
Handover decision 2 will also store the last seen mr nr for neighbor cell measurements and hence can tell whether a neighbor's measurement is outdated. Change-Id: Ic1148364597f91b5a55666c80c758b61fa56f582
2018-02-06abis_rsl: do not allow SACCH in MF mode on SAPI=0Philipp Maier1-0/+15
osmo-msc does currently not check if an MS attemts to establish an SACCH link on SAPI=0. This combination is not permitted and should be dropped. - Make sure that establish indication for SAPI=0 and channel-type=SACCH is not permitted See also TTCN3 Testcase: BSC_Tests.TC_rll_est_ind_inval_sacch Change-Id: I12962072c0ea689d2b9b5c2899ffb59be9310dcb Closes: OS#2750
2018-02-06abis_rsl: permit first EstablishInd only on SAPI=0Philipp Maier1-0/+14
When the first EstablishInd (DCCH) is made by the MS, then it must by definition happen on SAPI=0. The MS may establish multiple connection on other SAPIs afterwards. At the moment osmo-bsc does not check the SAPI when an EstablishInd message is received. - For SAPIs other than 0, check if SAPI=0 has already been established See also TTCN3 testcases: BSC_Tests.TC_rll_est_ind_inval_sapi1 BSC_Tests.TC_rll_est_ind_inval_sapi3 Change-Id: Ibf4fca0bd42dfe5bc63e8b08754ebbe0a5e252c3 Closes: OS#2750
2018-02-05Make "waiting indicator" of IMMEDIATE ASSIGN REJECT dynamic.Stefan Sperling1-21/+20
The IMMEDIATE ASSIGN REJECT message contains a wait indicator which tells an MS requesting a channel to wait for a specified amount of time before trying to request a channel again, i.e. the wait indicator controls the T3122 timeout value in the MS. Previously, the wait indicator was fixed to 10 seconds. This is not sufficient if there are a lot of MS requesting channels because the MS will retry too soon. Instead of using a fixed value, maintain a dynamic wait indicator value based on average channel load. The load (used vs. available channels on a BTS) is sampled once per second, and once 8 samples have been collected we update a BTS-specific T3122 wait indicator based on the measured load. While the wait indicator could go up to 255 seconds, this initial implementation keeps it in the range from 10 to 128 seconds. Further experimentation and testing will show whether higher wait indicator values are desirable, if the sampling rate needs to change, or if the function mapping the load measurement to a wait indicator value should change (currently we map the load average linearly into the range [10, 128] inclusive). Change-Id: I57e38f6d6ba3b23cc6e1f9520b90261dbb1f1cec Related: OS#2592
2018-01-25Remove an unused variable.Stefan Sperling1-7/+0
Local variable is_lu in rsl_rx_chan_rqd() has been unused since commit 6082a377f57901302816a2e57e75a3f262b7b7e6. Change-Id: I67594afcfa4104e91352d50f40ae9f2bc20f4cd1
2018-01-19HO: Always update rqd_ta after receiving measurement reportAndreas Eversberg1-0/+2
The up-to-date rqd_ta is required for assignment command. If the phone moves, the timing advance might change. The rqd_ta will be updated by each measurement report. Change-Id: If1a592e590cfed55ff3dca5be89e2946e8017a22
2018-01-19HO: Count the actual meas.rep. get_meas_rep_avg fails if not reachedAndreas Eversberg1-1/+8
get_meas_rep_avg will return -EINVAL, if the required number of measurements are not reached. There will be no handover possible until the given number of measurements are available. Change-Id: Ibc4410b4e162cdb6c070128d2c63946bb79d6d65
2018-01-19HO: Assign SDCCH on channel requestAndreas Eversberg1-2/+20
This is needed, so channel can be negotiated before the actual channel type is assigned. In case there is no SDCCH available, try to assign what ever the MS requested. If this is not possible try to assign TCH/F. If this is still not possible, reject channel request. Change-Id: I10fc9f60c58c6b7ed424a86ce23bf6b9802c9eb1
2017-12-19Remove dead code left over from NITB splitHarald Welte1-19/+5
There still is a lot of dead code that we inherited from the NITB days, let's remove more of it. libtrau will be re-introduced as part of osmo-mgw later. Change-Id: I8e0af56a158f25a4f1384d667c03eb20e72df5b8
2017-12-14Add new "chan:mode_modify_nack" counter to count RSL MODE MODIFY NACKHarald Welte1-0/+1
Those NACKs shouldn't happen in production, and if they do, you probably want to have a more persistent figure than a line in the log file about it. Having counters allows the user to monitor this efficiently. Change-Id: Ic82c6baaf4cb88d07bc5cdc200f8279cf130f396
2017-12-14Add a new counter "rsl:ipa_nack" to count number of IPA related NACKsHarald Welte1-0/+4
Those NACKs (CRCX/MDCX/PDCH_ACT) shouldn't happen in production, and if they do, you probably want to have a more persistent figure than a line in the log file about it. Having counters allows the user to monitor this efficiently. Change-Id: I5edf979c9a2b4c9a5a60eef9f66c26da54f2bddf
2017-12-14Add new per-BTS "rsl:unknown" counter to count unknown RSL messagesHarald Welte1-0/+9
Change-Id: I268f222140fa5783e1d19f81fbd45614aaa4b8c4
2017-12-14Add per-BTS rate_ctr for total + failed number of RSL CHAN_ACTHarald Welte1-0/+4
Change-Id: I471b598af194dee78ebaa3414b6290c72d9bbcff
2017-12-09Move many counters from BSC-global to per-BTS granularityHarald Welte1-9/+9
We used to have a lot of counters only globlly per BSC, but they're much more useful on a per-BTS level. Change-Id: I954b9dda72b83b91d46a934c221a8b3375743599
2017-09-23Wrap channel state assignment in macroMax1-4/+5
Previously we've used function so debug print always pointed to the same place which is not very useful. Wrap it with macro so proper file:line is printed. Also, make sure that we always change state only through this wrapper and log only when the state has changed. Change-Id: I21789f8021290965b61a54a2b23177ccbbfe8321
2017-09-06move include/openbsc to include/osmocom/bscNeels Hofmeyr1-13/+13
Change-Id: I39e7b882caa98334636d19ccd104fd83d07d5055
2017-08-30split off osmo-bsc: remove files, apply buildNeels Hofmeyr1-1/+2
Change-Id: I64d84c52f6e38e98144eb9be8f0ab82e0e1f6cca
2017-08-30Implement AoIP, port to M3UA SIGTRAN (large addition and refactoring)Philipp Maier1-1/+2
This was originally a long series of commits converging to the final result seen in this patch. It does not make much sense to review the smaller steps' trial and error, we need to review this entire change as a whole. Implement AoIP in osmo-msc and osmo-bsc. Change over to the new libosmo-sigtran API with support for proper SCCP/M3UA/SCTP stacking, as mandated by 3GPP specifications for the IuCS and IuPS interfaces. From here on, a separate osmo-stp process is required for SCCP routing between OsmoBSC / OsmoHNBGW <-> OsmoMSC / OsmoSGSN jenkins.sh: build from libosmo-sccp and osmo-iuh master branches now for new M3UA SIGTRAN. Patch-by: pmaier, nhofmeyr, laforge Change-Id: I5ae4e05ee7c57cad341ea5e86af37c1f6b0ffa77
2017-08-27Fix gsm_pchan2chan_nr() to use RSL_CHAN_OSMO_PDCHHarald Welte1-1/+1
When converting from GSM_PCHAN_PDCH, we should generate a RSL channel number IE with the osmocom extension RSL_CHAN_OSMO_PDCH rather than claiming it is a regular TCH/F channel. This is important as this function is used by osmo-bts, too - and it decides which channel number IE is put in the GSMTAP header for both GSMTAP tracing as well as the GSMTAP based osmo-bts-virtual. In order to avoid any unintended effect on libbsc, we make sure to modify rsl_ipacc_pdch_activate() to always use GSM_PCHAN_TCH_F in related RSL message. Change-Id: Ie34219e64a6d89da4a79f2db8ec73d1909fb8280
2017-08-27remove code disabling T3109 if configured to 0Harald Welte1-4/+0
We no longer permit timers with a 0 value, so this case can never happen. Also, if it should happen, I'd rather have a timter expiring immediately (and breaking something) than not being started in the first place. Change-Id: Ibfcdd3ddc0155caee89c501498329bde247621a0
2017-08-27RSL: Allow disabling of BCCH/SACCH filling for given SI typeHarald Welte1-4/+8
If we want to instruct the BTS to stop sending a given SI, we must be able to send the respective BCCH INFO / SACCH FILLING with a header but without any L3 data IE. This patch enables the related functions to do this whenever their data argument points to NULL. Change-Id: I88b85614951a108574f05db3b706884afe7e87a9
2017-08-27mscsplit: various preparations to separate MSC from BSCNeels Hofmeyr1-0/+13
Disable large parts of the code that depend on BSC presence. The code sections disabled by #if BEFORE_MSCSPLIT shall be modified or dropped in the course of adding the A-interface. Don't set msg->lchan nor msg->dst. Don't use lchan in libmsc. Decouple lac from bts. Prepare entry/exit point for MSC -> BSC and MSC -> RNC communication: Add msc_ifaces.[hc], a_iface.c, with a general msc_tx_dtap() to redirect to different interfaces depending on the actual subscriber connection. While iu_tx() is going to be functional fairly soon, the a_tx() is going to be just a dummy for some time (see comment). Add Iu specific fields in gsm_subscriber_connection: the UE connection pointer and an indicator for the Integrity Protection status on Iu (to be fully implemented in later commits). Add lac member to gsm_subscriber_connection, to allow decoupling from bts->location_area_code. The conn->lac will actually be set in iu.c in an upcoming commit ("add iucs.[hc]"). move to libcommon-cs: gsm48_extract_mi(), gsm48_paging_extract_mi(). libmsc: duplicate gsm0808 / gsm48 functions (towards BSC). In osmo-nitb, libmsc would directly call the functions on the BSC level, not always via the bsc_api. When separating libmsc from libbsc, some functions are missing from the linkage. Hence duplicate these functions to libmsc, add an msc_ prefix for clarity, also add a _tx to gsm0808_cipher_mode(): * add msc_gsm0808_tx_cipher_mode() (dummy/stub) * add msc_gsm48_tx_mm_serv_ack() * add msc_gsm48_tx_mm_serv_rej() Call these from libmsc instead of * gsm0808_cipher_mode() * gsm48_tx_mm_serv_ack() * gsm48_tx_mm_serv_rej() Also add a comment related to msc_gsm0808_tx_cipher_mode() in two places. Remove internal RTP streaming code; OsmoNITB supported that, but for OsmoMSC, this will be done with an external MGCP gateway. Remove LCHAN_MODIFY from internal MNCC state machine. Temporarily disable all paging to be able to link libmsc without libbsc. Skip the paging part of channel_test because the paging is now disabled. Employ fake paging shims in order for msc_vlr_tests to still work. msc_compl_l3(): publish in .h, tweak return value. Use new libmsc enum values for return val, to avoid dependency on libbsc headers. Make callable from other scopes: publish in osmo_msc.h and remove 'static' in osmo_msc.c add gsm_encr to subscr_conn move subscr_request to gsm_subscriber.h subscr_request_channel() -> subscr_request_conn() move to libmsc: osmo_stats_vty_add_cmds() gsm_04_08: remove apply_codec_restrictions() gsm0408_test: use NULL for root ctx move to libbsc: gsm_bts_neighbor() move to libbsc: lchan_next_meas_rep() move vty config for t3212 to network level (periodic lu) remove unneccessary linking from some tests remove handle_abisip_signal() abis_rsl.c: don't use libvlr from libbsc gsm_subscriber_connection: put the LAC here, so that it is available without accessing conn->bts. In bsc_api.c, place this lac in conn for the sake of transition: Iu and A will use this new field to pass the LAC around, but in a completely separate OsmoBSC this is not actually needed. It can be removed again from osmo-bsc.git when the time has come. Siemens MRPCI: completely drop sending the MRPCI messages for now, they shall be added in osmo-bsc once the A-Interface code has settled. See OS#2389. Related: OS#1845 OS#2257 OS#2389 Change-Id: Id3705236350d5f69e447046b0a764bbabc3d493c
2017-08-27Use libvlr in libmsc (large refactoring)Harald Welte1-3/+1
Original libvlr code is by Harald Welte <laforge@gnumonks.org>, polished and tweaked by Neels Hofmeyr <nhofmeyr@sysmocom.de>. This is a long series of trial-and-error development collapsed in one patch. This may be split in smaller commits if reviewers prefer that. If we can keep it as one, we have saved ourselves the additional separation work. SMS: The SQL based lookup of SMS for attached subscribers no longer works since the SQL database no longer has the subscriber data. Replace with a round-robin on the SMS recipient MSISDNs paired with a VLR subscriber RAM lookup whether the subscriber is currently attached. If there are many SMS for not-attached subscribers in the SMS database, this will become inefficient: a DB hit returns a pending SMS, the RAM lookup will reveal that the subscriber is not attached, after which the DB is hit for the next SMS. It would become more efficient e.g. by having an MSISDN based hash list for the VLR subscribers and by marking non-attached SMS recipients in the SMS database so that they can be excluded with the SQL query already. There is a sanity limit to do at most 100 db hits per attempt to find a pending SMS. So if there are more than 100 stored SMS waiting for their recipients to actually attach to the MSC, it may take more than one SMS queue trigger to deliver SMS for subscribers that are actually attached. This is not very beautiful, but is merely intended to carry us over to a time when we have a proper separate SMSC entity. Introduce gsm_subscriber_connection ref-counting in libmsc. Remove/Disable VTY and CTRL commands to create subscribers, which is now a task of the OsmoHLR. Adjust the python tests accordingly. Remove VTY cmd subscriber-keep-in-ram. Use OSMO_GSUP_PORT = 4222 instead of 2222. See I4222e21686c823985be8ff1f16b1182be8ad6175. So far use the LAC from conn->bts, will be replaced by conn->lac in Id3705236350d5f69e447046b0a764bbabc3d493c. Related: OS#1592 OS#1974 Change-Id: I639544a6cdda77a3aafc4e3446a55393f60e4050
2017-08-27move openbsc/* to repos rootNeels Hofmeyr1-0/+2927
This is the first step in creating this repository from the legacy openbsc.git. Like all other Osmocom repositories, keep the autoconf and automake files in the repository root. openbsc.git has been the sole exception, which ends now. Change-Id: I9c6f2a448d9cb1cc088cf1cf6918b69d7e69b4e7