osmo-bsc (1.13.0.22.ea17.202511031800) unstable; urgency=medium

  * Automatically generated changelog entry for building the Osmocom nightly feed

 -- Osmocom OBS scripts <info@osmocom.org>  Mon, 03 Nov 2025 18:01:11 +0000

osmo-bsc (1.13.0) unstable; urgency=medium

  [ Pau Espin Pedrol ]
  * bs11: Mark global private variables as static
  * bs11: Move model struct further down in the file
  * Convert bts->depends_on from bitmask to llist
  * Introduce typedef for bts->nr gsm_bts_nr_t
  * tests/vty: Validate allocating all possible BTS
  * Initial support for >256 BTS
  * rsl_rx_pchan_rqd(): Clean up code path
  * pcu_tx_rach_ind(): Avoid forwarding chan_rqd to PCU if not expected
  * pcu_info_update(): Simplify code path with early return
  * Log unsupported PCUIF for bts > 255
  * Remove unused function gsm_bts_by_lac()
  * bsc_vty: Use gsm_bts_num() in ho_or_as()
  * Clarify code around bts->loc_list
  * bts: Make sure bts_location entries in bts->loc_list are freed
  * bts: Remove from net->bts_list during talloc destructor
  * bts: Remove acc timers during talloc destructor
  * gsm_bts_num(): use hashtable to lookup bts
  * tests/ctrl/osmo-bsc-neigh-test.cfg: Fix duplicate <LAC,CI> between bts1 and bts2
  * Introduce hashtable to lookup bts by LAC
  * Introduce hashtable to lookup bts by CI
  * Introduce hashtable to lookup bts by <LAC,CI>
  * bsc_ctrl: Use new libosmo-sigtran API osmo_ss7_route_get_dest_as()
  * lb: Avoid using osmo_ss7_instance private field
  * Use new libosmo-sigtran API osmo_ss7_instance_get_id()
  * Use new libosmo-sigtran API osmo_ss7_instances_llist_entry()
  * bsc_sccplite_msc_send(): Fix msgb leak
  * Use new libosmo-sigtran API osmo_ss7_as_get_asp_protocol()
  * Use new libosmo-sigtran API osmo_ss7_as_select_asp()
  * jenkins.sh: libosmo-netif no longer depends on libosmo-abis
  * abis: Fix reusing bts->*_link while it is being destroyed
  * ipaccess-proxy: Fix wrong cb function passed
  * Drop use of libosmo-abis osmocom/abis/ipaccess.h
  * ipaccess-config: Use own e1_input ipaccess driver
  * ipaccess-config: Remove unused function ipaccess_bts_handle_ccm()
  * Drop unneeded use of abis/ipa.h header
  * jenkins.sh: No need to build libosmo-sigtran with doxygen
  * Fix BTS nr >255 wrapping up during bts allocation
  * Use correct bts_nr field during MO init
  * cbsp_link: set name on stream

  [ Oliver Smith ]
  * contrib/jenkins: libosmo-sccp -> libosmo-sigtran

  [ Philipp Maier ]
  * pcu_sock: do not receive a TXT ind. with PCU_VERSION for a specific BTS

  [ Csaba Sipos ]
  * nokia_site: add some missing message IDs
  * nokia_site: add missing element names
  * nokia_site: change RSL bootstrap logic
  * nokia_site: introduce hopping control for Nokia *Site

  [ Neels Hofmeyr ]
  * drop unused function decl abis_nm_rx()

  [ csaba.sipos ]
  * nokia_site: add reset_type attribute

 -- Oliver Smith <osmith@sysmocom.de>  Wed, 12 Feb 2025 13:02:16 +0100

osmo-bsc (1.12.1) unstable; urgency=medium

  [ Vadim Yanitskiy ]
  * osmo_msc_data_alloc(), doc/examples: deny emergency calls by default
  * osmo_msc_data_alloc(), doc/examples: allow all AMR modes by default

  [ Daniel Willmann ]
  * osmo_bsc_sigtran: Don't try to decode ipaccess_head a second time

 -- Oliver Smith <osmith@sysmocom.de>  Thu, 01 Aug 2024 11:01:08 +0200

osmo-bsc (1.12.0) unstable; urgency=medium

  [ Vadim Yanitskiy ]
  * struct gsm_bts_trx[_ts], gsm_abis_mo: drop unused nm_attr
  * bts_siemens_bs11: remove ip.access nanoBTS specific code
  * abis_nm: separate parsing of osmo-bts features into a function
  * abis_nm: parse feature flags in NM_ATT_IPACC_SUPP_FEATURES
  * nm_{bb_transc,bts}_fsm: rework sending of Get Attributes
  * abis_nm: get rid of MAX_BTS_ATTR
  * gsm_data: refactor/simplify and expose gsm_objclass2mo()
  * bts_ipaccess_nanobts: clean up, use gsm_objclass2mo()
  * oml: ipacc: parse Object Version from SW Activated Report
  * oml: ipacc: log supported features using LOGL_INFO
  * oml: ipacc: fix copy-pasted talloc chunk names
  * abis_nm: fix bts->nr vs bts->bts_nr
  * oml: ipacc: add missing is_ipa_abisip_bts() checks
  * abis_nm: handle NM_EV_SW_ACT_REP in ST_OP_DISABLED_{DEPENDENCY,OFFLINE}
  * abis_nm: delay configure_loop() until NM_MT_SW_ACTIVATED_REP
  * oml: ipacc: send GPRS Cell attributes based on IPA Object Version
  * oml: ipacc: fix sending hard-coded GPRS Cell attributes
  * abis_nm: send Get Attributes to Rado Carrier MO(s)
  * abis_nm: send Get Attributes to GPRS Cell MO(s)
  * gsm_data: fix wrong variable set in gsm_pchan2chan_nr()
  * gsm_data: use ABIS_RSL_CHAN_NR_CBITS_* in gsm_pchan2chan_nr()
  * vgcs_fsm: fix NULL pointer dereference in vgcs_call_fsm_busy()
  * Remove unused OpenBSC leftover 'openbscdefines.h'
  * build: include README.md into the release tarball
  * bsc_ctrl: do not overwrite rc in bsc_base_ctrl_cmds_install()
  * lchan_fsm: fix -Wgnu-designator warnings printed by clang
  * abis_nm: misc/cosmetic changes to abis_nm_sw_act_req_ack()
  * abis_nm: fix -Wunused-but-set-variable (bug)
  * README.md: cosmetic: fix a typo

  [ Harald Welte ]
  * oml: ipacc: print all supported versions of MOs
  * fix spelling s/omso/osmo/ in bts_variant_names
  * Fix license header in various source code files.
  * bsc_ctrl_lookup.c: Use AGPLv3, not GPLv2
  * CBSP: Port over to use osmo_io via libosmo-netif
  * Add funding link to github mirror
  * README.md: Overhaul (more links, fix markdown formatting)
  * README.md Add Forum + Issue Tracker sections

  [ Matan Perelman ]
  * si2quater: Invalidate thresh_lo, prio and qrxlm when needed
  * ctrl: Add cell barred
  * ctrl: Add rxlev access min control
  * abis_rsl: Add rach expiry timeout
  * ctrl: Add rach expiry timeout
  * ctrl: Add radio link timeout
  * vty: Ensure radio-link-timeout is a multiple of 4
  * ctrl: Fix missing reply in set_bts_cell_reselection_offset
  * ctrl: Add rach max transmission
  * ctrl: Add ms max power
  * ctrl: Remove unused vty includes
  * ctrl: Split bts_trx_ts_ctrl from bts_trx_ctrl
  * ctrl: Add ms power
  * ctrl: Add lchan show
  * ctrl: Add lchan show to all ctrl levels

  [ Pau Espin Pedrol ]
  * sccplite: Support multiple MGW in MGW pool
  * Drop unused local var
  * abis_nm_sw_act_req_ack: attr_len should be unsigned
  * lb: Log name of unhandled sigtran primitive
  * cbsp_link.c: Update somo_stream read_cb2 functions to accommodate for new API param

  [ Oliver Smith ]
  * vty: make NCC Permitted (SI2) configurable
  * recover BORKEN lchans for missing ACK scenarios
  * vty: show mscs: tweak output
  * vty: show mscs: add BSSMAP state
  * .deb/.rpm: various fixes related to non-root
  * contrib: remove rpm spec file
  * debian/postinst: add checks, be verbose

  [ arehbein ]
  * meas_feed: Use osmo_io instead of write queue
  * osmo-bsc: Have PCU socket connection use osmo_wqueue
  * bsc: Make socket queue max. length configurable

  [ Philipp Maier ]
  * pcuif_proto: rename PCU_IF_FLAG_SYSMO to PCU_IF_FLAG_DIRECT_PHY
  * pcuif_proto: clean up last remains of old PCUIF v10
  * pcuif_proto: signal BTS model via PCUIF

  [ Andreas Eversberg ]
  * Do not generate 'bit map 0' neighbor lists with R-GSM ARFCN
  * Select correct neighbor list for measurement report decoding
  * ASCI: Make neigh_list_get_arfcn() available to other users
  * ASCI: Add System Information 10 support
  * SI10: Fix uninitialized l_bts pointer
  * SI10: Fix uninitialized last_i index
  * ASCI: Repeat notification after assigning MS to VGCS/VBS channel
  * Use uniform log format for default config files
  * Only check for intersecting AMR codec support on matching TS rate
  * Also track downtime when OML link is lost
  * VTY: Add command `show bts brief`
  * Add vty commands "no gprs nsvc ..."

  [ Neels Hofmeyr ]
  * use X6 timer for REL ACK, not T3111
  * systemd,manual: set LimitNOFILE=65536
  * vty: disallow combination of early-IA and frequency hopping
  * err log: output sigtran prim name instead of number
  * silence error message for N-STATE prim

  [ Keith Whyte ]
  * VTY: fix config indentation for pcu-socket params

  [ Max ]
  * .deb/.rpm: add osmocom user during package install

  [ Alexander Couzens ]
  * ipaccess-config: fix crash when doing test procedures
  * ipaccess-config: rename build_physconf to build_physconf_arfcn_by_rxlev

  [ Mychaela N. Falconia ]
  * add support for RTP extensions via TW-TS-003

 -- Oliver Smith <osmith@sysmocom.de>  Wed, 24 Jul 2024 17:00:06 +0200

osmo-bsc (1.11.0) unstable; urgency=medium

  [ Max ]
  * doc: correct reference and add deprecation notice
  * pcu_connected(): constify parameter

  [ Philipp Maier ]
  * pcuif_proto: rename PCU_IF_SAPI_AGCH_DT to PCU_IF_SAPI_PCH_DT
  * pcu_sock: cosmetic: remove space before tab
  * abis_rsl: add support for sending IMMEDIATE ASSIGNMENT through PCH
  * pcu_sock: use extract_paging_group() for PCU_IF_SAPI_PCH
  * abis_rsl: constify parameters of rsl_X_imm_assign_cmd
  * pcu_sock: transfer sysinfo to PCU
  * pcu_sock: transfer E1 connection information to PCU
  * pcu_sock: set direct TLLI flag in info indication
  * bts_trx_vty: use define constant E1_SUBSLOT_FULL instead magic number
  * bsc_subscriber_conn_fsm: use subslot 0 in case of E1 full subslot
  * timeslot_fsm: fix sourcecode indenting
  * pcu_sock: print OML alerts from PCU
  * abis_rsl: guard against over long IMMEDIATE ASSIGNMENT Messages
  * pcu_sock: get rid of leaking message buffer
  * pcu_sock: activate/deactivate PDCH on pcu reconnect
  * pcu_sock: use struct to transfer IMMEDIATE ASSIGNMENT for PCH
  * pcu_sock: improve logging
  * pcu_sock: rename rc to fd
  * pcu_sock: cosmetic: remove whitespace after type cast
  * timeslot_fsm: fix PDCH activation
  * bts: is_xyz_bts check functions should return bool
  * bts: add function to check if a BTS has a BSC co located PCU
  * pcu_sock: use is_ericsson_bts() to check for ericsson BTS
  * pcu_sock: check BTS type properly in pcu_info_update()
  * pcu_sock: drop usage of PCUIF flag PCU_IF_FLAG_DT
  * pcu_sock.c: Call osmo_fd_unregister() before closing and changing listen_bfd->fd
  * pcu_sock: handle multiple BTSs with one BSC co-located PCU (in theory)
  * pcuif_proto: increment version number
  * doc: add sample configuration for GPRS with ericsson RBS
  * doc: overview: replace section TRAU mapper / E1 sub-channel muxer
  * bts: bts: Explain Ericsson's interface switch (IS)
  * doc: running: Describe how to configure a co-located PCU
  * examples: update erissson GPRS config files
  * doc: bts-examples: discuss Ericsson RBS EGPRS configuration
  * pcu_sock: fix PCUIF interface (PCH)
  * pcu_sock: use correct SAPI in message PCUIF PCU_IF_MSG_DATA_CNF_DT
  * pcuif_proto: rename tlli to msg_id
  * pcuif_proto: remove unnecessary members from gsm_pcu_if_data_cnf_dt
  * pcuif_proto: get rid of _DT, _dt (Direct TLLI)
  * pcuif_proto: check confirm flag in struct gsm_pcu_if_pch
  * pcu_sock: use PCU_IF_SAPI_AGCH_2 instead PCU_IF_SAPI_AGCH

  [ Oliver Smith ]
  * ho: remove timeout for HO_ST_WAIT_LCHAN_ACTIVE
  * ho: remove timeout for HO_ST_WAIT_LCHAN_ESTABLISHED
  * fsms: use configurable timers instead of T23042
  * osmo_bsc_main: don't allocate talloc_ctr_ctx
  * Cosmetic: fix various typos
  * Cosmetic: codec_pref: tweak comments
  * bssmap_handle_assignm_req: split up
  * bssmap_handle_ass_req_ct_speech: split up
  * bssmap_handle_ass_req_ct_speech: refactor
  * codec_pref: split test_codec_support_bts_rate
  * test_codec_support_bts_rate: add missing breaks
  * lchan.h: remove enum lchan_csd_mode
  * channel_mode_from_lchan: add GSM48_CMODE_DATA_3k6
  * bssmap_handle_ass_req_ct_data: implement
  * abis_rsl: ipacc_payload_type: handle CSD
  * bssmap_handle_ass_req_tp_codec_list: tweak log msg
  * assignment_fsm: chan mode check: support CSD
  * tests/handover: wrap functions from gsm_08_08.c
  * requires_voice_stream -> ch_indctr
  * lchan_select: chan_mode_to_chan_type: support CSD
  * rsl_tx_ipacc_crcx/mdcx: omit speech mode for CSD
  * chan_mode_to_mgcp_codec: support CSD
  * Cosmetic: channel_mode_from_lchan: remove fixme
  * check_chan_mode_rate_against…: fix never true cond
  * abis_rsl: CSD: add RTP_CSD_FMT IE to CRCX/MDCX
  * bsc_mgw_setup: use mgcp_client_pool_empty()
  * abis_rsl: fix encoding RSL_IE_IPAC_RTP_CSD_FORMAT
  * CSD: support non-transparent data rates
  * debian: set compat level to 10
  * contrib/jenkins: create workspace.tar.xz on error
  * systemd: depend on networking-online.target
  * Fix various typos
  * Cosmetic: configure: move if … then to same line
  * configure: ipa utils: add default=yes to arg help
  * Cosmetic: debian/rules: remove boilerplate
  * contrib/jenkins.sh: deduplicate configure flags
  * configure: add --enable-meas-udp2db/pcap2db/vis

  [ Harald Welte ]
  * Work around coverity false positives in macros
  * abis_nm: Only osmo-bts re-purposes the MANUF_ID for BTS feature flags
  * cosmetic: Rename is_ipaccess_bts() to is_ipa_abisip_bts()
  * cosmetic: Clarify language ip.access nanoBTS vs. all IPA Abis/IP
  * test case fixup: Add missing (void) empty argument list specification
  * Support (optional) indication of NCH position in SI1 rest octets
  * nanobts: Request "supported features" attribute from BTS and BB_TRANSC
  * prevent bogus NCH related error message if no NCH is configured

  [ Michael Iedema ]
  * utils: store more fields from meas-feed in db

  [ Vadim Yanitskiy ]
  * utils: fix incorrect string checks in meas_db_insert()
  * ipaccess_drop_oml(): invalidate the feature vector
  * Makefile.am: remove unneeded AM_LDFLAGS with LIBS
  * tests: use -no-install libtool flag to avoid ./lt-* scripts
  * fix bs11_read_swl_file(): properly clean up stale file list
  * fix ipacc_rtp_csd_fmt_non_transp(): add missing breaks
  * tests: $(BUILT_SOURCES) is not defined, depend on osmo-bsc
  * osmoappdesc.py: add more config files for testing
  * tests: add VTY transcript tests for 'si2quater neighbor-list'
  * tests: demonstrate the problems of 'si2quater neighbor-list'
  * doc/{examples,manuals}: remove dummy 'gprs nsvc 1'
  * tests: rename and extend gprs_{bvci_default->params}.vty
  * tests: add more tests for GPRS NSVC parameters
  * gprs: fix has_valid_nsvc(): permit local udp port 0
  * cosmetic: bts_uarfcn_add(): pass diversity directly to encode_fdd()
  * cosmetic: bts_vty: switch is not a function, add a space
  * si2quater: bts_uarfcn_add(): check if already added first
  * si2quater: bts_uarfcn_add(): modify existsing UARFCNs
  * si2quater: bts_earfcn_add(): do not add duplicate EARFCNs
  * si2quater: add CTRL commands for deleting neighbor [EU]ARFCNs
  * si2quater: check return value of osmo_earfcn_del()
  * bts_is_online(): make the BTS pointer const, return bool
  * struct gsm_bts_model: rename power_ctrl_{set->send}_c0_power_red
  * bootstrap_rsl(): cosmetic: cache trx->bts and use it directly
  * bts: st_op_enabled_on_enter(): resume C0 power reduction
  * gsm_bts_send_c0_power_red(): check if BTS is online first
  * copyright: fix typo: sysmocom s/s.m.f.c./s.f.m.c./ GmbH
  * fixup: contrib/jenkins: create workspace.tar.xz on error
  * tests/{ctrl,vty}_test_runner.py: raise an exception if proc's rc != 0
  * contrib/jenkins.sh: remove unrecognized --enable-vty-tests
  * lchan_select: fix lchan selection for GSM48_CMODE_DATA_{14k5,12k0}
  * fix send_assignment_complete(): proper SCE encoding for CSD

  [ Neels Hofmeyr ]
  * examples: osmo-bsc-minimal.cfg: drop codec-list
  * pick up all *.vty in EXTRA_DIST
  * add msc.vty to test 'msc' / 'codec-list' cfg
  * cosmetic: use char literals in cfg_net_bsc_codec_list()
  * cosmetic: use i++ instead of ++i in for loop
  * vty: improve doc for 'codec-list'
  * bsc_vty.c: s/bsc/msc for commands under msc node
  * bsc_vty.c write_msc(): fix weird printf format
  * vty: msc / codec-list: tweak error msg
  * cosmetic: clarify test_codec_support_bts()
  * select_codecs(): doc tweak
  * select_codecs(): constify ct arg
  * add timeslot.vty
  * implicitly register osmo_fsm definitions
  * assignment_fsm.c: make two functions static
  * bsc_test: add 'update_exp'
  * simplify storage of bsc_msc_data->audio_support
  * vty: msc / codec-list: forbid duplicate entries
  * vty: msc / codec-list: forbid invalid codec versions
  * ensure correct phys_chan_config doc string count on VTY
  * VTY,CTRL: add pchan dynamic/{osmocom,ipaccess}
  * stat: change pchan naming to dynamic/{osmocom,ipaccess}
  * bsc_test.c: test FSM IDs that contain pchan names
  * tweak gsm_pchan_ids[]: DYNAMIC/{OSMOCOM,IPACCESS}
  * drop gsm_pchan_ids, use sanitized FSM ids instead
  * doc: add codec_resolution.msc
  * cosmetic: timeslot_fsm.c: move some code to separate function
  * vty: codec-list: fix error message
  * fix coverity (false) warning in codec-list vty
  * segfault: verify lchan presence on Assignment Complete
  * add location_services_fsm_bsc.dot
  * SCCP N-PCSTATE: trigger MSC status on PC availability
  * log: N-PCSTATE: use new value_strings
  * fix comment typo
  * fix length check in abis_rsl_rx_rll()
  * fix mscpool for large msc NRs

  [ Pau Espin Pedrol ]
  * cosmetic: gsm_data.h: Fix typo in comment
  * constify bsc_conn_by_bsub() ptr param
  * Clarify type and values of sccp.conn_id
  * bscc_sccp: Avoid allocating conn_id 0x00FFFFFF
  * get_bsc_conn_by_conn_id(): Properly match sccp_instance
  * bscc_sccp: Small optimiztion in bsc_sccp_inst_next_conn_id()
  * Assert conn_id being looked up is inside expected range
  * pcu_sock.c: Call osmo_fd_unregister() before closing and changing bfd->fd
  * Optimize subscr_conns lookup
  * Move bsc_conn_by_bsub() and make it static
  * bsc_subscriber: Drop unused function bsc_subscr_find_by_mi()
  * bsc_subscriber: Mark functions used only internally as static
  * bsc_subscriber: Introduce bsc_subscriber_store object
  * bsc_subscriber: Optimize lookup of bsub by TMSI
  * Fix Lb/A SCCP conn lookup after recent regression in optimization patch
  * Use new GSM0408 defines for half-octet tags
  * abis_rsl: Document spec ref of CCCH Load Ind
  * Move paging queue specific handling to signal callback outside RSL code
  * bts-rbs2k: Simplify osmo_fsm_inst_alloc_child_id()
  * ipaccess nm: Delay marking TS as usable until OML reports Enabled state
  * ipaccess nm: Handle TS_EV_OML_DOWN through NM FSM
  * UserManual: Include sigtran*.adoc from osmo-gsm-manuals.git
  * Write explicit role & sctp-role fields in ASP configurations
  * Use new mgcp_client_conf_alloc() API to alloc mgcp_client_conf
  * Use new libosmo-sccp APIs osmo_ss7_asp_get_{name,proto}()
  * SI13: Set DRX_TIMER_MAX value actually transmitted
  * cosmetic: Document DRX_TIMER_MAX upper limit on BCCH smaller than possible range
  * meas_feed: Refactor fd/wqueue lifecycle
  * meas_feed: Increase wqueue max_len to 100 and make it vty-configurable
  * oml: ipacc: Remove BSSGP value assignment being overwritten afterwards
  * oml: ipacc: Use new packed struct abis_nm_ipacc_att_bssgp_cfg from libosmcore
  * oml: ipacc: Use new packed struct abis_nm_ipacc_att_ns_cfg from libosmcore
  * oml: ipacc: Use new packed struct abis_nm_ipacc_att_rlc_cfg from libosmcore

  [ arehbein ]
  * gsm_bts_check_ny1: Prevent possible division by zero
  * main: Give specific error message
  * PCU interface: Log version when starting listener

  [ Matan Perelman ]
  * ctrl: Add cell reselection offset control
  * ctrl: Remove dots from OOM
  * ctrl: Add penalty time control
  * ctrl: Add cell reselection hysteresis control
  * ctrl: Add getting access control class
  * ctrl: Add setting access control class
  * ctrl: Add getting neighbor list
  * ctrl: Add getting SI5 neighbor list
  * ctrl: Add setting SI5 neighbor list
  * ctrl: Add bsic
  * ctrl: Add rach max delay
  * ctrl: Add getting si2quater uarfcn neighbor list
  * ctrl: Support adding si2quater uarfcn neighbor
  * ctrl: Add getting si2quater earfcn neighbor list
  * ctrl: Support adding si2quater earfcn neighbor
  * control.adoc: Remove short-name and long-name
  * control.adoc: Update with recent changes

  [ Daniel Willmann ]
  * cosmetic: Fix type in VTY description

  [ Andreas Eversberg ]
  * ASCI: Add new rate counters to support VGCS/VBS messages
  * Fix typo in rate counters ASSIGMENT->ASSIGNMENT
  * Cleanup code style of rate counters in osmo_bsc_msc.c
  * ASCI: Add support for NOTIFICATION COMMAND (RSL) message
  * ASCI: Add support for Group/Broadcast channel activation
  * ASCI: Add selection reason for VGCS/VBS channels
  * ASCI: Add TX support for UPLINK RELEASE message
  * ASCI: Make function to add OSMUX IE public
  * ASCI: Prepare bssmap_handle_ass_req_ct_speech() for VGCS/VBS
  * ASCI: Add new debug category "ASCI" for VGCS/VBS state machines
  * ASCI: Do not release channel, if SAPI 0 is released
  * ASCI: Do not wait for RLL establishment
  * ASCI: Add support for sending RSL UNIT-DATA towards BTS
  * ASCI: Add TX support for UPLINK FREE/BUSY messages
  * ASCI: Forward UPLINK RELEASE on dedicated channel to MSC
  * ASCI: Add encoding of VGCS/VBS A-interface messages
  * ASCI: Add processing and FSMs for VGCS/VBS
  * ASCI: Add decoding of VGCS/VBS A-interface messages
  * ASCI: Forward RLL to VGCS FSM
  * ASCI: Forward lchan activation states to VGCS FSM
  * ASCI: Indicate release of subscriber connection to VGCS FSM
  * ASCI: Add support for reception of TALKER/LISTENER DETECTION
  * ASCI: Send release on VGCS/VBS channel via unit data
  * ASCI: Add assignment to a VGCS/VBS channel
  * Select channel type by enum instead of three boolean
  * ASCI: Fix uninitialized values in vgcs_fsm.c, found by gcc 13.1.1.20230714

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Tue, 12 Sep 2023 16:40:03 +0200

osmo-bsc (1.10.0) unstable; urgency=medium

  [ Vadim Yanitskiy ]
  * fix uninitialized err pointer passed to osmo_bssap_le_dec()
  * lchan_select: prepare a list of timeslots once, iterate over it
  * lchan_select: allow different alloc order for assignment and handover
  * lchan_select: implement dynamic selection mode for assignment
  * lchan_select: fix 'chan_alloc_reverse' may be used uninitialized
  * osmo-bsc/Makefile.am: fix undefined reference to symbol pow()
  * .gitignore: remove non-existing files
  * call osmo_timer_del() unconditionally, without osmo_timer_pending()
  * configure.ac: do not require unused dlopen
  * power_control: add CTRL command for sending default params
  * vty: fix description of 'nokia_site bts-reset-timer'
  * bts_vty: fix wrong description used for C/I threshold values
  * fix bsc_vty_go_parent(): add missing case for MGW_NODE
  * bsc_vty: use gsmnet_from_vty() everywhere, not vty->index

  [ Pau Espin Pedrol ]
  * cbsp: Change log level ERROR->INFO on CBSP tx and link down
  * smscb: Tx Failure and Restart Ind using CGI as cellID
  * smscb: Tx Failure and Restart Ind for each Bcast Msg Type
  * tests/ctrl: Avoid creating logfile
  * doc: Fix typo in several diagrams
  * Use libosmocore available API to get value_list
  * split lchan specific defines and code to its own file
  * lchan: Move init logic to a specific function
  * cosmetic: Clean initiating whitespace
  * Add Osmux support on the Abis-side data plane
  * oml: Integrate signal S_NM_IPACC_SET_ATTR_ACK inside S_NM_IPACC_ACK
  * vty: Allow setting LAC as hexadecimal value
  * doc: Document use of Osmux in IPA Abis against OsmoBTS
  * oml: Delay Tx of OPSTART(BBTRANSC) after rx of RSL CONNECT ACK
  * ipaccess-config: Initiate missing IPA osmo_link
  * ipaccess-config: Initialize RSL ts driver fd to proper value
  * ipaccess-config: use available API to set e1inp_line_ops
  * ipaccess-config: Exit program with error if OML link is dropped
  * mgcp: Set up Osmux only when AMR codec is selected
  * ipacces-config: override gsm_bts_check_cfg() to void checking unset bts configuration
  * ipaccess: Remove unused stub
  * ipaccess-config: Fix writing pcap output to fd=0 (stdin)
  * Drop Osmux call setup if BTS didn't provide a remote CID
  * cosmetic: vty: Fix formatting of if-else brackets
  * vty: Print Osmux CID on lchans using Osmux
  * cosmetic: Fix typo in comment
  * Rearrange ctrl interface code
  * ctrl: Introduce hopping-arfcn-{add,del} commands
  * vty: 'hopping arfcn add': succeed if adding arfcn already in set
  * cosmetic: Fix whitespace indentation
  * vty: Fix indentation in osmux cmd during write-config output
  * Introduce support for MGW-pinning per BTS
  * vty: Move all MSC_NODE commands to be together
  * gscon_ensure_mgw_endpoint(): Set mgw_enpoint ptr to NULL not needed
  * cosmetic: Fix indentation whitespace
  * cosmetic: Fix typo in comment
  * cosmetic: Fix indentation whitespace
  * vty: Make use of new mgcp_client_pool_config_write() API
  * Update examples to use mgw pooling VTY commands
  * Use new mgcp-client VTY commands under mgw node
  * doc: Generalize mgwpool.adoc and move BSC-specific sections to runnning.adoc
  * doc: Use mgwpool.adoc from osmo-gsm-manuals.git
  * doc: running.adoc: Fix typo in MGW pinning section
  * sccplite: Use mgwpool config to set up socket forwarding IPA-MGCP from MSC to MGW
  * vty: Fix and deprecate typo in cmd 'amr-payload bandwith-efficient'
  * paging: Avoid repeated paging req lookup on BTS receiving paging resp
  * paging: Get rid of unneeded count returned
  * paging: Store list of gsm_paging_request in bsc_subscr
  * paging: Use bsub->active_paging_requests to allow early loop termination adding paging_req
  * lcs: Fix passing NULL bsc_subscr to paging_request_cancel()
  * paging: Use bsub->active_paging_requests to optimize cancelling based on reason
  * paging: Rename stat t3113 -> paging:t3113
  * paging: Introduce BTS stat paging:request_queue_length
  * paging: Introduce BTS stat paging:available_slots
  * paging: constify bts param in some functions
  * subscriber: constify bsub func param
  * subscriber: Add comment documenting struct type hold in list
  * paging: Fix regression stopping active requests on unanswered BTS
  * paging: paging: Drop unneeded extra param in paging_remove_request()
  * vty: Fix lost 'no timer-dynamic T3113' config when writing current config
  * paging: Introduce VTY configurable X3113 (Maximum Paging Request Transmit Delay Threshold)
  * paging: Fix wrong count of reqs_before if queue only contains retransmissions
  * paging: Split paging queue into 2 queues: initial and retrans
  * paging: Replace reqs waiting for retransmission with new incoming inital req if queue is full
  * paging: Optimize retrieving number of request per paging group
  * vty: Write amount of timeouts elapsed for a paging request
  * bsc: Fix crash if PagingResponse with invalid MobileIdentity is received
  * bsc_subscriber: Allow creating subscribers identified by IMEI
  * bsc_compl_l3(): Update documentation regarding no bsc_subscr in conn

  [ Philipp Maier ]
  * bsc_subscr_conn_fsm: fix use after free
  * abis_om2000: fix missing signal
  * signal.h: make om2k mo const
  * abis_om2000: move switch-case to function
  * abis_om2000: constify mo in mo2obj
  * abis_om2000: update_op_state() does not send signal
  * abis_om2000: om2k_trx_s_done_onenter() does not send signal
  * abis_om2000: duplicate nmstate of bb_trxc mo to trx mo
  * bts_trx_vty: prefix bb_trxc mo with [Virtual] for ericsson BTS
  * pcu_sock: fix memleak
  * pcu_sock: check size of primitive
  * pcu_sock: add some guard space to message buffer
  * abis_rsl: delete CHAN RQD from queue when rach ind was sent
  * abis_rsl: be more clear about vendor specif RSL extension
  * pcuif_proto: cosmetic: add constant PCU_IF_NUM_NSVC and replace magic numbers
  * pcuif_proto: use define constant to specify nax number of trx
  * abis_rsl: add spec ref for frame number calculation
  * abis_rsl: show full request reference in log
  * abis_rsl: when doing packet access, log t1,t3,t2 and fn
  * pcu_sock: drop unused function prototype
  * pcu_sock: drop unused variable pcu_direct
  * abis_rsl: fix frame number calculation
  * abis_rsl: fix sourcecode formatting
  * pcu_sock: guard against too many TRX
  * pcu_sock: move code that fills in trx info to helper function
  * pcu_sock: check trx mo state
  * pcu_sock: fix sourcecode formatting
  * pcu_sock: clean up logging in info_ind_fill_trx
  * abis_om2000: send TS_EV_OML_READY when TRX is fully done
  * pcu_sock: rework check logic for ts
  * timeslot_fsm: Warn in case Ercisson RBS uses static PDCH
  * pcuif_proto: add indication to communicate E1 parameters
  * pcu_sock: fix endianess when populating gsm_pcu_if_info_ind
  * pcu_sock: Also fill in BSIC in gsm_pcu_if_info_ind
  * pcu_sock: remove unecessary OSMO_ASSERT()s
  * pcu_sock: rework log output
  * timeslot_fsm: remove duplicate TS_ST_BORKEN from out_state_mask
  * pcuif_proto: move gsm_pcu_if_e1_ccu_ind into right place

  [ Harald Welte ]
  * bts_nokia_site: Implement channel config for CBCH
  * Support building with -Werror=strict-prototypes / -Werror=old-style-definition
  * update very outdated vty copyright statement

  [ Max ]
  * BSSMAP: add assert to reset resending
  * Set working directory in systemd service file
  * ctrl: take both address and port from vty config
  * SI: use defined constant instead of magic number
  * SI: set type 10 length properly
  * HO: use defined constant instead of magic number

  [ Neels Hofmeyr ]
  * gscon_pre_term: properly clear mgw ep
  * fix Speech Codec cfg in BSSMAP Assignment Complete
  * doc: add mscpool-attach.dot

  [ Oliver Smith ]
  * tests: add test_meas_rep_multi_band.ho_vty
  * gsm48_parse_meas_rep: fix parsing multi-band list
  * Cosmetic: fix desc of neighbor_ident_add_neighbor
  * Cosmetic: lchan_fsm: drop obsolete comment
  * lchan_fsm: fix lchan_fsm_on_error size
  * Cosmetic: fix spaces around timers

  [ Alexander Couzens ]
  * bts_ipaccess_nanobts: remove unused assignment
  * gsm_data.h: replace white spaces with tabs
  * Add BTS setup ramping to prevent BSC overloading
  * nm_rcarrier_fsm: fix indention of ENABLED state
  * bts: ipa/osmo-bts/sysmobts: MO: add support for the second NSVC

  [ arehbein ]
  * osmo-bsc: Transition to use of 'telnet_init_default'
  * vty: Add support for Ny1 configuration
  * vty: Add check against sensible default value for Ny1
  * osmo-bsc: Log error regarding BTS number explicitly
  * osmo-bsc: Fix 'apply-config-file' CTRL command
  * bsc_ctrl_commands: Add GET for bts neighbor-list (local bts numbers)

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Tue, 07 Feb 2023 17:21:10 +0100

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 <pespin@sysmocom.de>  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_<reason> 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:<cause> 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 <pespin@sysmocom.de>  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 <port>'
  * 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 <pespin@sysmocom.de>  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 <pespin@sysmocom.de>  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 <pespin@sysmocom.de>  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 <laforge@gnumonks.org>  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 <pespin@sysmocom.de>  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 <pespin@sysmocom.de>  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 <pespin@sysmocom.de>  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 <laforge@gnumonks.org>  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 <laforge@gnumonks.org>  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 <laforge@gnumonks.org>  Sat, 28 Oct 2017 11:19:03 +0200

osmo-bsc (0.1.0) UNRELEASED; urgency=low

  [ Alexander Couzens ]
   * Initial release.

 -- Alexander Couzens <lynxis@fe80.eu>  Tue, 08 Aug 2017 01:12:56 +0000
