osmo-bsc (1.9.0) unstable; urgency=medium [ Philipp Maier ] * abis_nm: fix typo * abis_nm: use struct sdp_firmware from libosmocore * bts-examples: add example for E1 connected BTS * abis_nm: actively block BTSs with invalid configuration * bts: add missing return -EINVAL statements * bts: fix sourcecode formatting (excess whitespace) * nm_bts_fsm: fix sourcecode formatting * bssmap_reset: make T4 user configurable [ Oliver Smith ] * bsc_subscr_conn_fsm: fix crash if !conn * Cosmetic: osmo-bsc/osmo_bsc_bssap: fix formatting * stats: add bsc.paging:expired * treewide: remove FSF address * contrib/osmo-bsc.spec.in: add new config files * contrib/osmo-bsc.spec.in: fix 4trx example paths * bts_model_osmobts_init: order feats alphabetically * Cosmetic: bts_model_osmobts_init: update comment * abis_nm: don't compare assumed/reported features * gsm_data: add gsm_set_bts_model * Always use reported features if available * contrib/jenkins.sh: check osmo_bts_has_feature use * abis_nm_ipaccess_rsl_connect: initialize ia * bts_model_*_start: move set_feature calls to _init * abis_nm: add bts model features to reported ones * Check VTY config against features reported by BTS * abis_nm: run gsm_bts_check_cfg during oml bring up * Cosmetic: bsc_vty: tweak msc pooling strings [ Neels Hofmeyr ] * hodec2: fix segv for inter-BSC ho target * dbg log: abis_rsl print_meas_rep(): clarify rxlev * fix chreq:* counters: typos in chreq:successful_* constants * dbg log: also log assignment counters on BTS level * fix assignment success counters: count *before* cleanup of fsm state * log: always include timeouts in FSM transition logging * lchan/gscon: always clear both cross ref pointers * lcs: fix bsc_subscr use_count leak * fix gscon clear 1/n: store clear cause in gscon * fix gscon clear 2/n: proper state transition to ST_CLEARING * fix gscon clear 3/n: separate state for SCCP RLSD * gscon clear: without SCCP conn, no need to wait for RLSD timeout * fix two comments in chan_counts.h * rename RSL_ENC_ALG_A5 to ALG_A5_NR_TO_RSL, clarify * fix inter-BSC-in handover encryption * cosmetics around select_best_cipher() * inter-BSC HO in: add speech IEs only on speech mode lchans * inter-BSC HO in: add Speech Codec (Chosen) IE to HO Req Ack * inter-BSC HO in: add Codec List (BSS Supported) IE to HO Req Ack * tweak logl to ERROR for invalid initial BSSMAP * silence bogus error: event not permitted: READY_TO_SWITCH_RTP * add missing counter increment for Perform Location Request * add counter for inter-BSC incoming Handover Request * support "empty" SCCP N-Connect from MSC * tweak error msg: s/inter-BSC MT/inter-BSC incoming * inter-BSC incoming HO: store Codec List (MSC Preferred) * fix extraneous newlines in ho_fail() invocations * fix typo in name of BSS_MAP_MSG_ASSIGNMENT_RQST * hodec2: show reported ho oscillation from bad rxqual * hodec2: add penalty-time low-rxqual-ho * assignment_fsm: always mark MGCP ci as completed * assignment_fsm: always update RTP info * hodec2: apply penalty_low_rxqual_as only on assignment * emerg call: fix RR release cause for pre-emption * emerg call: tweak log, comments * emerg call deny: fix RR release cause * emerg call deny: log on LOGL_ERROR * emerg call: send BSSMAP Clear Req cause as preemption * fix fallout from: 'stats: new trackers for lchan life duration' * do not BSSMAP Clear on lchan rel when LCS is still ongoing * fix rare segfault in MGCP client handling * drop log from ts_is_usable() * code cleanup for all_allocated timers, no functional change * fix performance for chan_counts and all_allocated stats [ Pau Espin Pedrol ] * Disable C/I based MS Power Control Loop by default * Drop unneeded ax_check_compile_flag.m4 * Fix DLCI CC bits transmitted in SAPI "n" REJECT * bts: Add explicit switch case for Cell Id SAI * doc: bsc.adoc: Update timer info from code (gsm_network_T_defs) * tests: nanobts_omlattr_test: Use msgb_eq_data_print() helper * ipa oml: Fix encoding of T3105 * bts_vty.c: Fix typo in comment * SI13: Always send ext_info * SI13: Make sure egprs_supported field is always updated * SI13: Avoid enabling use_egprs_p_ch_req if egprs not supported * system_information: Move all si13 specific val update to generate_si13() * SI13: Get rid of si13_default * bsc_vty: Add missing header * bts: Simplify bts->paging initialization * tests/bsc/Makefile.am: remove duplicate CFLAGS * Move struct gsm_bts_paging_state to paging.h * paging: Use define available in libosmogsm * rsl_rx_ccch_load: Use UINT16_MAX instead of -1 * paging: Avoid setting up credit_timer every time * paging: Use llist_first_entry() macro * paging: Log skip paging due to not enough free channels * paging: Submit up to 20 paging requests in a single work iteration * paging: Prioritize requests for new subscribers over retransmitions * cosmetic:: Document TLVs in nanobts_attr_bts_get() * Rename functions generating OML SetAttr messages * bts: Use uint8_t instead of int for ccch_load_ind_thresh * Introduce VTY command 'ccch load-indication-period <0-255>' * bts: Make sure paging timers are deleted when struct gsm_bts is freed * tests: acc_test: fix typo in talloc ctx name * tests: acc_test: Get rid on unrelated logs in expect file * paging: Estimate available_slots based on BTS config when no CCCH Load Ind received * paging: Rework timer lifecycle logic * paging: Check C0 RSL link instead of OML link * paging: Decouple retransmit period from regular worker interval * paging: Improve calculate_timer_3113() * paging: Improve logging * paging: Increase T3113 based on paging group load in BSC queue * paging: Early stop work_timer when paging queue becomes empty * paging: Recalculate work timer if waiting for retrans * paging: Document 'ccch_load_ind_period * 2' value * tests: Order tests alphabetically * tests/acc: Remove unused var * abis_rsl.c: Drop unused function * abis_rsl: Use proper struct in rsl_paging_cmd * bts: Properly free ctr/stat when bts object is freed * paging: Flush pending paging requests when bts obj freed * paging: Take into account extra delay of all paging groups in BSC queue * tests: Introduce paging_test * paging: Remove TODO comment * Drop duplicate function helper * Remove commented out code * abis_nm: Use proper define for avail state 0xff * ipaccess-config: Use proper define for nm availability value * abis_nm: Merge signals S_NM_STATECHG_ADM and S_NM_STATECHG_OPER * cosmetic: Fix open brace in same line as func definition * constify state pointers of struct gsm_nm_state * acc: Fix erratic ramping behavior when several BTS configured * nm_statechg_signal_data: Convert state ptr to data * nm_is_running(): Drop duplicate check * bts_ipa: Send NM_EV_OML_DOWN following object tree in order * paging: Improve logging * paging: Fix recalculate work timer if waiting for retrans * paging: Avoid unnecessary immediate polling in mainloop * Revert "fix fallout from: 'stats: new trackers for lchan life duration'" * Revert "stats: new trackers for lchan life duration" * Update current NM object state before signalling S_NM_STATECHG * Introduce new signal S_NM_RUNNING_CHG and implement it for rcarrier,bbtransc * paging: start/stop credit_timer based on C0 running * acc: Simplify start/stop by using new signal S_NM_RUNNING_CHG * nm_*_fsm: Remove comment no longer applying * nm_rcarrier_fsm: Trigger S_NM_RUNNING_CHG when Admin st changes in op=Enabled * Move all SMSCB/CBC vty code to its own file * smscb: Base cell operational life cycle on CBCH being operative * smscb: Tx CBSP FAILURE/RESTART for specific cell when it becomes (un)operational * cbsp: Avoid encoding CBSP message if link is down [ Vadim Yanitskiy ] * ipaccess-config: improve readability of printed attribute response * ipaccess-config: request and print NM_ATT_IPACC_NV_FLAGS * system_information: fix unused 'mask' parameter in list_arfcn() * tests/gsm0408: add testing coverage for generate_cell_chan_list() * bitvec2freq_list(): determine empty set by checking the ARFCN count * bitvec2freq_list(): fix handling of E-GSM ARFCNs * Fix description of BTS_CTR_BTS_RSL_FAIL: s/OML/RSL/ * fix inp_sig_cb(): dispatch TS_EV_OML_DOWN to all transceivers * system_information: use is_ipaccess_bts() helper * system_information: fix DCS/PCS band indicator in generate_si6() * gsm48_send_ho_cmd(): this function is not used, remove it * gsm48_make_ho_cmd(): cosmetic: use existing BTS pointer * gsm48_make_ho_cmd(): make 'struct gsm_lchan' pointer const * gsm48_make_ho_cmd(): optionally add Cipher Mode Setting IE * gsm48_make_ho_cmd(): optionally add Synchronization Indication IE * fixup: gsm48_make_ho_cmd(): optionally add Synchronization Indication IE * gsm_bts_trx_set_system_infos(): cosmetic: improve readability * System Information Type 3: allow updating T3212 at run-time * parse_bssmap_perf_loc_req(): make 'struct tlv_p_entry' pointer const * BSSMAP LE: fix handling of LCS Client Type IE * BSSMAP LE: handle optional LCS {Client Type, QoS} IEs * struct gsm_encr: store alg_id in human-readable format * cbch_scheduler: cosmetic: s/bts_cbch_timer/bts_cbch_timer_cb/ * fix gsm_bts_get_cbch(): CBCH can be allocated on Cn * abis_rsl: always check return value of rsl_tlv_parse() * doc/examples: avoid using deprecated configuration commands * doc/examples: add a multi-trx config config example * doc/examples: add a confmerge file with example hopping parameters * power_ctrl_params_def_reset(): set .ctrl_interval for both UL/DL * Move power control related definitions to power_control.h * VTY: clarify help for the Adaptive Multi Rate settings * bts: gsm_bts_alloc(): rework default multi-rate configuration * bts: gsm_bts_alloc(): use reasonable multi-rate config defaults * tests: use 'check_PROGRAMS' instead of 'noinst_PROGRAMS' * abis_rsl: fix NULL pointer dereference in abis_rsl_rx_rll() * gsm_data: use llist_for_each_entry() in gsm_bts_by_lac() * bssap: always check return value of tlv_parse() * abis_nm: always check return value of tlv_parse() * utils/meas_db: fix -Wunused-variable warnings * utils/meas_pcap2db: fix -Wpointer-sign in pcap_cb() * smscb: fix meaningless condition in etws_primary_to_bts() * bsc_vty: use llist_for_each_entry in lchan_act_all_cmd * fix gsm_lchan_and_pchan2chan_nr(): log proper lchan_nr value * VTY: cosmetic: define and use CHAN_ALLOC_{CMD,DESC} * tests/handover_cfg.vty: use more precise regex for forbidden lines * bts_chan_load(): also calculate per-TRX channel load * doc/manuals: document channel allocation parameters * gsm_04_08_rr: ensure lchan info is present in all logging messages * VTY: fix wrong enum value s/ACTIVATE_FOR_VTY/ASSIGN_FOR_VTY/ * ipaccess-config: check value returned by abis_nm_tlv_parse() [ Harald Welte ] * om2000: Fix memory leak in OM2000 message handling * om2000: Don't print "should not generate any message" on CAL_TIME_REQ * om2000: Don't print "should not generate any message" on FAULT_REP * SMSCB: Preserve padding at end of page in CBSP -> RSL conversion * CBSP: implement MESSAGE STATUS QUERY * abis_rsl: Ensure message length is sufficient for respective header * smscb: Populate "Number of Broadcasts Completed" to KILL COMPLETE * abis_rsl: Fix typo in log message * Handle unknown rllr_ind enum values in rll_ind_cb() * lchan_fsm: Ignore other SAPIs of RLL_REL_IND for SAPI=0 is received * lchan_fsm.c: Fix misleading comment * Fix compile errors on #warning with '-Wall' on gcc-11.2 * smscb: Don't include extraneous IEs in CBSP KILL COMPLETE / FAILURE * smscb: Store ETWS input state from CBSP * smscb: Always start ETWS timer even in cells without ETWS support * cbsp: Implement KILL for Emergency Broadcast * cbsp: Reject CBSP WRITE for emergency if emergency already active * bts.c: prevent signed integer overflow in depends_on code * paging: Avoid queueing more than 60 second estimated requests * paging: Implement upper bound of 60s for dynamic T3113 * Add stat_item for per-bts [dynamic] T3113 timer * smscb: Send ETWS PN to BTS if ETWS active before BTS connects * smscb: "Warning Security Information is always present in ETWS * Add new Manual "OsmoBSC CBSP Protocol Specification" * convert README to README.md; expand on all fronts * update git URLs (git -> https; gitea) [ Michael Iedema ] * stats: new trackers for lchan life duration * stats: new trackers for lchan life duration (v2) * Expand VTY option which controls use of TCH for signalling * stats: track TCH/SDCCH lchans reaching fully-established state * logs: also record which BTS is signaling a SAPI REJECT [ Keith ] * Improve parsing of om2000 fault reports -- Pau Espin Pedrol Wed, 29 Jun 2022 11:18:10 +0200 osmo-bsc (1.8.0) unstable; urgency=medium [ Harald Welte ] * remove obsolete dependency on libosmo-sccp * manual: Include QoS chapter and add osmo-bsc specific example [ Javi ] * Add vty command for Ericsson RBS2000 sync * Add command to enable RX diversity to RBS2000 [ Oliver Smith ] * stats: T3122 related: num_values 16 -> 60 * src/utils/meas_vis.c: fix bs_power -> bs_power_db * handover_test: fix ts_str may be uninitialized * bsc_ctrl_commands: fix uninitialized value (mode) * Revert "Turn some compiler warnings into errors" [ Neels Hofmeyr ] * refactor handover penalty timers * drop neighbor_ident_test.c * fix/refactor neighbor config * debug log, lchan_fsm: explain leaving wait_rll_rtp_establish state * fixup for neighbor config for coverity * drop unused func decl rsl_lchan_mark_broken() * drop unused gsm_bts_trx->description * deprecation: use osmo_bts_features_*() * fix wrong ARFCNs in local-cell neighbor config * update neighbor ARFCNs on startup and config changes * manual: Location Services: clarify BSC side address * abis_nm_ipaccess_rsl_connect(): use msgb to compose attr * Lb: stop RESET FSM when sccp_user is unbound * Lb: RESET FSM: never send sccp_user == NULL * Lb: add missing X12 timer configurability * Lb: make sure we never have missing timer configurability * gsm_lchan_name_compute with ctx * log: drop duplicate logging in ts_setup_lchans() * comment: tweak pchan_subslots() description * lchan_release(): do not release UNUSED lchan * lchan_fsm: mode modify: fix missing timeouts and error transitions * fix test_gsm48_multirate_config: dump the complete AMR lv buffer * test_gsm48_multirate_config: rather keep 4x amr_mode * assignment_fsm: fix failure log message for lchan unavailable * select_codecs(): do not confuse bool 'true' with integer value 1 * gsm48_send_rr_ass_cmd(): rename dest_lchan to current_lchan * gsm48_send_rr_ass_cmd(): rename lchan to new_lchan * log: show src file,line of lchan_set_last_error * add missing arg braces in LOG_LCHAN macro * gscon MGCP: properly skip redundant MDCX towards MSC * cosmetic: rename FOR_* to ACTIVATE_FOR_* * cosmetic: rename lchan_activate_mode to lchan_activate_for * lchan and assignment FSMs: make Channel Mode Modify more sane * assignment_fsm: tweak error log msg for mixed modes * handover_test: ack release only when lchan is still waiting * hodec2: remove code dup of rxlev averaging * handover_test: add bspower to meas-rep cmd * add test_bs_power.ho_vty to show BS Power HO oscillation * assignment_fsm: send BSSMAP response only after Assignment Request * cosmetic scoping in reuse_existing_lchan() * potential segfault: vty chan act: do not set AMR bits for EFR * make sure channel mode and s15_s0 are updated only after an ACK * remove special case from assignment_count_result() * eliminate lchan->rsl_cmode * move lchan->csd_mode into channel_mode_and_rate * AMR config cleanup step 1: split lchan_mr_config() * AMR config cleanup step 2: filter modes also for VTY * AMR config cleanup step 3: generate AMR LV on msg composition * handover dot charts: fix wrong transitions regarding MGW * handover_test: fix naming/wording: 'handover-req' should be 'handover-cmd' * assignment_fsm: tweak state transitions (prep for reassignment) * assignment_fsm: allow assignment to a specific lchan * vty: actually trigger Assignment for 'assignment', not HO * hodec 2: do intra-cell congestion resolution by Assignment * RSL link: explicitly select rsl_link based on lchan * add chan_mode_to_chan_type() * gsm48_lchan2chan_desc(): expose TSC as param * allow explixit TSC Set and TSC on chan activ / modif / assignment * VTY: dump TSC Set and TSC for each timeslot * add fields to reflect nr of lchans in ts struct * replace ts_*_for_each_lchan() with ts_for_n_lchans() * ensure chan_mode comparisons in non-VAMOS mode * lchan_fsm: introduce lchan.modify.ch_mode_rate to allow tweaking * Drop duplicated arfcn_range_encode.c available in libosmocore * fixup for Mode Modify TSC * fix rc handling in channel_mode_from_lchan() * drop unused func decl gsm_lchan_as_pchan2chan_nr() * handover: apply meas report BS Power to RXLEV, fix ho oscillation * change bs_power to bs_power_db * meas rep logging: replace a dozen DEBUGPC() with one DEBUGP() * meas rep logging: use log_check_level() to skip a logging loop * fixup: pass tsc = -1 for previous default training sequence code * hodec2: add handover_test cases for upgrade of TCH/H -> TCH/F * cosmetic prep: hodec2: move is_upgrade_to_tchf() further up * hodec2: fix is_upgrade_to_tchf() for requirement A * allow mode modify when RTP stream is active * implement Channel Mode Modify to VAMOS mode * vty: add lchan modify '(vamos|non-vamos)' command * add lchan->vamos.is_secondary flag * vty-test: osmo-bsc.vty: test doc of lchan activate cmd * lchan_fsm: introduce lchan.activate.ch_mode_rate to allow tweaking * add missing AMR config for RTP activation after mode modify * implement CHANnel ACTIVate to VAMOS mode * RR Assignment for VAMOS: send TSC Set * add VAMOS secondary lchans to timeslot struct * update the lchan name to always reflect VAMOS shadowness * rsl_lchan_lookup(): turn cbits if-cascade into a switch() * rsl_lchan_lookup(): add comment explaining ts_is_capable_of_pchan() * RSL chan_nr: replace OSMO_ASSERT with error handling * RSL: rx and tx VAMOS Channel Number cbits for VAMOS lchans * VTY: 'show lchan': show that lchan is in VAMOS mode * VTY: add 'vamos-subslot' to activate a secondary lchan * VTY: add lchan re-assignment command * log: assignment_fsm: drop newline from assignment_fail * log: assignment_fsm: tweak err msg for incompatible chan * clarify bts_chan_load * get_any_lchan(): reduce minor code dup * cosmetic loop simplification in gsm48_multirate_config() * RSL: set default TEI according to TRX number * lchan_fsm: lchan_fail() strings should not have a terminating newline * gsm_data.h: add comments about immutable activ/modif/assign request info * hodec2: implement upgrade TCH/H -> TCH/F (without AFS bias) * fixup for vamos: fix wrong cbits in rsl_lchan_lookup() * vty: reassign: add missing check for valid target lchan * hodec2: don't apply AFS bias to same-cell lchans * rsl_data_request() check lchan pointer before access * rsl_lchan_lookup: drop redundant condition * rewire build_encr_info() to return errors * dissolve gsm0808_cipher_mode() into bssmap_handle_cipher_mode() * implement A5/4 in Ciphering Mode procedure * support A5/4 in inter-BSC Handover * use osmo_select_shutdown to get rid of SIGTERM sleep * vty: allow 5 encryption algo entries * hodec2: add test case showing low rxlev tch/h<->tch/f oscillation * hodec2: add test case showing low rxqual tch/h<->tch/f oscillation * handover_decision_2.c: add is_low_rxlev() * hodec2: fix low rxlev tch/h<->tch/f oscillation * handover_decision_2.c: add current_rxqual() * hodec2: fix low rxqual tch/h<->tch/f oscillation * vty: fix doc: default value for 'nri bitlen' * vty: add vty doc test for 'nri null' commands * hodec2: [1/2] implement automatic choice between FULL and SUBSET measurements * hodec2: [2/2] implement automatic choice between FULL and SUBSET measurements * hodec1: use same automatic FULL/SUBSET choice as in hodec2 * lchan: call reset() upon alloc * RES IND: parse msg and store interference levels in lchans * RES IND: add VTY: bts / channel allocator avoid-interference (0|1) * RES IND: add test_resource_indication.ho_vty * RES IND: pick lchan with least interference * ensure trigger_ho() returns zero only when HO or AS was indeed triggered * handover_test: also show when an lchan is busy * switch handover penalty timers to CLOCK_MONOTONIC * handover_test: add fake-time 'wait' * test_penalty_timer.ho_vty: show lchan recovery * handover tests: test passing of penalty timeout * hodec2: add low-rxqual-assignment penalty timer (1/2) * hodec2: add low-rxqual-assignment penalty timer (2/2) * separate 'interference-meas level-bounds' cfg and used * vty 'interference-meas level-bounds': explain duality in ordering * add test_dyn_ts_favor_static_ts_as_target.ho_vty * extend test_dyn_ts_favor_half_used_tch_h_as_target.ho_vty * RES IND: allow empty Resource Information IE * RES IND: tweak error code on missing Resource Information IE * fix CM Re-Establishment Request: allocate new A conn * log: fix missing newline in lchan_select.c * debug log: indicate change of primary lchan on a conn * vty: lchan deact: allow omitting the lchan type arg * vty: improve err msg for invalid subslot nr * coverity: quench null deref warning in gscon_change_primary_lchan() * lchan_fsm_post_activ_ack(): return upon release * introduce gsm48_lchan_and_pchan2chan_desc() * error log: improve lchan lookup error msg * early IMM ASS 1/n: add vty config option * early IMM ASS 2/n: implement 'pre-chan-ack' * early IMM ASS 3/n: implement 'pre-ts-ack' * stat_item desc: add explicit indexes for clarity * vty: add "msc N bssmap reset" command * move BSC level stats and rate counters to new bsc_stats.[hc] * add stat items bsc.0.num_msc:connected, .num_msc:total * add stat_items for BTS and TRX connection stati * fixup for Early IMM ASS: use proper TSC * add CTRL 'rf_states' and 'bts.N.rf_states' * add CTRL bts.N.trx.M.rf_locked (RW) * fixup comments for 'rf_states' CTRL command * fix comment in lchan_fsm.c: s/modification/activation * fix TSC / TSC Set used for Handover * tsc fixup: tweak condition for coverity * drop obsolete comment * stat: add bts.N.num_trx:total * stat: add bts.N.num_trx:rsl_connected * constify lchan_state_is() * add chreq:successful_ rate counters * drop unused gsm48_tx_mm_serv_ack() * for linter: s/while(0)/while (0) * cosmetic tweaks on handover counting code * tweak intra-bsc ho counter descriptions * implement incoming_intra_bsc_ho:* rate counters * refactor lchan counting * add time_cc API: cumlative counter for time, reported as rate_ctr * implement all_allocated:{sdcch,tch} rate counters * implement all_allocated:{static_sdcch,static_tch} rate counters * implement bts.N.cm_serv_rej: rate counters * move time_cc to libosmocore osmo_time_cc [ Keith ] * Ignore CHANnel ReQuireD with Access Delay IE > 63 * Fix MEAS parsing, as Ericsson RBS reports TA shifted by 2 bits. * Add vty command to manually force MS Uplink Power * Implement MS Uplink Power Control Loop [ Vadim Yanitskiy ] * [hopping] vty: ensure no duplicate hopping ARFCN entries * [hopping] generate_cell_chan_list(): make some pointers const * [hopping] gsm48_send_rr_ass_cmd(): use Cell Channel Description from SI1 * [hopping] generate_ma_for_ts() returns no meaningful value * abis_nm: rework warnings about unknown / not supported features * abis_nm: cosmetic: use osmo_bts_feature_name() * [hopping] Rework generation of Cell/Mobile Allocation * [hopping] bootstrap_rsl(): do not call generate_ma_for_ts() again * vty: deprecate BTS type 'sysmobts' in favor of 'osmo-bts' * Replace all references to 'sysmobts' with 'osmo-bts' * VTY: fix NULL-pointer dereference in lchan_act_single() * bts_uptime(): do not spam logs with 'OML link uptime unavailable' * Make interference measurement parameters configurable * VTY: fix typo in a command description: s/send/sent/ * PCUIF protocol: add message definition for interference report * abis_rsl: fix rsl_rx_ccch_load(): properly check the message length * gsm_data.h: remove declaration of non-existing ts_pchan() * power_control: omit BS Power Parameters IE if the maximum is 0 dB * power_control: implement BCCH carrier power reduction operation * power_control: constrain BS power reduction on BCCH carrier * lchan_fsm: fix potential NULL-pointer dereference * gsm_04_08_rr: silently ignore RR UTRAN Classmark Change * rsl_rx_resource_indication(): check result of rsl_tlv_parse() * rsl_lchan_lookup(): fix handling of ABIS_RSL_CHAN_NR_CBITS_OSMO_PDCH * [overpower] VTY: cosmetic: fix lower case in command description * [overpower] VTY: fix copy-pasted warning message * [overpower] VTY: add more ACCH overpower related parameters * [overpower] Add VTY transcript tests for all commands * .gitignore: also ignore *.la files * .gitignore: remove non-existing ipaccess-firmware binary * lchan_fsm: cosmetic: move a 'case' below the 'default' branch * rsl_tx_chan_activ(): fix manual channel activation for nanoBTS * abis_rsl: do not pass lchan to print_meas_rep_buf() * abis_rsl: print_meas_rep_{buf,uni}() accept const *mr * abis_rsl: permit simultaneous ACCH repetition and overpower * ipaccess-config: reduce verbosity of the OML logging * ipaccess-config: fix wrong flag name in ipa_nvflag_strs[] * ipaccess-config: warn about unknown flag name * doc/manuals: add documentation for interference reporting * gsm_data: use ascending order for interference boundaries * doc/manuals: add documentation for Temporary ACCH Overpower * doc/manuals: fix wrong CI in the inter-BSC handover diagram * tests/Makefile.am: do not try removing non-existing files * abis_rsl: simplify checking if channel mode is AMR * abis_rsl: cosmetic: fix coding style rep_acch_cap_for_bts() * bts_vty: fix tabs-vs-spaces issues in cfg_bts_rep_dl_facch * struct gsm_bts: simplify comments for ACCH repetition/overpower * struct gsm_bts: s/repeated_acch_policy/rep_acch_cap/g * struct gsm_bts: s/temporary_overpower/top_acch_cap/g * abis_rsl: {rep,top}_acch_cap_for_bts(): make *lchan const * abis_rsl: s/*_acch_cap_for_bts/put_*_acch_cap_ie/g * [overpower] Allow configuring specific channel mode(s) * [overpower] By default, permit only for speech channels using AMR [ Alexander Chemeris ] * stats: Count transitions from BORKEN state due to LCHAN_EV_TS_ERROR signal. [ Pau Espin Pedrol ] * cosmetic: Fix typo in func description * bssap: pass whole tlv_parsed to event GSCON_EV_A_COMMON_ID_IND * Send EUTRAN neighs based on whether Common Id msg contained Last used E-UTRAN PLMN ID * Revert "update neighbor ARFCNs on startup and config changes" * SRVCC: Parse Last Used E-UTRAN PLMN Id in Handover Request * SRVCC: Forward Last EUTRAN PLMN Id in Handover Required * osmo-bsc: Avoid erroring every few secs about unconnected BTS * Fix bts->description field not printed in config write * ipaccess-config: Clean up sign_link setup helper * bsc: Clean up TS selection in ipaccess_sign_link_up/down * bsc: Use osmo_clock_gettime everywhere * ctrl: Introduce CTRL SET cmd to apply VTY cfg file * ctrl: Avoid fclose() on NULL pointer * Use new stat item/ctr getter APIs * vty: Drop unused old node enum fields * Introduce VTY command to disable srvcc fast-return on target BTS * Introduce counters to track SRVCC procedures * pcuif_proto.h: Add new container messages * Support proto IPAC_PROTO_EXT_PCU BSC<->PCU * lchan-select: Avoid setting variable for no reason * assignment_fsm: Fix null pointer dereference rx ASSIGNMENT_EV_LCHAN_ERROR * assignment_fsm: Add assert to guard ptr access * Rename osmo dyn ts enums to contain SDCCH8 * Support SDCCH8 in osmo dyn ts * lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in WAIT_RF_RELEASE_ACK * doc: bts.adoc: Update dyn ts section to include SDCCH8 support * lchan_fsm: Improve timeout logging line in state WAIT_RLL_RTP_ESTABLISH * Avoid switching dyn ts to sdcch8 if it starves later TCH * cosmetic: Small improvements to _select_sdcch_for_call * Add new lchan_select_set_type() API helper * _select_sdcch_for_call: Avoid 2nd lchan lookup when finally selecting it * lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in state BORKEN * abis_rsl: Log chan rqd reason on resource exhaustion log message * Fix recent regression in CHREQ allocation * Split bsc_vty.c creating bts_vty.c * Split bts_vty.c creating bts_trx_vty.c * Introduce libbsc to avoid linking long lists of .o files * Introduce VTY option to forbid use of TCH for non-voicecall signalling * Clarify string name for GSM_CHREQ_REASON_CALL * doc: Improve ACC ramp documentation * doc: manual: Fix typo in text * vty: Fix wrong TSC sent when activating lchan through VTY * vty: Fix wrongs params passed in vty warning message * cosmetic: power_ctrl_params_def: Fix typo in comment * doc: power_control.adoc: Improve VTY snippet foot notes * MS Power Control Loop: Support set up of C/I parameters for osmo-bts * doc: power_control.adoc: Add small time graph showcasing P_CON_INTERVAL * lchan_fsm: Fix comment * lchan_fsm: Fix comment * lchan_fsm: Avoid inheriting bs_power from old lchan * Support Neighbor Address Resolution over PCUIF IPA multiplex * Power Control Loop: Set P_CON_INTERVAL to 1 by default * MS Power Control Loop: Support turn off C/I based logic * bts_vty: Print C/I power params for osmo-bts only * MS Power Control Loop: Allow Turn off/on C/I independent from value setting * cosmetic: fix comment typos in signal.h * cosmetic: Fix typo in comment * MS Power Control Loop: Use P_CON_INTERVAL=2 by default * bts_trx: Fix timeslot_fsm not properly freed during trx free() [1/4] * Move global var bsc_gsmnet into libbsc [2/4] * Move ts_fsm_init to static constructor [3/4] * Get rid of lots of stubs [4/4] * nm_channel_fsm: drop ipa link if SetChannelAttr fails * gitignore: Fix typo * jenkins.sh: Fix typo * Set subslots_per_pchan[GSM_PCHAN_OSMO_DYN] = 8 * timeslot_fsm: Add assert to make sure we never go out of bounds in ts->lchan array * Set subslots_per_pchan_vamos[GSM_PCHAN_OSMO_DYN] = 0 * assignment_fsm: Log modified lchan in assignment_fsm_allstate_action() * lchan_fsm: Fix possible NULL ptr dereference in _lchan_on_mode_modify_failure() * Properly handle dyn TS TCH with vamos after updating subslots_per_pchan [ Michael Iedema ] * stats: add BTS uptime counter [ Philipp Maier ] * bts.adoc: fix typo BGSGP -> BSSGP * handover_cfg: add missing VTY_CMD_PREFIX in comment * bsc_ctrl_commands: add command to write vty config * control.adoc: add doc for apply-config-file * bsc_vty: add vty option to allow call-reestablishment * handover_ctrl: add control interface for handover settings * running.adoc: explain mgw reset-endpoint VTY setting * osmo_bsc_main: remove unused commandline option -l * bty_vty: add VTY settungs for temporary overpower * osmo_bsc_main: integrate MGW pooling into osmo-bsc * osmo_bsc_msc: do not initalize MGCP proxy for AoIP MSCs * doc/mgwpool: update documentation * assignment_fsm: make assignment_fsm_timer_cb static * assignment_fsm: make assignment_fsm_allstate_action static * assignment_fsm: Check for conn->lchan * osmo_bsc_main: remove code dup in bootstrap_bts() * bts: set R99 MSC flag in SI13 in bts_alloc * bts: set pwrc value in bts_alloc * bts: set acs value in bts_alloc * drop chan_load_samples_idx initalization from bootstrap_bts() * bts: set ncc_permitted from bts_alloc * osmo_bsc_main: remove not longer needed fixme note * osmo_bsc_main: remove unused option -t --testmode * bsc_subscr_conn_fsm: fix mgw-pool ref counting * neighbor_ident: add comment about Neighbor Address Resolution Service * control.adoc: improve description of command bts.N.send-new-system-informations * heighbor_ident: add/del neighbor cells via ctrl interface * bsc_ctrl_commands: change neighbor-list mode/arfcn via control interface * control.adoc: comment out fixme note * osmo_bsc_main: bootstrap_bts: print errornous ARFCN number * osmo_bsc_main: separate checks from bootstrap_bts * osmo_bsc_main: move inp_sig_cb() below check_bts and bootstrap_bts * osmo_bsc_ctrl: make sure strtok results are checked * osmo_bsc_main: call bootstrap_bts when OML TEI comes up * osmo_bsc_main: move generate_ma_for_bts() into bootstrap_bts() [ Eric ] * vty: allow A5/4 encryption in config [ Daniel Willmann ] * bts: Clear BTS_STAT_CHAN_*_{TOTAL,USED} on bts disconnect -- Pau Espin Pedrol Tue, 16 Nov 2021 17:21:59 +0100 osmo-bsc (1.7.0) unstable; urgency=medium [ Harald Welte ] * Introduce nm_fail_rep_signal_data for "SS_NM, S_NM_FAIL_REP" signal * OM2000: Add some more message types and IEs we now understand * remove 'NAT' log category * handorer.h: Fix compilation with gcc-10 * gsm_data.h: Comment the 'nokia' BTS fields * bts_nokia_site: Fix LAPD segfault during reset procedure * [cosmetic] system_information: Values are not guesses; more comments * bs11_config: Print "Not Equipped" for MBCCU (TRX) that don't exist * Count RSL DELETE INDICATION received from BTS * system_information: Set BSS_PAGING_COORDINATION in SI13 for osmo-bts * vty/bts_resend_cmd: Use gsm_bts_set_system_infos() to increment changemark * osmo-bsc.spec.in: Use %config(noreplace) to retain current config file * abis_nm: Avoid various "Unhandled message" errors on BS-11 startup * Bring timeslot FSMs on BS-11 out of NOT_INITIALIZED state * Don't print 'bogus channel load sample' message if total == 0 * bts_nokia_site: Clean up logging * Add example configuration files for E1 BTS * remove examples/osmo-bsc/ericsson/osmo-bsc.cfg * osmo-bsc.spec.in: Package E1 config files * osmo-bsc.spec.in: Add missing directories to package * debian: Package E1 configuration file examples * lchan_fsm: silently ignore LCHAN_EV_RLL_ERR_IND * Add example config files for Ericsson DUG20 based BTS * acc.c: Don't use C99 constructs, this breaks builds on Debian 8 * BS-11: Fix "CONNECT TERRESTRIAL TRAFFIC" * Implement support for receiving BSSMAP CommonID from MSC * osmo_bsc_sigtran.c: Remove unused #defines * use osmo_fd_setup() whenever applicable * debian/control: Recommend installation of osmo-mgw * Use osmo_fd_*_{disable,enable} * fix some size-t format string characters * update aoip-mgw-options document with reality of 2020 * abis_om2000: Force TRX NM state to UNLOCKED once TRX is up * osmobsc-usermanual: Add Chapter with AoIP message flow examples * OM2K: Permit transition from WAIT_CONF_RES -> WAIT_ENABLE_ACCEPT * OM2K: Skip the entire CON MO if there are no connection groups * Add a bts_model->bts_init() and trx_init() call-back function * abis_om2000: make om2k_mo_name() an exported function * [cosmetic] abis_om2000: Re-format to use longer lines * abis_om2000: Mark om2k_mo_fsm_start() as static * abis_om2000: keep OM2K FSMs around, don't terminate * om2000: Add "show bts 0 om2k-mo" command * abis_om2000: Handle DP object in get_om2k_mo() * smscb: Avoid scheduler array overflow * smscb: Fix adding of SMSCB messages when no message with lower period exists * select_best_cipher(): Prefer A5/1 over A5/2 * BS-11: Send proprietary MRPCI message after assignment + HO complete * hide the "smscb-command" vty command; people should use osmo-cbc * CBSP: document rate counters and their mapping to basic/extended CBCH [ Philipp Maier ] * bsc_main: use higher default loglevels. * lchan_rtp_fsm: fix out_state_mask * vty: check with is_ipaccess_bts() before using IPACC * lchan_rtp_fsm: make _fsm_timer_cb and _fsm_cleanup static * lchan_rtp_fsm: use E1 endpoints if the BTS is not ipaccess type * e1: encode line number as trunk number in MGCP endpoint * gsm_04_08_rr: block EMERGENCY SETUP when EMERGENCY CALLS are denied * abis_rsl.c: make sure emergency calls are rejected early * lchan_fsm: merge lchan_mr_config() * lchan_fsm: make internal functions static. * lchan_fsm: make rsl mode-modify working again * abis_rsl: prioritize emergency calls over regular calls * abis_rsl.c: flush channel request queue on RSL bootstrap * abis_rsl: inform user when expired channel requests get tossed * abis_rsl: fix memleak in rach dos reduction function * bsc_vty: improve manual activation of lchans (debug / labtest) * bsc_vty: fix manual channel activation * bsc_vty: fix wrong else-if statement * gsm_08_08: fix unreachable code in parse_powercap() * osmo_bsc_bssap: actually check for lchan * bts: add repeated acch mode flags + vty config * abis_rsl: parse cm3 and indicate ACCH repetition cap to BTS * bsc_vty: mark repeated ACCH value of 1.9% to 2.7% BER as default * bsc_vty: fix acch_repetition ber threshold strings * abis_rsl: check if emergency calling is disabled before premption * bsc_vty: mark repeat rxqual 4 (BER >= 1.6) as default * bts.adoc: describe ACCH repetition settings [ Vadim Yanitskiy ] * VTY: fix writing of custom timer values to a configuration file * vty: fix: restore removed DNAT category as deprecated * doc/manuals: remove deprecated DNAT from the VTY reference * rest_octets: cosmetic: fix alignment in gprs_cell_options * vty: 'gprs 11bit_rach_support_for_egprs': drop redundant check * vty: 'gprs 11bit_rach_support_for_egprs': clarify error message * vty: clarify EGPRS Packet Channel Request message support * A-bis: fix logging level mismatch in abis_nm_rcvmsg_fom() * bsc_subscr_find_or_create_by_{imsi,tmsi}(): fix NULL pointer dereference * doc/manuals: regenerate the VTY reference file * gsm_data: cosmetic: mark argument of is_*_bts() as const * bts_unknown: fix: properly initialize the feature vector * bts_sysmobts: fix: properly zero-initialize the feature vector * bsc_bts_alloc_register(): fix possible NULL-pointer dereference * handover_test: use 'unknown' BTS type instead of 'sysmobts' * abis_nm: cosmetic: add curly braces to complex 'if' statements * abis_nm: cosmetic: use sizeof() for printing buffer size * abis_nm: fix: properly truncate feature vector reported by BTS * abis_nm: fix ARFCN list encoding in Set Channel Attributes * abis_nm: fix length indicator in Set Channel Attributes * fix crashes due to OSMO_ASSERT(conn->lchan) * abis_rsl: Mobile Allocation IE in CHANnel ACTIVation shall be empty * system_information: publicly declare generate_cell_chan_list() * system_information: constify bitvec in freq. list encoding API * generate_ma_for_ts(): constify per cell/timeslot ARFCN bit-vectors * gsm_04_08_rr: fix hopping parameters in RR Assignment Command * doc/examples: remove deprecated 'dyn_ts_allow_tch_f' * vty: ensure that all warning messages are prefixed with '%%' * vty: fix missing comma in a warning message * vty: introduce and use GPRS_CHECK_ENABLED() macro * vty: allow enabling freq. hopping regardless of the feature vector * debian/control: change maintainer to the Osmocom team / mailing list * vty: fix copy-pasted 'no gprs control-ack-type-rach' description * fix bsc_sapi_n_reject(): dlci is unsigned, use uint8_t * bsc_subscr_conn_fsm: fix a memleak in rll_ind_cb() * bsc_subscr_conn_fsm: use proper cause values in SAPI N REJECT * abis_rsl: fix IAR Rest Octets in rsl_send_imm_ass_rej() * vty: add a command to clear hopping ARFCN list * gsm_04_08_rr: fix hopping parameters in RR Handover Command * SI Type 4: fix missing CBCH Mobile Allocation IE * generate_ma_for_ts(): use OSMO_BYTES_FOR_BITS() macro * generate_ma_for_ts(): fix: properly encode ARFCN 0 (corner case) * SI Type 4: prevent potential buffer overflow * vty: propagate result of gsm_bts_set_system_infos() * fix bootstrap_rsl(): check result of gsm_bts_trx_set_system_infos() * abis_om2000: check result of gsm_bts_trx_set_system_infos() * vty: clarify NM state owner printed by 'show trx N' command * abis_nm: fix erroneous use of LOGPC() instead of LOGP() * abis_nm: fix msgb memleak in _abis_nm_sendmsg() * abis_nm: LOGPFOH()/DEBUGPFOH(): remove redundant context info * abis_nm: abis_nm_get_ts(): use LOGPFOH() instead of generic LOGP() * abis_nm: use btstype2str() in abis_nm_rcvmsg_manuf() * abis_nm: use DEBUGPFOH() in abis_nm_rx_sw_act_req() * abis_nm: use LOGPFOH()/DEBUGPFOH() in parse_attr_resp_info_unreported() * abis_nm: improve logging message in abis_nm_get_attr() * generate_ma_for_ts(): simplify MA bit-mask computation * vty: fix unreacheable code / wrong check in lchan_act_all_trx() * RSL/BSSAP: fix: properly convert between RSL Link ID and DLCI * vty: add attributes to VTY commands indicating when they apply * bts: move rate counter / stat item definitions from *.h to *.c * main: add --vty-ref-mode, use vty_dump_xml_ref_mode() * vty: add reminder messages about the radio link timeout * gsm_08_08: fix NULL pointer dereference in bsc_cm_update() * NM FSMs: fix DISABLED_NOTINSTALLED -> DISABLED_NOTINSTALLED * vty: add new attribute for vendor-specific commands * abis_rsl: turn rsl_msgb_alloc() a macro and move it to header * power_control: add new structures and default parameters * power_control: add encoding/init API to 'struct gsm_bts_model' * power_control: send default parameters from bootstrap_rsl() * power_control: add encoder for ip.access nanoBTS and OsmoBTS * power_control: make use of MS/BS parameters in RSL messages * power_control: add VTY commands for per-BTS configuration * power_control: add VTY command for re-sending default parameters * power_control: add VTY command to set static / maximum BS Power * power_control: reflect MS/BS Power difference in the VTY prompt * vty: cosmetic: make all 'struct cmd_node' definitions static * power_control: encoding of H_REQAVE and H_REQT for ip.access * power_control: fix swapped lower/upper RxQual threshold values * power_control: enable dynamic MS power control for osmo-bts * power_control: vty: some commands are not vendor specific * vty: fix NULL-pointer dereference in cfg_bts_rep_dl_facch() * power_control: vty: do not print 'no (rxlev-avg|rxqual-avg)' * vty: join UL/DL SACCH repetition commands together * vty: fix wrong attributes for UL/DL ACCH repetition commands * ericsson_rbs2000: fix unreachable code in inp_sig_cb() * power_control: add documentation on available configuration params * manuals: fix a duplicate line in the description of DTXu * manuals: fix a typo: s/DTS/DTX/ * power_control: cosmetic changes and fixes to the documentation * power_control: add increase / reduce step size recommendations * vty: use 'const' for *nsvc in config_write_bts_gprs() * vty: fix writing empty IP address for unconfigured NSVCs * power_control: fix: properly initialize per-lchan BS power * vty: fix 'codec-list' command: check all given arguments first * gsm_data: return early if MS Power class remains the same * assignment_fsm: assert the result of conn_get_bts() * power_control: check BTS model in cfg_power_ctrl_avg_osmo_ewma() * power_control: enable Uplink DPC by default if format is known * power_control: make P_CON_INTERVAL parameter configurable * abis_nm: enrich debug messages with contextual info [ Pau Espin Pedrol ] * bssap: Avoid logging error if no optional Global Call Ref IE received * bsc: Allow setting negative nominal tx power through VTY * Avoid selecting channels from administratively locked trx * bsc_main: Improve log line on Lost E1 link * bsc_main: Use LOG_TRX in log line * ipaccess_sign_link_up: Log sign_link type * Use OSMO_FD_* instead of deprecated BSC_FD_* * gsm_data.h: Drop duplicated include stdint.h * Fix trailing whitespace in several files * ipaccess_nanobts: Log ipaccess_sign_link_down event * Move struct gsm_bts: gsm_data.* => bts.* * bts: Drop duplicated function to get trx by number * Move struct gsm_bts_trx: gsm-data.* => bts_trx.* * Move gsm_bts_{trx_}set_system_infos APIs to bts{_trx}.* * Move acc_ramp_init inside gsm_bts_alloc * configure.ac: Fix trailing whitespace * doc: Copy {bsc,bts}.adoc from osmo-gsm-manuals * {bts,bsc}.adoc: Drop deprecated OsmoNITB references * rename files acc_ramp.* -> acc.c* * Introduce support for ACC subset rotation * Introduce support for ACC ramping during whole BTS life cycle * Support setting rt-prio and cpu-affinity mask through VTY * Change default SCTP conn NULL->127.0.0.1 to localhost->localhost * ctrl: Fix CTRL TRAP for {msc.X,msc_)connection_status not sent * acc_test: Print allowed ACC from t2 and t3 * acc: Fix ACC rotate barring highest ACCs too quickly during wraparound * tests: acc_test: Test more rotating scenarios * Allow storing IPv6 address strings in BSSAP structs * vty: Hide show running-config ACC ramping params if not enabled * Fail on invalid IP addresses passed to IPACC MDCX * Fix creating MGCP proxy socket if MGW listens on an IPv6 address * lchan_rtp_fsm: Deferr IPACC MDCX after BTS side MGCP MDCX * oml: Fix premature Opstart to Radio Carrier * bssap: Use new DTAP DLCI helper fields from libosmocore * abis_nm: Log Rx Change Administrative State ACK * abis_nm: Log no state change detected * abis_nm: Remove duplicated log line * cosmetic: tests/ctrl_test_runner.py: Fix trailing whitespace * ipa oml: tx OPSTART after unlocking, not before * contrib/jenkins: Enable parallel make in make distcheck * Set all NM OML objects to Locked by default * Introduce NM BTS Site Manager FSM * Introduce NM BTS FSM * Introduce NM BaseBand Transceiver FSM * Introduce NM RadioCarrier FSM * Introduce Radio Channel FSM * OML: Stay compatible with older osmo-bts versions * abis_nm: Log Opstart NACK with error loglevel * ipa: Fix use of null pointer in log macro * nm_channel_fsm: Fix innocuous transition not permitted log error * main: generate coredump and exit upon SIGABRT received * ipaccess-proxy: generate coredump and exit upon SIGABRT received * Store GPRS MOs directly under BTS SiteMgr object * nm_bts_sm_fsm: Fix peer_has_no_avstate_offline not applied for nanobts * Introduce NM GPRS NSE FSM * Introduce NM GPRS CELL FSM * abis_nm: Simplify param passing to abis_nm_rx_get_attr_resp() * Handle BTS/BBTRANSC Get Attributes (Ack) in NM FSMs * Fix typo in function nanobts_attr_nsvc_get * oml: Delay configuring NSVC until BTS features are negotiated * gsm_lchan_name: assert on NULL lchan * Use rest_octets functionalities from libosmocore * gitignore: Ignore *~ * doc: handover: Fix malformed table * Introduce Neighbor Resolution Service * cosmetic: doc: wrap line too long * cosmetic: bts-sysmo: Fix whitespace indentation * Allow configuring SI13 CCN_ACTIVE bit from VTY, enable by default on osmo-bts * Introduce VTY cmd to configure Alpha in SI13 * Move bts_ident_key to neighbor_ident.c * Fix neigh resolution service on local neighbours * SI13: Enable sending GPRS Cell Options Extension Information on GPRS-only BTS * tests: Explicitly drop category from log * tests: Replace deprecated API log_set_print_filename [ Oliver Smith ] * tests/Makefile.am: allow running only one VTY test * osmo-bsc/bsc_vty: set default gprs cell bvci to 2 * osmo-bsc/bsc_vty: fail on get_amr_from_arg error * osmo-bsc-minimal.cfg: fix codec-list * main: exit on mutually exclusive codecs settings * abis_nm.c: rx_fail_evt_rep: fix sd.bts * abis_nm: move fail report parsing to extra func * VTY: add show bts failure report * VTY: let all descriptions end in \n * VTY: regenerate bsc_vty_reference.xml * timers: T->X: 23002, 23004, 23005, 23006 * contrib: import RPM spec * contrib: integrate RPM spec * Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in * lchan_fsm, lchan_rtp_fsm: make all timers configurable * contrib/jenkins: don't build osmo-gsm-manuals * configure.ac: set -std=gnu11 [ Neels Hofmeyr ] * manual: add "Multiple Instances" section, akin to other manuals * manual: add SCCP/M3UA section from common chapters * manual: add SCCPlite section * manual: fix config example typo 'msc-addr' * manuals: update bsc_vty_reference.xml * deprecate 'msc' / 'ip.access rtp-base ' * cosmetic: put comment back at proper place in bsc_vty.c * drop IMSI filter and libfilter completely * drop CC 'local-prefix' feature * code cleanup: absorb complete_layer3() into bsc_compl_l3() * drop all BSC originated USSD notification features * doc/examples: remove deprecated ussd text config * drop MSC types "local" vs "normal" * flatten: move network->bsc_data->* to network->* * CTRL: determine MSC connection status from RESET-ACK, not AS_ACTIVE * create only one SCCP user per SCCP instance * cosmetic: tweak rc type of is_cm_service_for_emerg() * is_cm_service_for_emerg(): return false, not 0 * gsm0408_test.c: drop test_mi_functionality() * refactor bsc_find_msc()'s round-robin * add osmo-bsc --vty-ref-xml: dump VTY ref XML to stdout * manuals: generate vty reference xml at build time * osmo-bsc main: exit on cmdline option error * remove extract_sub(), add bsc_subscr_find_or_create_by_mi() * use osmo_mobile_identity API everywhere * tweak log category for Compl L3 error * MSC pooling: make NRI mappings VTY configurable * MSC pooling: implement NAS node selection by NRI from TMSI * MSC pooling: LU: ignore TMSI NRI from a different PLMN * MSC pooling: add 'no allow-attach' for MSC off-loading * mscpool: add user manual chapter * vty: add 'mscpool roundrobin next' for ttcn3 tests * log: add MSC number to bsc_subscr_conn_fsm id * debug: log about matching Paging Response to earlier Paging * MSC pooling: add rate counters * merge files: absorb osmo_bsc_vty.c into bsc_vty.c * vty: hide 'mscpool roundrobin next' * fix segfault introduced by recent segfault fix * create ASP+AS only once per cs7 instance * si2quater: fix budget calculation for multiple EARFCNs * SI2quater: allow storing 48 EARFCNs * RR Release Cell selection IE: fix repeated EARFCNs encoding * RR Channel Release: pass Cause code from BSSMAP Clear to the BTS * propagate RSL error cause codes to RR Channel Release cause * fix CBSP server: actually open the srv_link * handover_test.c: add test case 29: TCH/F -> TCH/H * handover_test.c: typo s/more/less in test 19 description * hodec2: fix logging of requirements flags * hodec2 congestion: consider only congested pchan types * hodec2: do not keep candidates with zero requirements met * hodec2: log requirements of best candidate, log rxlev in dBm * cosmetic: bscon: use GSM48_RR_CAUSE_NORMAL instead of 0 * gscon timeout: use proper cause code for lchan release * debug log: add RR Release cause code to the log * info, error log: show MSC nr for new conn * mscpool: fix refcount leak for unusual case of no bts * CBSP: on RESET, also clear the etws_timer, and stop ETWS PN broadcast * CBSP: log CBSP RESET on NOTICE * CBSP: rewrite the CBSP link setup and 'cbc' VTY section * CBSP: add local bind to client mode * cosmetic: use local var in handover_start_intra_bsc() * cosmetic: dissolve error-goto with single source in handover_start() * ho counters: count invalid target cell as 'error', not 'no_channel' * fix 'handover:*' counters: add missing / move increments * fix 'handover:*' counters: remove bogus increments * fix HO inter-BSC-IN target bts for counters * add {BTS,BSC}_CTR_INTER_BSC_HO_OUT_FAILED for RR HO Failure * bssap: do not send a Clear Request after a Clear Command * handover_fsm: signal Clear from gscon, for proper HO result counts * handover: fix detection for ambiguous HO neighbor ident * CBSP: fix link startup when enabled in config file * drop some unused members and function decls * CBSP: adjust manual to reflect new 'cbc' VTY config * CBSP VTY: re-add legacy cbc config for backwards compat * dissolve bsc_grace_paging_request() * drop bsc_subscr.lac * drop unused Tdef for 992427 * add timer.vty * clean up timer definitions: introduce groups, move some T to X * tests: add missing *.vty to EXTRA_DIST * log MSC nr for opening new A conn * remove unused signature gsm48_handle_paging_resp() * gscon_bssmap_clear(): guard against NULL msc * compl l3: separate paging handling from bsc_scan_bts_msg() * compl l3: parse Mobile Identity once * compl l3: cosmetics around Create Layer 3 * compl l3: allocate conn in gsm_08_08.c, not gsm_04_08_rr.c * compl l3: populate conn's bsc subscr from MI * compl l3: move Paging Response handling out of bsc_find_msc() * compl l3: move all message parsing out of bsc_find_msc() * refactor paging: introduce bsc_paging_params * refactor paging: introduce bsc_paging_start() * refactor paging: add bsc_subscr to bsc_paging_params * LCS: add paging reason, return in paging_request_stop() * introduce osmo_use_count for bsc_subscr * bsc_subscr_name: print both IMSI and TMSI * cosmetic: fix naming of GSCON_EV_A_CONN_REQ -> GSCON_EV_MO_COMPL_L3 * LCS: implement re-use of existing A-interface conn * LCS: SCCP next conn id: prepare Lb-interface * LCS: implement the bulk of Location Services * LCS: allow RSL EST IND during GSCON_ST_ACTIVE * remove unused osmo_bsc_reset.h * add doc/location_services_ta.msc * BSSMAP RESET: generalize a_reset FSM * BSSMAP RESET: move cancel-paging call to osmo_bsc_sigtran_reset() * BSSMAP RESET: move RESET-ACK into reset fsm * BSSMAP RESET: tweak logging * BSSMAP RESET: also accept conn cfm events during ST_DISC * LCS: disable Lb interface by default, add vty 'smlc' / 'enable' * add smlc.vty test * LCS: add proper BSSMAP-LE RESET re-using new generalized reset FSM * LCS: Lb startup: no need to re-use existing SCCP user * drop features 'core-location-area-code' and 'core-cell-identity' * manual: describe LCS and Lb interface * fix missing RR release when there is no MSC * add fixme comment for OS#3833 * minor code dup: smlc_set_cs7_instance() * handover vty doc: explain rxqual values * handover_test: fix comment * handover_test prep: move arfcn into create_bts() * handover_test prep: move generate_si() into create_bts() * handover_test prep: allow arbitrary timeslots in create_bts() code * handover_test prep: allow configuring several trx in create_bts() * handover_test prep: rename 'create-bts' to 'create-n-bts' * handover_test cosmetic: eliminate bts array and bts_num from main() * handover_test: allow arbitrary timeslot config and multiple TRX * handover test: fix dyn ts: set pchan_is on act / rel * handover test: add 'expect-ts-use' to clarify tests * handover_test: add 'set-ts-use' * handover_test: change 'meas-rep' params to bts-trx-ts-ss nr * handover_test: drop secondary array of lchans * handover test: add test 30: de-congest TCH/F by moving to dyn TS TCH/H * handover_test: add test 31: TCH/H: re-use dyn TS * fix TCH/H allocation: use half occupied dyn TS instead of switching more dyn TS * hodec 2: prep: common pick_better_lchan_to_move() function * hodec 2: favor moving dyn TS * handover test 30: play through filling up all lchans * handover_test: add test 32: half used TCH/H on dyn TS * fix AMR start-mode auto: reflect proper ICMI in MultiRate Config IE * AMR start-mode: send proper smod bits * AMR start-mode auto: send smod bits as zero * ctrl_test_runner.py: remove per-test startup delay * hodec 2: prefer moving TCH/H from half-used dyn TS * handover_test: implement as VTY shell * handover_test: log sending ho complete * handover_test: send ho detection * handover_test: adjust logging for reproducability * handover_test: set a fake osmo_mgcpc_ep_ci pointer * handover_test: rename test scripts from numbers to names * handover_test: gitignore * tweak handover_tests.sh * handover_test: cosmetic cfg simplifications in 5 tests * handover_test: fix test_congestion.ho_vty meas-rep * handover_test.c: properly release lchans in set-ts-use * hodec2: cosmetic: add dBm unit to rxval logging * hodec2: code dup / cosmetics * handover_test: add 'meas-rep repeat N' * handover_test: add test_congestion_favor_best_target_rxlev.ho_vty * handover_test: add AMR TCH/H->/F tests, showing a bug * handover_test: show ineffective intra-cell choice * handover_test: add test_congestion_intra_vs_inter_cell.ho_vty * hodec2: clarify current and target rxlev per candidate * hodec2: cosmetic: clarify afs_bias, simplify pick_better_lchan_to_move() * hodec2: fix candidate choices in congestion check * handover_test: include ack-chan in expect-chan * handover_test: safeguard against unhandled chan req * handover_test: saner chan act handling * handover_test: saner ho request handling * handover_test: vty echo * handover_test: show a bug: add test_congestion_no_oscillation.ho_vty * hodec2: cosmetic: clarify ho_candidate.{current,target} * hodec2: reduce check_requirements() args * hodec2: add ho_candidate.{current,target}.free_tch * handover_test: add lchan wildcards to meas-rep cmd * handover_test: show bug: add test_balance_congestion_tchf_tchh.ho_vty * hodec2: fix congestion oscillation bug * handover_test: add test_balance_congestion_by_percentage.ho_vty * hodec2: to balance congestion, use overload percent * handover_test: enhance test_balance_congestion_by_percentage.ho_vty * handover_tests.sh: update stdout/stderr only on capital -U arg * fix for test_dyn_ts_favor_moving_half_used_tch_h.ho_vty * cosmetic: in a ho test, use '*' instead of pdch * show bug: add test_dyn_ts_congestion_tch_f_vs_tch_h.ho_vty * fixate test_dyn_ts_congestion_tch_f_vs_tch_h.ho_vty * hodec2: fix congestion resolution on dyn TS * add test_dyn_ts_congestion_tch_f_vs_tch_h_2.ho_vty * lchan_avail(): omit logging for handover decision 2 * show bug: add test_dyn_ts_balance_congestion.ho_vty * hodec2: fix congestion balancing on dyn TS * show bug: add test_dyn_ts_amr_tch_{f,h}_to_{h,f}_congestion_assignment_2.ho_vty * hodec2: fix intra-cell congestion balancing with source lchan on dyn TS * lchan assignment when RTP is set up: don't break on Mode Modify * rename lchan->rqd_ta to last_ta * lchan activation: indicate whether TA is known [ Keith ] * Meas Tools: Avoid OSMO_ASSERT due to uninitialised logging. * Meas Tools: Avoid unusable terminal in case of error on osmo_sock_init * Meas Tools, Avoid compiler format warnings * Disallow changing the type of an existing BTS from the vty [ Eric ] * configure.ac: fix libtool issue with clang and sanitizer [ Sylvain Munaut ] * om2k: Add definitions for the TG object * om2k: Allow TG and MCTR to be manipulated via VTY * om2k: Allow the CON configuration request to be triggered via VTY * om2k: Add VTY command to allow TX of arbitrary message for testing * om2k: Don't use slashes in FSM IDs and use dashes instead * om2k: Fix TS channel config payload for non-superchannel case * om2k: Fix type of msg_type in abis_om2k_tx_simple * om2k: Acknowledge the HW Infos Reports * om2k: Acknowledge the unknown MCTR messages we get from time to time * om2k: Properly name message 0x0136, found to be MCTR Statistics Report * om2k: Use the "from config" TS config to setup OM objects * om2k: Dispatch TS_EV_OML_READY to TS FSM only when it's actually ready * om2k: Fix the frequency specifier for TX/RX/TS conf requests * bts_ericsson_rbs2000: Init all the TRX, not just C0 * bts_ericsson_rbs2000: Whitelist the E1d input driver * om2k: Add option to limit OML version during negotiation * om2k: Rename MCTR config request constants for consistency * om2k: Add support for MCTR configuration * om2k: Properly update the 'fake' 12.21 states using OM2000 status * om2k: Wait for OM TRX links to stabilize before trying to bring up TRX * chan_alloc: Don't re-invent trx_is_usable and use existing helper * gsm_data: Update trx_is_usable for ericsson BTS * om2k: Fix invalid use of linked list when building hopping freq list * bts_nokia_site: Fake 12.21 OM objet state as "OK" when boot is done [ Alexander Chemeris ] * ctrs: Correctly count load total for dynamic timeslots. * stats: Report per channel type load to statsd counters. * stats: Remove dots from the end of stats descriptions. * Fix indent whitespace and log message. * stats: Fix stat group index for BTS stats. * Fix a comment for the handle_unitdata_from_msc() function. * chan_alloc: Add comments for the *_chan_load() functions. * osmo_bsc_sigtran: Fix a SSCP-> SCCP typo in a comment * stats: Add a stats gauge for the MSC links count. * stats: report a number of configured BTS to a stats gauge. * stats: Add counters for received BSSMAP messages. * stats: Export connected OML/RSL links count per BTS. * a_reset: Rename SIGTRAN connection to BSSMAP MSC assocation in log messages * stats: Fix Rx DTAP error stat description * bsc_subscr_conn_fsm: Fix a typo in the comment life->live * lchan: Allow transition from BORKEN state to WAIT_RF_RELEASE_ACK * timeslot_fsm: Allow PDCH_ACT_ACK in BORKEN state. * stats: Only dereference a connection pointer after checking for NULL. * handover_test: Properly allocate MSC data struct. * stats: Add counters for Tx BSSMAP messages. * stats: Rename BSSMAP Rx message counters to match Tx ones. * bsc_vty: Coding style fix - brackets around a complex if/else * log: Fix "Paging request failed" logging level * log: Adjust "new SIGTRAN connection" logging level * bssmap: Ignore repeated BSSMAP RESET ACK messages. * log: Demote "CHAN RQD: reason" to INFO * log: Demote "SAPI=%u ESTABLISH CONFIRM" message from ERROR to DEBUG. * borken: Recover from more TS borken states. * stats: Add counters and gauges for BORKEN lchans/TS * stats: Add a BTS/BSC counter PAGING_NO_ACTIVE_PAGING. * stats: Correctly count lchans under BORKEN TS. * bssap: Handle BSSMAP CONFUSION message. * Fix crash in bsc_patch_mm_info() * bsc_patch: Don't even parse MM INFO if TZ patching is not enabled. * bsc_subscr_conn_fsm: Fix crash in gscon_forget_lchan() * stats: Count paging requests flushed due to MSC Reset. * Return 0 from gsm0408_rcvmsg() if SCCP link is already closed. * paging: Remove obsolete comment. * chan_alloc: Fix typo in a comment. * timeslot_fsm: Name TS FSM instances on allocation. [ Daniel Willmann ] * osmo-bsc: Use designated initializer in bts_stat_desc * gsm_data.h: Remove period at end of counter description * abis_rsl: Count successful channel requests * Count assignment rates per BTS as well * Remove punctuation in counter description * Count handover per BTS as well as per BSC * Count intra-cell and intra-bsc handover separately * Add bts counters to count BTS events where we don't have a bts * configure.ac: Require python3 for ext_tests [ Alexander Couzens ] * gsm_data: always set spare bits in channel description * gsm 04.08: encode the LTE neighbors measurement bandwindth in Channel Release * gsm 04.08: correct calculate the Cell Selection Indicator after release of all TCH and SDCCH * osmo-bsc: fix a crash when receiving a RACH LOAD IND with 0 * abis_nm: abis_nm_perform_test: fix a potential null deref * pcu_sock: use tn as variable name to improve readability * pcuif_proto: protocol 9: add missing fields * oml: encode IPv6 NSVC using the new OML attribute NM_ATT_OSMO_NS_LINK_CFG * pcuif_proto: version 10: add frequency hopping parameters * pcuif_proto: version 10: add support for IPv6 NSVCs * bsc_vty: cfg_bts_gprs_nsvc_rip: add missing breaks * bsc_vty: parse the return code to make coverity happy * bts_ipaccess_nanobts: check if msgb_alloc fails * sysmobts: expect feature IPV6_NSVC * Introduce NM GPRS NSVC FSM [ Michael Iedema ] * stats: Add granularity to SDCCH/TCH/LU activity. * stats: Add granularity to chan:rf_fail stat. * cosmetic: shorten deref chains where possible * stats: add SIGN/SPEECH assignment subcategories -- Pau Espin Pedrol Tue, 23 Feb 2021 18:43:04 +0100 osmo-bsc (1.6.0) unstable; urgency=medium [ Philipp Maier ] * bsc_msc_data: remove unused member is_authenticated * gsm_08_08.c: always pick first msc for unsolicit paging responses [ Neels Hofmeyr ] * add vty 'no neighbors' to remove all HO targets * neighbor config: allow re-using ARFCN+BSIC pairs * fsm: use deferred deallocation [ Vadim Yanitskiy ] * abis_nm.c: use LOGP() macro instead of LOGPC() * lchan_select.c: tune log level in lchan_select_by_type() * VTY: also print the active phan config in ts_dump_vty() * osmo_bsc_main.c: verify the physical channel mapping at startup * osmo_bsc_main.c: simplify computation of CCCH_CONFIG * osmo_bsc_main.c: fix CCCH_CONF computation: use pchan_from_config * abis_nm.c: fix error message in verify_chan_comb() * abis_nm.c: replace magic numbers with NM_CHANC_* constants * abis_nm.c: fix RSL connection timeout for trx->nr > 0 [ Harald Welte ] * Cell Broadcast: CBSP and CBCH scheduling support * doc: update bsc_vty_reference.xml * manual: Update statements regarding SCCPlite * SMSCB: Send ETWS primary warning message via all dedicated channels * SMSCB: Send ETWS Primary Notifiation via RSL to BTS * check for osmo_fsm_register() error return value * check for osmo_ss7_init() error return value * manual: Fix copy+paste error * Move a_reset_fsm regstration to __attribute__((contructor)) * exit(2) on unsupported positional arguments on command line * gsm_04_80: Avoid using deprecated API [ Pau Espin Pedrol ] * a_reset.c: Don't wait 2 seconds to send first BSSMAP RESET * bsc: gsm_08_08.c: Remove repeated conn not null check * bsc_subscr_conn_fsm: Cleanly clear BSSAP conn if associated channel closed during WAIT_CC * gsm_08_08.c: Mark func bsc_find_msc() static * sigtran: Set default remote ip to localhost instead of null * bsc_vty: Fix typo in 'no depends-on-bts' cmd * rsl: Send IE MS Power Param during CHAN ACT and MS PWR CTRL messages * rsl.c: Clean up some repeated use of long chains of pointers * rsl: Send IE MS Power Param to osmocom BTS models only * Remove unused API classmark_is_r99() * gsm_data.h: Remove unused field classmark from gsm_subscriber_connection * gsm_data.h: Remove unused func declarations * bsc: Adapt maximum MS Power Ctrl level based on band and MS Power class * cosmetic: bs11_config: clean trailing whitespace * bsc: Send MS Power Control msg upon max MS power change [ Martin Hauke ] * Fix some typos [ Oliver Smith ] * doc: osmux: use generated svg instead of pychart * debian, osmoappdesc.py, tests: switch to python 3 -- Pau Espin Pedrol Fri, 03 Jan 2020 18:24:51 +0100 osmo-bsc (1.5.0) unstable; urgency=medium [ Max ] * LCLS: constify helper parameters * LCLS: use libosmocore function to add status * nanobts: use libosmocore's osmo_store*() for OML attr. patching [ Philipp Maier ] * lchan_select: dont allow half rate EFR to be selected * lchan_select: Do not unsolicitedly select a TCH/F * bsc_vty: add vty command to display all lchans * bsc_vty: add features to disable specific lchans via vty * assignment_fsm: fix channel allocator preferences * assignment_fsm: use activate.info.s15_s0 for ASS. COMPL. * handover_fsm: copy old S15_S0 to new lchan * osmo_bsc_msc: Use meaningful amr rate configuration on BTS level * codec_pref: fix special handling for AMR rate configuration (S15-S0) * lchan_fsm: make sure multi rate configuration is valid * lchan_fsm: do not include 12.2k in active set on HR channels * AMR: Signal usage of octet-aligned or bandwith-efficient mode to MSC * lchan_fsm: add missing header file. * osmo_bsc_bssap: check bssmap length field * rest_octets: add Serving Cell Priority Parameters [ Neels Hofmeyr ] * abis_rsl: Fix TCH-as-SDCCH allocation on Channel Request * handover_fsm: do not access conn->assignment.req, it may be outdated * comments: clarify usage of conn.assignment and .handover scopes * cosmetic: drop unused struct mgcp_ctx shadow * incoming connect: don't crash if calling addr is missing * log N-CONNECT from MSC * Revert "assignment_fsm: Properly support assigning signalling mode TCH/x" * fix log line end in assignment_fsm.c * avoid use-after-free: on MGW endpoint dealloc, also forget it in conn->ho.* * lchan activation: add explicit encryption info to activation * Handover Request: also parse Chosen Algorithm IE, pass to lchan activation * fix inter-BSC-HO-incoming for AoIP (1/2) * use libosmocore osmo_tdef * move mgw endpoint FSM to osmo-mgw.git * fix inter-BSC-HO-incoming for AoIP (1/2) * fix inter-BSC-HO-incoming for AoIP (2/2) * abis_rsl.c: missing newlines on log lines * doc/manuals: review and tweak handover docs * make bsc_clear_request() static * doc/manuals, vty doc: more handover doc clarifications * remove double BSSMAP Clear on HO failure * comment and VTY doc tweaks * silence error for "invalid enum handover_scope value: none" [ Harald Welte ] * gsm_data: Add gsm_bts_name() just like we have gsm_{trx,ts,lchan}_name() * manual: It's not "A over SCCP" but "BSSAP over SCCP" * manual: Add sections on 3G/4G neighbor cells * manual: Re-order chapters in more logical order * manual: s/OsmoNITB/OsmoBSC/ in examples; remove E1 based BTSs * manual: Remove bogus "Control interface" sub-section in overview * Implement CSFB "Fast Return" Handling at RR RELEASE * OML: Fix encoded length value of OML GET ATTRIBUTES * Make sure to default to AMR octet-aligned mode * abis_rsl: Add support for extended CBCH to rsl_sms_cb_command() * abis_rsl: Avoid "Unimplemented" log message for every CBCH LOAD IND * abis_rsl: Fix log message about unimplemented common channel msg * smscb: Allow transmit of SCHEDULE and DEFAULT SMSCB * chan_alloc: Don't include CBCH channels in load computation * keep per-BTS stat_items about RACH busy / RACH access percentage * vty: Dump per-bts stat_item group in 'show bts' output * Allow VTY to set the CCCH Load Indication Threshold * rx_fail_evt_rep(): Don't recycle variable * Re-introduce support for IPA-encapsulated MGCP * logging: introduce LOG_BTS and LOG_TRX and use it everywhere * vty: Fix typo in VTY command descrption -> description [ Pau Espin Pedrol ] * ipaccess/Makefile.am: Remove unneeded libmgcp-client dep * Move LCLS references from gsm_data to osmo_bsc_lcls * Move msc related code from gsm_data to bsc_msc * ipaccess/Makefile.am: Remove unneeded libosmo-sigtran dep * net_init.c: remove unneeded header * configure.ac: Add flag to enable/disable build of ipaccess related utils * src/utils/Makefile.am: Drop unneeded sigtran and mgcp-client deps * fix another log line end in assignment_fsm.c * Drop unused old osmux leftover code * vty: Add option to enable osmux towards MSC * bssap: Detect MSC Osmux support on RESET (ACK) recv * bssap: Announce Osmux support on RESET (ACK) send * bssap: Parse Osmux CID on BSSAP Assign Req recv and use it in MGCP * bssap: Feed Assign Complete with Osmux CID retrieved from MGW * lcls: Fix MDCX with garbage on LCLS loop break * Introduce msc_is_{sccplite,aoip}() helpers * bsc: Append Osmux Support IE only on AoIP * Remove extern declarations of libosmovty symbols * bsc_subscr_conn_fsm: Use gscon_bssmap_clear() helper on send failure * bsc_subscr_conn_fsm: Log Tx of BSSMAP Clear Request with cause * doc: Add Osmux documentation to User Manual * Remove undefined param passed to logging_vty_add_cmds [ Sylvain Munaut ] * assignment_fsm: Properly support assigning signalling mode TCH/x * assignment_fsm: Properly support assigning signalling mode TCH/x [ Vadim Yanitskiy ] * abis_nm.c: use proper format specifiers for BTS / TRX number * abis_nm.c: also print TRX number in abis_nm_get_attr() * abis_nm.c: use abis_nm_ipa_magic from libosmocore * abis_nm.c: use msgb_lv_put() to put abis_nm_ipa_magic * abis_nm.c: fix broken logging in abis_nm_rx_ipacc() * gsm_data.c: use REG_NOSUB flag of regcomp() * osmo_bsc_lcls.c: cosmetic: make Coverity happy * ipaccess-config: use POSIX regex for Unit ID format check * handover_fsm.c: fix: prevent possible buffer overflow [ Daniel Willmann ] * doc: Add generic counter chapter in manual * manuals: Fix example config to reflect OsmoBSC commands * Change comments/strings from OpenBSC to OsmoBSC * gsm_data.h: Remove unused variable from OpenBSC times * Revert "fix inter-BSC-HO-incoming for AoIP (1/2)" * manuals: Update generated VTY reference and counters * manuals: Add script to update vtr/counter documentation from docker [ Oliver Smith ] * debian: create -doc subpackage with pdf manuals * contrib/jenkins.sh: run "make maintainer-clean" * contrib/jenkins.sh: "maintainer-clean" after "publish" * osmo-bsc.cfg: work with osmo-bts example cfg [ Eric Wild ] * vty: adjust config name for unit-id * turn -Werror=null-dereference into a warning [ Ruben Undheim ] * Fix some spelling errors found by lintian -- Pau Espin Pedrol Wed, 07 Aug 2019 20:42:06 +0200 osmo-bsc (1.4.0) unstable; urgency=medium [ Neels Hofmeyr ] * inter-BSC HO: add neighbor_ident API to manage neighbor-BSS-cells * inter-BSC HO: neighbor_ident API: drop 9bit BSIC * doc: update/fix FSM charts * fix / clarify rsl dtap cache * rename gsm_04_08_utils.[hc] to gsm_04_08_rr * cosmetic: move RR functions from bsc_api.c to gsm_04_08_rr.c * add gsm_timers, for Tnnn definitions usable by FSMs * large refactoring: use FSMs for lchans; add inter-BSC HO * fix nanobts: timeslot FSM: use flags to remember OML,RSL status * fix: dispatch TS_EV_RSL_DOWN when losing RSL * timeslot FSM: fix infinite recursion on failure to send PDCH ACT * timeslot FSM: permit entering broken state from anywhere * cosmetic: FSMs: allow ignorable events * fix BSC_CTR_ASSIGNMENT doc strings * lchan_fsm: split off lchan_rtp_fsm, establish RTP a bit earlier * lchan_fsm: add in_release_handler flag * allocate larger lchans if no SDCCH are available * create separate logging categories for lchan,ts,as FSMs * cosmetic: constify gsm_bts_num() net arg * vty: 'handover any': pick more random chans, use lchan_select_by_type() * cosmetic: dissolve bsc_api.c * cosmetic: reduce bsc_api.h * cosmetic: rename bsc_api.h to gsm_08_08.h * cosmetic: rename osmo_bsc_api.c to gsm_08_08.c * cosmetic: gscon: don't re-enter ST_CLEARING * use __FILE__, not __BASE_FILE__ * fix lchan_rtp_fsm: missing event handling * MGCP: add 'X-Osmo-IGN: C' for SCCPlite by default * cosmetic: neighbor_ident_vty.c: add and use common string defs * neighbor_ident_vty.c: fix CI format, should be 16bit * inter-BSC HO incoming: continue despite missing Classmark * inter-BSC HO incoming: drop old/wrong RTP port code * lchan_fsm: lchan_fail_to(): store target state early * cosmetic: lchan_fsm failure: log about state transitions * lchan_fsm: safer 'concluded' flag * log: lchan_rtp_fsm: add missing '\n' * log: 'sending BSSMAP HO Request ACK' * inter-BSC HO: send failure msg directly * log: tweaks and more context in osmo_bsc_sigtran_send() * fix dependency bug: include mgcp_client/, not mgcp/ * cosmetic: lchan activ: no need to clear mr again * cosmetic: lchan activ: drop todo comments * lchan: pick proper power and ta values * SCCPlite Assignment Complete: include Speech Codec (Chosen) * inter-BSC HO incoming: send BSSMAP HO Complete directly * inter-BSC HO outgoing: fix L3 forwarding * ho fsm: handle RR HO Failure for inter-BSC outgoing * lchan_fsm: allow late RTP release events without erroring * ts,lchan_fsm: do not attempt to allocate CBCH subslots * Implement RR Classmark Enquiry * fix LCLS during Assignment: actually use new TCH lchan * cosmetic: drop param from send_assignment_complete() * vty: add SCCP related vty commands * make: allow vty-tests without configure * test neighbor ident vty docs * neighbor vty: drop keyword 'add' * neighbor vty: rather 'no neighbor', not 'neighbor del' * neighbor vty: allow setting local neighbors by CGI * vty: write local neighbors by bts nr, not lac-ci * fix counters for inter-BSC outgoing * gscon_forget_lchan(): no Clear Request after Clear Command * gscon_forget_lchan(): Clear Request iff no lchans remain * subscr conn: properly forget lchan before release * lchan_fsm: fix failure handling: notify conn when released * handover_decision_2.c: tweak comments * handover_decision_2.c: tweak ho candidate logging * handover_decision_2.c: find_alternative_lchan: drop goto * handover_decision_2.c: drop redundant debug_candidate() args * lchan_fsm: notify conn of released lchan upon RF Release * handover_fsm: adjust inter-BSC HO failure handling to spec * remote-BSS neighbors: allow only one cell ID * handover_decision_2.c: refactor trigger_*() * handover_decision_2.c: implement HO to remote BSS * abis_rsl.c: fix uninitialized RSL cause issues * handover_fsm: fix missing newline for log statement * handover_fsm: fix failure logging of uninitialized chan mode * fix build: revert bad neighbor_ident.vty change * vty doc: drop "(HO algo 2 only)" strings * lchan_fsm_cleanup: drop redundant 'forget_lchan' call * lchan: rf release: make sure conn is NULL * dbug log: verbosely detach conn<->lchan * fix: send RR Release (e.g. after BSSMAP Clear Cmd) * abis_rsl.c: drop unused enum sacch_deact * lchan: release in error: fix missing messages / events * lchan release: always Deact SACCH * cosmetic: lchan: introduce sub-struct lchan->release.* * cosmetic: abis_rsl.c: drop uneccesary braces * lchan: set cause for 4 instances of release_in_error = true * coverity: gscon_forget_lchan: squelch forward-null * always directly send BSSMAP Clear Request * send Immediate Assignment Reject only before Immediate Assignment * Importing history from osmo-gsm-manuals * minor tweak * make clean: also remove generated image files * add 'make check' target * OsmoBSC+NITB/running: fix title levels, one too deep * OsmoBSC: include bts-examples.adoc from OsmoNITB * fix 'make clean': shell glob, ignore failure * refactor Makefile build rules, don't use the FORCE * OsmoBSC: update overview to explain both SCCPlite and SCCP/M3UA * common / OsmoBSC: drop unused alink.adoc * OsmoBSC: update VTY reference * bsc: document handover * bsc: handover: clarify default of all-cells-are-neighbors * bsc: handover: mention the need to resend SI for telnet neighbor cfg * author info: add "former" to Holger's job title * OsmoBSC: update VTY reference * follow-up: logging tweak for Immediate Assignment * set gscon FSM instances' log level to DEBUG * make sure early lchan act failure resets the lchan * comments: describe some lchan details * use mgcp-client configured endpoint domain name [ Philipp Maier ] * endpoint_fsm: add missing return in mgcp_pick_codec * gscon: use BSS-common payload types on BSS side * sigtran: fix memleak in osmo_bsc_sigtran_send() * GSCON: avoid sending connection oriented data when not connected * GSCON: call api of a_reset.c with msc object directly * lcls: do not LCLS call legs with different codecs * doc: update mgw settings in example config file * assignment: remove unnecessary call to gsm0808_speech_codec_from_chan_type() * codec_pref: fix typo in comment * codec_pref: add AMR configuration bits to make_scl_config() in unit-test * codec_pref: fix missing breaks in switch-case statement * LCLS: fix codec mismatch detection * gsm_data: remove unused struct member full_rate. * gsm_data: remove unused struct member chan_mode * assignment_fsm: only include speech codec (choosen) on AoIP networks * gsm_data.c: Set reasonable AMR codec defaults in gsm_bts_alloc() * codec_pref: Add Codec List to COMPLETE LAYER 3 INFORMATION * lcls: log channel type and lchan names on LCLS codec mismatch * codec_pref: handle S0-S15 in ASSIGNMENT REQUEST * gsm_08_08: abort complete L3 3 msg gen when no codecs are set * osmo_bsc_msc: Set reasonable codec list defaults * codec_pref: check codec configuration before start * codec_pref: cosmetic: seperate half/full rate determination * codec_pref: also check physical channels * gsm_08_08: allow zero length speech codec lists in compl l3 info. * gsm_08_08: do not include zero length speech codec list. * gsm_data: set meaningful default values for amr modes * codec_pref: also check amr codec rates in check_codec_pref() * gsm_04_08: improve gsm48_multirate_config() * bsc_vty: check amr mode parameters * lchan_fsm: generate proper multirate configuration IE on RSL * gsm_data: make cgi_for_msc available for other modules * handover_fsm: send HANDOVER PERFORMED msg on internal ho * paging: fix nullpointer deref * chan_alloc: remove references to lchan_alloc() [ Harald Welte ] * Migrate from osmo_ipa_idtag_parse() to ipa_ccm_id_resp_parse() * handover_fsm.c: Fix -Werror=format-security errors * cbch: Don't send cell-broadcast command on BTS without CBCH channel * gsm48_lchan2chan_desc() belongs to gsm_data.h * Introduce gsm48_lchan2chan_desc_as_configured() * CBCH: Fix SI4 CBCH IE generation * CBCH: Fix gsm_bts_get_cbch() * nanoBTS: Allow BCCH with CBCH on TS0 * range_enc_determine_range(): Don't dereference array on size=0 * handover_start_inter_bsc_in(): Uninitialized variable * ipaccess-config: Fix open() return value checking * bssmap_handle_cipher_mode(): Don't sent reject if !conn * subscr_conn_fsm: Fix null-pointer deref / N-CONNECT.ind from unknown MSC * acc_ramp: An unsigned int is always >= 0 * ipaccess-proxy: Add error handling to IAP CCM ID RESP parsing * initial checkin of manuals to public repo * Add link to Asciidoc source code of manual * add Ericsson OM2000 message sequence charts (one for each MO) * OM2000 message sequence charts: specify MO in node name * OM2000 MSC: Fix spelling * Add chapter on Cell Broadcast Support in Osmocom (to BSC+NITB manual) * BSC: Add series of message sequence charts about MGCP handling * mgw: Fix endpoint names for new MGW * MGW: Include MGCP endpoint naming scheme of old IPA/SCCPlite approach * add message sequence chart MS/BTS/BSC/MSC for 3GPP aoIP MO call * vty-ref: Update URI of docbook 5.0 schema [ Pau Espin Pedrol ] * bsc: Use libosmocore API to track osmo_signal structs * abis_nm: Fix heap-use-after-free in abis_nm_set_channel_attr * abis_nm: Fix trailing whitespacing * Fix heap-use-after-free due to OML link destruction * abis_nm_ipaccess_rsl_connect: Log bts and trx nr * codec_pref: Log unsupported codec name used * codec_pref: Log HR2 specifically as never specified * codec_pref.c: Add comment in expected switch case without break * Install systemd services with autotools * Install sample cfg file to /etc/osmocom * osmo-bsc: Add default case for switch(enum) * abis_nm_get_ts: Return TS of correct TRX, not always TRX0 * ipaccess-config: Use enum value for OML IP * abis_nm: Rename m_id_len to ease review of forthcoming patches * abis_nm: Split handling of Attribute Response Info into its own func * abis_nm: Split reported attr list parsing from Attribute Response Info into its own func * abis_nm: Allow sending and receiving Get Attributes (Response) against nanoBTS * abis_nm: Add support to parse some nanoBTS Attribute Response attributes * abis_nm: Add support to parse OML IP and Unit Id in Get Attributes * abis_nm: Support parsing nanoBTS format for Get Attributes Info * abis_nm: parse_attr_resp_info_unreported: Fix offset calculation * examples: Remove neighbor-list invalid for default setup * bsc: bts_alloc: Use enum value during neigh_list_manual_mode initialization * bsc: vty: Use enum value in neighbor-list check * bsc: gsm0808: Fix return code in bsc_compl_l3 * osmo-bsc: gsm_timers_vty: Set global T_defs during vty_init * bsc: Prefix log string with related SI type during call to list_arfcn * bsc: si: Fix SI2bis L2 pseudo length * bsc: si: Fix SI2ter L2 pseudo length * bsc: Enable force-combined-si on nanoBTS by default * bsc: band_compatible: Return band non-compatible for invalid arfcn * bsc: vty: Verify and warn on invalid arfcn passed * abis_nm: Introduce new signal S_NM_GET_ATTR_REP * ipaccess-config: Fix whitespace * ipaccess-config: Add -G cmdl opt to query OML IP and Unit ID * ipaccess-config: cosmetic: Remove unneeded comment with hex values * gsm0408_rcvmsg: Release lchan if L3 fails to complete * ipaccess-config: Introduce -q quiet param * Add osmux-reference document * osmux-reference: Use packetdiag to draw packet header structures * osmux-reference: Add sequence charts * osmux-reference: Add traffic saving plot * osmux-reference-docinfo: Add latest changes to revhistory * osmux: Fix description for Dummy frames FT field * Allow easily disabling GFDL references * cosmetic: bsc: timeslot_fsm: Clean uneeded scope brackets * bsc: lchan_select: Avoid returning a TCH/H lchan when TCH/F is requested * bsc: ts_as_pchan_for_each_lchan: reorder and improve documentation * bsc: ts_for_each_lchan: Improve documentation * bsc: Add define for ts_as_pchan_for_each_lchan with ts->pchan_on_init * bsc: Fix lchan iteration for dyn TS during PDCH Deact * bsc: timelost_fsm: Remove unneeded set of out variable on failure * bsc: timeslot_fsm: Fix ts_is_lchan_waiting_for_pchan * bsc: ts_is_pchan_switching: Return correct IPA dyn TS target_pchan * bsc: timeslot_fsm: Fix possible skip of some lchans in ts_terminate_lchan_fsms * bsc: timeslot_fsm: Fix count in ts_lchans_waiting * bsc: lchan_rtp_fsm: Avoid duplicate LCHAN_EV_RTP_RELEASED event * bsc: lchan_fsm: Add missing transition WAIT_TS_READY->WAIT_RLL_RTP_RELEASED * bsc: timeslot_fsm: Handle and ignore tear down of lchan during PDCH DEACT * bsc: lchan_fsm: Fix invalid duplicated transition * paging: Add VTY options to calculate T3113 timeout dynamically * paging: fix whitespace * paging: Properly enclose logging imsi filter scope * bsc_main: filter_fn: Compare imsi values instead of subscr pointers * bsc: Set subscr log context during complete_layer3 * bsc: rsl: Set subscr log context during meas report * bsc: dtap: Set subscr log context * bsc: bssap: Set subscr log context during paging * Add VTY option to avoid sending empty Full BCCH Info for disabled SI [ Stefan Sperling ] * check for overlong unix socket paths * fix unaligned access in abis_nm_rx_ipacc() * re-order condition checks for clarity * show dynamic timeslot details in 'show timeslot' vty command * check return value of gsm48_multirate_config() * add missing 'break' in switch statement * unlink socket path correctly in rf_create_socket() [ Martin Hauke ] * cosmetics: Fix typo in bsc_vty.c * ipaccess-config: Generate valid JSON output when using the -G parameter * ipaccess-config: Fix indentation of the usage output [ Oliver Smith ] * osmo_bsc_main.c: initialize rate counters * vty 'show bts'/'show trx': display IPs and ports * cosmetic: fix spec ref for gsm0808_cipher_mode() * cipher mode reject: send proper cause codes * vty: add 'show rejected-bts' * ipaccess_sign_link_reject: fix: use osmo_strlcpy() to safely copy IP * copy NITB's osmobsc-usermanual.adoc to OsmoBSC * build manuals included from osmo-gsm-manuals.git * Fix DISTCHECK_CONFIGURE_FLAGS override * contrib/jenkins.sh: build and publish manuals * contrib: fix makedistcheck with disabled systemd [ Daniel Willmann ] * debian: Require libcdk and install meas_vis osmo-bsc-meas-utils * OsmoBSC/HLR/MSC: Fix default config file name * gsm_04_08: Free GSM subscr conn if paging response can't be matched * VTY: Allow logging filter imsi statements for IMSIs we haven't seen yet [ Max ] * vty: don't show GPRS details if not configured * LCLS: move MGCP MDCX into separate function * Make IP address helper accessible via header file * constify rsl_tx_ipacc_*cx() parameters * LCLS: expand logging to print the name of the mode in use * LCLS: tighten GCR check * LCLS: explicitly check for mode before closing the loop * LCLS: move mode check into separate function * LCLS: make config and control redable in 'sh conns' * RSL: restructure MDCX functions * LCLS: add bts-loop variant * vty: add command to show TRX selectively * Add OsmoBSC control interface description * Add OsmoBSC control interface description * OsmoBSC: update CTRL docs * LCLS: update parameter representation * LCLS: log config/control update * IPA: log OML/RSL link drop reason * LCLS: use enum values instead of magic numbers * Print BTS number on GPRS options error * Log MDCX ACK for established lchan [ Jonathan Brielmaier ] * fix various typos across all manuals [ Ivaylo Kostov ] * BSC,BTS: add diagrams of PCU-BTS-NITB-SGSN relationships [ Alexander Couzens ] * OsmoBSC: add rate counter documentation [ Vadim Yanitskiy ] * osmo_bsc_bssap.c: fix incorrect link_id assignment -- Harald Welte Sun, 20 Jan 2019 21:21:24 +0100 osmo-bsc (1.3.0) unstable; urgency=medium [ Philipp Maier ] * a_reset: cleanup + remove dead code * gscon: remove dead code * gscon: pick suitable payload type / encoding name for MGCP * lcls: set codec info when performing MGW operation * codec_pref: move match_codec_pref() to separate c-file and add unit-test * codec_pref: check bts codec support * chan_alloc: reset rtp voice related bits in lchan_free() * rsl: use 3GPP assigned payload type constants from libosmo-netif [ Stefan Sperling ] * show all global counters of osmo-bsc in vty * add counter for connection attempts from BTS with unknown unit id * fix misaligned memory write access in abis_nm_ipaccess_rsl_connect() * increment 'paging responded' counter for active paging only * fix handling of invalid pchan names in vty [ Pau Espin Pedrol ] * nat: Add jitter buffer on the uplink receiver * acc_ramp: Increase log level of some messages * chan_alloc: Print bts nr on chan alloc failure * abis_rsl.c: Fix whitespace * abis_rsl: rsl_rx_chan_rqd: Format bts log string as in everywhere else * pcu_sock: Log event pcu_sock created * osmo-bsc: Clean help description of cmd line parameters * osmo-bsc: Add -V param to print version * debian: Move meas related binaries into new package osmo-bsc-meas-utils * bsc-filter: Remove unused func barr_adapt and set barr_find static * bsc_vty: Write access list entries when storing bsc config * Init access_lists before passing it as a parameter * Rename bsc_msg_acc_lst_vty_init to have more uniform prefix * filter: vty: Print policy list in cmd show access-list * filter: Replace '.' in counter names with ':' * filter: Allocate each ctr group with a different idx * ctrl: Avoid sending back received ERROR msgs [ Neels Hofmeyr ] * bsc_api.c: actually log with context * abis_rsl.h: drop unused rsl_chan_activate() declaration * cosmetic: bsc_dyn_ts.c: make local functions static * cosmetic: define TCH_F_PDCH_PENDING_MASK as actual bitwise or * cosmetic: logging and ordering in handle_ass_compl() * doc: add msc charts on Assignment/Handover internals * tests: remove bssap_test * tests: remove channel_test * bsc_test: drop "scan to MSC" code path * dissolve libbsc: move all to src/osmo-bsc, link .o files * remove struct bsc_api * cosmetic: magic number: use RSL_ACT_ constant for chan act * cosmetic: gscon: undup code: add common assignment_failed() * assignment: signal assignment failure on chan act nack * log: fix logging in rsl_rx_chan_act_nack() * log: assignment: add two logs on unexpected lchan release * use libosmocore's gsm0808_permitted_speech(), gsm0808_chosen_channel() * cosmetic: penalty timers: constify, tweak doc * cosmetic: bsc_subscr_alloc: log initial get * gscon: put subscriber a little later * try to pick up subsrc IMSI on l3-compl * store subscriber identity on paging * cosmetic: handover_test: add IMSI to subscr for logging * doc: tweak msc charts on Assignment/Handover: act_timer * doc: add lchan-release.msc * doc: add ms-channel-request.msc * doc: charts: illustrate new plan for ts and lchans * cosmetic: gscon: drop odd use of OSMO_STRINGIFY * HO: introduce T7, T8, T101 timers * drop dead code: conn->T10, handled by gscon instead * make T10 configurable like the rest of them * fix dyn TS init: properly identify BTS on OML OPSTART ACK * cosmetic / linking: move str_to_imsi() out of abis_rsl.c * cosmetic: name osmo-bsc's root ctx 'osmo-bsc', not 'openbsc' * call osmo_xua_msg_tall_ctx_init() * fix handover start: dealloc ho if event not permitted * ho cfg: fix unit strings * hodec2 log: less verbose, more concise logging * various logging: fix missing/extra newlines * BTS codec pref legacy compat: allow all codecs per default [ Harald Welte ] * bsc: Fix check for MSC-side FSM allocation failure * vty: Permit selection of other ASP protocol than M3UA * bsc: Add mgcp_port_to_cic() to determine CIC from RTP Port * bsc: Use correct MGCP endpoint name for IPA/SCCPlite * bsc: Don't reject ASSIGNMENT for Audio in IPA/SCCPlite case * bsc: Don't include AoIP IEs in ASSIGNMENT COMPLETE over SCCPlite * bsc: Don't create MSC-side MGCP connection in IPA/SCCPlite case * remove remaining bits of osmo-bsc_nat * Remove 'struct bsc_msc_connection' + fix IPA-encapsulated CTRL * move 'extern struct gsm_network *bsc_gsmnet" to header file * VTY: Print some more information in "show conns" * Add initial 3GPP LCLS support to OsmoBSC * LCLS: add VTY config to enable/disable LCLS on per-MSC basis * Reject ASSIGNMENT REQ with CIC but no AoIP transp addr in AoIP case * Ignore "dest" command in MSC node * Explicitly register CTRL-over-IPA callback with libosmo-sigtran * Remove unused logging subsystems DCC and DMGCP * remove traces of osmo-bsc_nat in python test (osmoappdesc/test_runner) * Add missing event string name for GSCON_EV_LCLS_FAIL * bsc_subscr_conn_fsm: BSC must not release SCCP connection * absi_rsl: Fix segfault in rsl_rx_conn_fail() [ Daniel Willmann ] * git-version-gen: Don't check for .git directory -- Pau Espin Pedrol Fri, 27 Jul 2018 19:25:05 +0200 osmo-bsc (1.2.1) unstable; urgency=medium [ Philipp Maier ] * bsc_api/GSCON: prevent unnecessary channel mode modifications [ Neels Hofmeyr ] * resurrect meas_feed.c: vty, vty-test * dyn ts, bts_ipaccess_nanobts.c: init PDCH on Chan OPSTART ACK * dyn TS, assignment: set lchan state to LCHAN_S_ACT_REQ in the proper place * dyn TS, assignment: allow switch from PDCH with associated conn * dyn TS: init only when both RSL and the Channel OM are established * dyn TS: allow any pchan type changes, fix for gprs mode none * debug log: verbosely log all lchan alloc choices * deprecate dyn_ts_allow_tch_f and by default allow all TCH * fix default fallbacks in audio_support_to_gsm88() * log: indicate hr/fr in audio_support_to_gsm88() error * cosmetic: dyn ts init: undup logging for gprs = none [ Vadim Yanitskiy ] * osmo_bsc_vty.c: fix: write MGW configuration -- Pau Espin Pedrol Tue, 15 May 2018 14:10:38 +0200 osmo-bsc (1.2.0) unstable; urgency=medium [ Neels Hofmeyr ] * vty: skip installing cmds now always installed by default * bssap: paging: page entire BSS for unimplemented cell id list * fix build: bssap test broke by undefined references * osmo-bsc RESET FSM: use distinct struct names * osmo-bsc: SCCP addrs: default only if unset, reject invalid * osmo-bsc vty: be fatal for addressbook entry errors * use osmo_sccp_inst_addr_name() instead of looking up ss7 * add --enable-sanitize config option * bsc_init: fix Werror: define rc for 2quater with si2q_count == 0 * bsc filter: don't ignore imsi-allow on "global" filter level * compiler warnings: drop some unused variables * compiler warnings: constify in abis_nm.c * cleanup: drop unused gsm_bts.role * compiler warnings: add includes in abis_rsl.h, gsm_data_shared.h * cosmetic: handover.h: use "#pragma once", declare structs, comments * examples: add osmo-bsc-minimal.cfg * HO prep: pass gsm_network to gsm_bts_alloc() already * fix segfault upon release paging on BSSMAP Reset: init llist * log typo fix in gsm0808_cipher_mode() * debug log: log Cipher Mode info upon sending down RSL/A-bis * fix bssmap_handle_cipher_mode()'s encryption decision * abisip-find: add getopt option parsing in preparation for a new option * abisip-find: add -l to list base stations instead of streaming replies * abisip-find: update copyright * abisip-find: add timeout option * abisip-find: add --interval option * vty: fix 'show lchan ...' arg [lchan_nr] to [<0-7>] * vty: change handover command's arg LCHAN_NR to <0-7> * vty: cosmetic: use common BTS, TRX, TS, LCHAN strings * vty: add various manual handover and assignment trigger commands * osmo_bsc_mgcp: cosmetic: introduce mgcp_init(), soak up fsm init * HO: fix recovery from failed handover * HO prep: introduce per-BTS handover config, with defaults on net node * HO: add indicators for inter-cell and async ho, use for chan act type * cosmetic: explicitly init ho_ref start value * fixup: neigh_meas_avg: detect invalid window size as <=0, log if invalid * fixup: neigh_meas_avg: fix condition to reduce window size * HO: enable handover by initializing at startup; rename init function * HO: add handover algo 2 parameters; skip HO 1 if HO 2 is configured * HO: rename gsm_bts_neighbor() to bts_by_arfcn_bsic() * HO: make bts_by_arfcn_bsic() public * libcommon: eliminate bsc_version.c * libcommon: eliminate common_vty.c * libcommon: eliminate debug.c * libcommon: eliminate socket.c * libcommon: eliminate talloc_ctx.c * ipaccess-proxy: don't redefine tall_bsc_ctx * libcommon: join gsm_data_shared.* into gsm_data.* * drop libcommon completely, move remaining files to libbsc * libcommon-cs: move a_reset.c into libbsc * libcommon-cs: move gsm_network_init() into bsc_network_init() * gsm_network: drop unused trans_list * libcommon_cs: move gsm48 bits to libbsc * libcommon-cs: move vty bits to libbsc/bsc_vty.c * common_cs.h: mv gsm_encr to gsm_data.h * drop libcommon-cs completely * drop unused common.h * gsm_network: drop unused subscr_epxire_timer * vty: 'show bts': write '(none)' if none are found. * vty: 'show bts': fix indenting * bts chan_load: ignore unusable BTS * handover_logic.c: always do inter-cell channel activation * handover_logic.c: on HO command, send new lchan's MS power * HO: process_meas_rep: guard against modulo zero * HO: cosmetic: bsc_handover_start(): "fix" memcpy for AMR config * HO: add new_lchan_type arg to bsc_handover_start() * HO: cosmetic: bsc_handover_start_lchan_change(): tweak local vars * HO: always do async handover * HO: bsc_handover_start_lchan_change(): set MS to max power on handover * HO: logging: more logs, and more concise logging * HO: move penalty timers to own file as proper API * HO: store speech codec list from BSSMAP Assignment in conn * HO: cfg: tweak vty write * vty: 'show bts': list the TRXs' ARFCNs * vty: 'show bts': print neighbor cells * HO: cfg: separate hodec1 from hodec2 parameters * HO: lchan: store last seen measurement report nr, tweak log * HO: clearly mark conn penalty timer member for hodec2 * HO: cosmetic: handover_decision.c: make process_meas_rep() return void * HO: introduce ho decision callbacks * HO: cosmetic: getting a chan activ nack on a non-ho lchan is not an error * HO: Implement load based handover, as handover_decision_2.c * HO: vty: rename ho decision 1 vty to 'handover1' with 'handover' alias * cosmetic: adjust copyrights on handover_cfg.c,_vty.c * HO: vty: clearly mark 'handover foo' as legacy alias for 'handover1 foo' * drop unused libbsc/meas_proc.c * HO: fix minor issues found by coverity * bsc_api.c: fix log string format * fix build: gprs_ra_id_by_bts(): ensure to init all values * compiler warning: chan_compat_with_mode(): clearly handle all enum vals * add test for gsm48_ra_id_by_bts() * add test for abis_nm_ipaccess_cgi() * ctrl_test_runner: add tests for 3-digit MNC * gsm48_ra_id_by_bts(): struct gsm48_ra_id* instead of buf * cosmetic: bsc_network_init(): imply default 001-01 PLMN * implement support for 3-digit MNC with leading zeros * gsm48_parse_meas_rep(): set num_cell=0 if no neighbor cells are reported * cosmetic: hodec2: log nr of neighbors in meas report * cosmetic: typo in log: handover_decision2.c: 'measuements' * handover_test: explicitly wrap abis_rsl_sendmsg() * pcu_if: implement support for 3-digit MNC * configure: add --enable-werror * cosmetic: abis_nm: use osmo_cell_global_id, parse 3-digit MNC * fixup: apply mnc3 change also in ipaccess/network_listen.c * vty: drop unused vty definitions (*_NODE, msc_*) * gsm0408_test: drop LAI encoding test * range_enc_arfcns: avoid runtime error on zero size * fix gsm0408_test: properly free bts struct after each test * move init from gsm_bts_alloc_register() to gsm_bts_alloc(); fix gsm0408_test * cosmetic: gsm0408_test: drop unused arg from bts_init() * ctx cleanup: use non-NULL talloc ctx for osmo_init_logging2() * vty: re-add 'timeout-ping' and 'timeout-pong' as dummy commands * resurrect meas_feed.c from openbsc.git history * resurrect meas_feed.c: make it compile, add logging [ Max ] * Check OML state per-BTS * OML: consider administrative state when reporting * cosmetic: remove obsolete ROLE_BSC * cosmetic: tighten function type signatures * cosmetic: drop unused include * cosmetic: mark gsm_objclass2mo as static * OML: expand status reporting checks * Generate SI2ter Rest Octets * Generate SI2bis Rest Octets * Fix tests after rate_ctr change * Remove unneeded .py scripts * Enable sanitize for CI tests * Migrate from OpenSSL to osmo_get_rand_id() * Add optional profiling support * Fix .deb builds * Check and handle SMS encoding failure * Remove obsolete ./configure option * cosmetic: remove duplicated code * RSL: print link state per-TRX * vty: fix OML link state printing * cosmetic: log prim operation as text [ Philipp Maier ] * mgcp: use osmo-mgw to switch RTP streams * cosmetic: remove distracting newline * cosmetic: reorder case list * cosmetic: replace term MGCP-GW with MGW * mgcp: add missing out state * mgcp: remove unused variable * reset: remove name variable from reset context * doc: add example configuration for osmo-mgw * auth: remove obsolete VTY commands * bssap: remove libosmo-legacy-mgcp dependancy * sccp-lite: remove obsolete VTY commands * auth: remove unused structs * auth: remove obsolete VTY commands * mgcp: use hexadecimal digits in endpoint names * mgcp: use mgw assigned connection identifiers * mgcp: add missing switch case * mgcp: do not fail silently on snprintf() * cosmetic: remove duplicate logging * cosmetic: do not cast void pointer * cosmetic: add missing log prefix * cosmetic: correct sourcecode formatting * cosmetic: use fsm pointer from parameter list * mgcp: cosmetic fixups * paging: paging_flush_bts: be sure pending_requests is initalized * cosmetic: osmo_bsc_mgcp: improve comments * mgcp: cancel transactions on timeout * mgcp: validate rtp connection data in MGW response (ip/port) * mgcp: log file and line of calls to handle_error() * cosmetic: mgcp: remove duplicate logging * abis_rsl: permit first EstablishInd only on SAPI=0 * abis_rsl: do not allow SACCH in MF mode on SAPI=0 * SIGTRAN: correct wrong log category * bsc_api: drop unknown RR messages. * paging: page all bts when no cell is associated * paging: fix paging attemt rate counter * a_reset: Add FSM event names * gsm_data: use feature list from libosmocore * bsc_vty: display bts features in show bts * cosmetic: remove unused enum members * cosmetic: fix typo * cosmetic: fix argument order of forward_dtap() * cosmetic: remove needless fixme note. * cosmetic: fix incomplete sentence in comment. * Cosmetic: fix missing semicolon after osmo-assert * cosmetic: remove dead code and obsolete fixmes * cosmetic: remove old, already commented-out code * ipaccess: make ipaccess-config build again * bs11: make bs11_config build again * cosmetic: remove dead code: osmo_bsc_reset.c * gscon: fix illegal state transitions * cosmetic: remove dead code * cosmetic: Add fixme note for OS#3112 * inform A-RESET FSM about MSC CR timeouts * gscon: fix assignment of signalling channels * cosmetic: Add note about libosmo-legacy-mgcp to configure.ac [ Harald Welte ] * debian: Add dependency to libosmo-mgcp-client-dev * debian: Increase required libosmo-legacy-mgcp-dev version * configure.ac/debian: Require libosmo-mgcp-client-dev >= 1.2.0 * osmo-bsc: Print NOTICE message on unimplemented BSSMAP UDT * Move many counters from BSC-global to per-BTS granularity * rate_ctr: Use ':' as separator, not '.' * Remove 'msc' counter group from BSC * Change T3101 default from 10s to 3s. * paging.c: add more documentation on what the functions actually do * paging: Remove obsolete paging call-back support * paging: Stop all paging if MSC sends us BSSMAP RESET * Fix per-BTS counter group index * libbsc: paging: more reasonable (and detailed) paging statistics * Reduce T3113 default from 60s to 10s * Add per-BTS rate_ctr for total + failed number of RSL CHAN_ACT * Add new per-BTS "rsl:unknown" counter to count unknown RSL messages * Add a new counter "rsl:ipa_nack" to count number of IPA related NACKs * Add new "chan:mode_modify_nack" counter to count RSL MODE MODIFY NACK * Remove dead code left over from NITB split * Remove unused RRLP options/codec * Remove bogus vty config for LU reject cause * Remove bogus MM INFO configuration * Remove some more dead code * remove libosmo-sccp dependency for osmo-bsc * osmo_bsc_bssap.c: Spelling fixes in comment * Remove unused struct osmo_bsc_sccp_con member sccp_queue_size * osmo_bsc.h: document every field in 'struct osmo_bsc_sccp_con' * osmo-bsc: Move user plane/voice related bits into sub-structure * gsm_data.h: Document all fields of gsm_subscriber_connection * remove unused 'lac' member of 'struct gsm_subscriber_connection' * BSC: Add "show subscriber all" command * BSC: Fix bsc_subsc leak on paging * bsc_test.c: Use proper network/bts/lchan structures * cosmetic: Hide all accesses to conn->bts behind conn_get_bts() * Reduce T3109 default from 19s to 5s * Make libcommon, libcommon-cs, libfilter, utils depend on mgcp/sigtran * cosmetic: Remove data/len variables in bssmap_handle_assignm_req() * bssmap_handle_assignm_req(): Decode channel type as first step * remove obsolete gsm_subscriber_connection.bts member * update.gitignore with 'tags' files and 'deps' directory * gsm_data_shared.h: Remove unused sacch_deact member field * vty: print RTP IP of lchan if actually bound; print remote (mgw) IP * osmo-bsc: Add talloc context introspection via VTY * Structural reform: Get rid of osmo_bsc_sccp_con * vty: Permit codec-list containing both full-rate and half-rate codecs * logging: Remove obsolete log categories * Permit set of multiple different A5 ciphers * bssmap_handle_assignm_req(): Use proper cause values * bssmap_handle_assignm_req(): Use more conscise error/log message texts * bssmap_handle_assignm_req(): Don't print log statemens in malloc failure case * chan_compat_with_mode: signalling works over all channel types * osmo-bts/nanobts: Set RACH_Busy Threshold to -90 dBm * Align syntax of "handover" + "assignment" command with that of lchan act/deact * Revert "Generate the S_L_INP_TEI_UP signal earlier." * bsc_vty: Merge more VTY documentation string #defines * sysinfo: Fix regression causing missing L2 Pseudo-Length in SI5/SI6 (Closes: #3059) * introduce an osmo_fsm for gsm_subscriber_connection * cosmetic: Fix infinite number of formatting errors in gscon_fsm_states * abis_nm: Improve and fix OML logging * paging: Unify formatting of log messages with (bts=%d) prefix * RR: Send RR STATUS in case of unsupported/unknown message * BSSAP: Fix test_codec_pref() implementation for AMR * BSSAP: document match_codec_pref() more thoroughly * GSCON FSM: Fix argument order when calling gsm0808_assign_req() * bssmap: State correct speech codec in ASSIGNMENT COMPLETE * Start Dynamic PDCH Initialization after RSL is up * "show timeslot": Show dynamic PDCH state also for Osmocom-style dyn PDCH [ Alexander Couzens ] * debian: remove doublicated project name in example files * use _NUM_CHREQ_T to define the size of ctype_by_chreq * pcuif_proto.h: fix whitespaces and indention * pcuif_proto.h: add features of version 7 (txt indication) [ Pau Espin Pedrol ] * tests: Fix selection of python version * Use type bool for boolean fields in gsm48_si_ro_info * vty: Add cmd to configure 3g Early Classmark Sending * cosmetic: bsc_vty: Fix trailing whitespace * cosmetic: bsc_vty: Document bvci reserved values * osmo_bsc_bssap.c: Fix discard of const qualifier in assignment * debian: Move abisip-find from osmo-bsc to its own package * abisip-find: Add option to bind to a specific source address * abisip-find: Force stdout buffer flush * abisip-find: Add --format-json option * ipaccess-config: Enable logging all categories to print errors * ipaccess-config: Add missing path with log error * ipaccess-config: Improve handling of last parameter * abisip-find: Improve use information output * ipaccess-config: Check cmdlie arg unit-id format * bsc_api.c: bsc_handle_lchan_signal: Remove unused variable * bsc_subscr_conn_fsm.c: Fix wrong param list passed to LOGPFSML * tests: handover_test.c: Add missing header * pcu_sock.c: Avoid breaking strict-aliasing on ptr derreference * contrib: jenkins.sh: Add --enable-werror flag * contrib: osmo-bsc.service: Update description * contrib: osmo-bsc.service: Fix osmo-mgw.service dependency * libbsc: nokia_site: Fix uninitialized return val * bsc_vty: Fix uninitialized var false positive on gcc 7.3.1 * paging: paging_request_bts: Fix wrong return value * bssap: Log non handled paging requests * libbsc: set_net_mcc_mnc_apply: Fix memleak on parsing incorrect mcc mnc * bsc_nat: ctrl: fix memleak on reply receival * bsc_nat: forward_to_bsc: remove one level of indentation * bsc_nat: forward_to_bsc: Fix memleak on send failure * bsc_nat: Drop redundant ccon ptr in bsc_cmd_list * bsc_nat: ctrl: Fix crash on receveing bsc reply * use osmo_init_logging2 * chan_alloc.c: Fix log var formatting issues * abis_rsl.c: abis_rsl_rx_cchan: Print msg type name for unimplemented messages received * abis_rsl.c: Clean ericsson specific imm assign code * gsm_data_shared.h: Remove unused enum gsm_paging_event [ Stefan Sperling ] * Fix "CTRL GET msc_connection_status" response. * Support control connection status query for a particular MSC. * Implement support for paging by LAI. * Add TAGS files (produced by 'make tags') to .gitignore file. * Implement support for CELL_IDENT_NO_CELL. * Implement support for paging based on CI (cell identifier). * Move BTS selection for paging from osmo_bsc_grace.c into osmo_bsc_bssap.c. * Implement support for paging based on a Cell Global Identifier. * Implement support for paging based on LAC and CI. * Show the BTS number for outgoing paging commands in debug log. * Split paging cases in bssmap_handle_paging() off into helper functions. * Remove an unused variable. * Improve an error message in page_lai_and_lac() * Make "waiting indicator" of IMMEDIATE ASSIGN REJECT dynamic. * Add stat items for the BTS's channel load average and T3122. * Make RSL connection attempts time out. * fix handover_test link error * Add support for Access Control Class ramping. * Generate the S_L_INP_TEI_UP signal earlier. * use libosmocore to parse cell identifiers in osmo-bsc * fix an error message in bssmap_handle_paging() * change return type of page_subscriber() to void * Generate the S_L_INP_TEI_UP signal earlier. * fix a format string error in bts_update_t3122_chan_load() * fix initialization of acc ramping * only log actual access control class ramping changes * ensure that acc_ramp_init() is only called once * trigger acc ramping based on trx rf-locked state * rename helper functions in the acc ramp code to avoid confusion * trigger acc ramping on state-changed-event reports * only trigger acc ramping if trx 0 is usable and unlocked * fix handling of state changes in acc ramping * properly skip paging is OML link is down * extend documentation of paging_flush_bts() * flush paging when RSL link is dropped [ Vadim Yanitskiy ] * bsc/gsm_04_80.h: use '#pragma once' instead of includes * bsc/gsm_04_80.h: clean up useless declarations * libbsc/bsc_vty.c: prevent uninitialized access * doc/examples: use NECI = 1 by default [ Ivan Kluchnikov ] * handover_decision: Fix condition for power budget handover attempt * handover_decision: log HO causes more accurately [ Andreas Eversberg ] * HO: Send Channel Mode and Multirate IE along with handover command * HO: Add function to count currently ongoing handovers to a given BTS * Fix: If paging for half rate was requested, use hr, if supported by MS * HO: Assign SDCCH on channel request * Fix of checking TCH rate at chan_compat_with_mode * HO: Count the actual meas.rep. get_meas_rep_avg fails if not reached * HO: Count neighbor measurements and reduce window of neigh_meas_avg * HO: Changed availablilty of ts_is_usable() from static to extern * HO: Always update rqd_ta after receiving measurement report * HO: If handover logic is used to do assignment, signal assignment result * HO: Add handover decision debugging category * Do not perform assignment, if the new channel equals the current one * Allow assignment to TCH channel with signalling only mode * Correctly set T3105 for ipaccess BTS type * HO: fix: increase the number of measurement report history to 10 * HO: Change debug category at handover decision: DHO -> DHODEC * HO: Count number of free timeslot on a given BTS * HO: add queue to cache DTAP messages during handover/assignment * Fix: meas_rep.c will only use valid DL measurement reports * HO: Add a penalty timer list to the subscriber connection entity [ Keith ] * Cosmetic: Fix typo: Siganlling->Signalling -- Pau Espin Pedrol Thu, 03 May 2018 18:40:11 +0200 osmo-bsc (1.1.2) unstable; urgency=medium * Debian: depend on libosmo-sigtran (bsc) and libosmo-sccp (bsc-nat) * debian/control: Specify versions of packages we depend upon -- Harald Welte Sun, 29 Oct 2017 09:03:33 +0100 osmo-bsc (1.1.1) unstable; urgency=medium [ Neels Hofmeyr ] * jenkins: use osmo-clean-workspace.sh before and after build [ Harald Welte ] * Debian: re-introduce missing build dependency to libssl-dev -- Harald Welte Sat, 28 Oct 2017 21:49:00 +0200 osmo-bsc (1.1.0) unstable; urgency=medium [ Alexander Couzens ] * Initial release. * debian/rules: show testsuite.log when tests are failing [ Neels Hofmeyr ] * jenkins: fix build: osmo-mgw from master, not pre_release * drop files unrelated to osmo-bsc * rename openbsc.pc to osmo-bsc.pc * rewrite README * move include/openbsc to include/osmocom/bsc * drop MGCP client from osmo-bsc * fix vty tests: vty no longer goes to parent node implicitly * doc/examples: tweak osmo-bsc.cfg, add osmo-bsc_custom-sccp.cfg * add ';' after OSMO_ASSERT() [ Harald Welte ] * configure.ac: No more libosmogb dependency * configure.ac: remove --enable-osmo-bsc, --enable-nat * configure.ac: remove smpp_mirror, which has no relation to a BSC * contrib/jenkins.sh: MGCP is unconditional now * configure.ac: Remove --enable-mgcp-transcoding * configure.ac: Remove --enable-iu * configure.ac: Remove checks for libgtp + c-ares * configure.ac: Remove check for GMTOFF * configure.ac: Package is now called osmo-bsc, not openbsc * libbsc: document arguments of generate_bcch_chan_list() * Make sure BA-IND in all SI2xxx is '0' and in all SI5xxx is '1' * gsm0408_test: Verify that BA-IND is 0 in SI2xxx and 1 in SI5xxx * .gitignore: Update to post-NITB-split realities * Remove any references to RANAP and Iu * Fix nanobts_omlattr unit test * nanobts_omlattra_test: Initialize logging before executing tests * osmo-bsc: Initialize logging before initializing rate_ctr * Rename osmo_fsm to avoid illegal space in name + more meaningful name [ Max ] * Make TRX rf locking more visible * SI13: drop PBCCH-related bits * Wrap channel state assignment in macro * Further cleanup leftovers from BSC/MSC split * CTRL: cleanup write-only command functions * Show OML link uptime in vty * Fix repo split aftermath * SI2q: cleanup UARFCN addition * OML: consider RSL link state * SI2q: fix generation for multiple UARFCNs * Remove pkg-config file * ctrl: add oml-uptime command * SI1q: fix EARFCN appender [ Pau Espin Pedrol ] * Remove unneeded dbi dependency * bsc_api: Fix NULL secondary_lchan access in handle_ass_fail * libbsc: Use correct printf formatting for uint64_t * bsc_vty: Improve description of mid-call-text cmd -- Harald Welte Sat, 28 Oct 2017 11:19:03 +0200 osmo-bsc (0.1.0) UNRELEASED; urgency=low [ Alexander Couzens ] * Initial release. -- Alexander Couzens Tue, 08 Aug 2017 01:12:56 +0000