osmo-msc (1.6.1) unstable; urgency=medium [ Vadim Yanitskiy ] * libmsc/gsm_04_08.c: fix: verify MI before calling vlr_subscr_rx_id_resp() [ Neels Hofmeyr ] * vlr_gsup_rx: fix uninitialized rc * vlr.c: fix condition to check MSISDN presence -- Pau Espin Pedrol Thu, 09 Jan 2020 12:29:08 +0100 osmo-msc (1.6.0) unstable; urgency=medium [ Philipp Maier ] * cosmetic: make function mncc_tx_to_gsm_cc static * sgs_iface: do not use SGsAP-MO-CSFB-INDICATION for CSFB return * msc_a: switch RAN type back to SGs when a CSFB-Call is cleared * sgs_iface: Accept messages with unknown TLV elements * paging: Send SGsAP-SERVICE-ABORT-REQUEST on paging timeout [ Neels Hofmeyr ] * add 'encryption uea 1 2' cfg / fix ttcn3 iu tests * mncc: send payload type matching chosen codec * memleak on cc setup errors * cc trans: make sure bearer cap is empty * fix segfault: don't send CC REL on NULL msc_a * vlr_lu_fsm: ignore ID_IMEISV during VLR_ULA_S_WAIT_HLR_UPD * tweak CC cause for incoming call to unattached nr * log, cosmetic: add "RR" to "Ciphering Mode Complete" * msc_vlr_tests: GSUP: don't care about extra IEs * gsm48_tch_rtp_create(): check against NULL mgcp_info * msc_a.c, CC trans: change a comment to a debug log * cosmetic: fix call_leg_ensure_ci() decl. arg name to match impl. * vlr: don't log about "gratuitous ID RESPONSE" * ran_dec logging: log message sizes on errors * msc_a fsm: ignore state chg to same state * fix error on BSSMAP Cipher Mode Complete L3 msg IE * catch GSUP auth result without auth_fsm * LOG_TRANS for CC: always log CC state * log which DTAP messages are sent to RAN * log: drop duplicate MNCC log * also log MNCC_SETUP_REQ * BSSMAP log tweak * log: RANAP encode: use RANAP message names instead of BSSAP * log: ran_msg_a: tweak a message name * send MNCC REL only if MNCC has actually started * fsm: use deferred deallocation * rtp_stream: sanely cancel MGW endpoint FSM notify * use osmo_sockaddr_str_is_nonzero() * CC: add error handling for CRCX responses * add msc_log_to_ladder.py * charts: add full MO and MT voice call diagram * cc trans: remove unused tch_rtp_create * fix msc_vlr_test_call.c * BSSMAP: decode Codec List (BSS Supported) * fail on invalid RTP address from MGW * msc_a CC: add some basic sanity tests * fix incoming call while Paging * add sdp_msg API: SDP parsing/composition * MNCC v6: add optional SDP to the socket protocol * msc_vlr_tests: better err logging for dtap msgs * msc_vlr_test_call.c: add MNCC logging * msc_vlr_tests: log descriptions in color with -v * msc_vlr_test_call: rename lu_utran_tmsi * gsup: indicate CN-Domain in SendAuthInfo Requests * sms db: when storing an SMS, retrieve the ID * sms log tweak [ Vadim Yanitskiy ] * libvlr/vlr.c: cosmetic: move message_type assignment * counters: clarify documentation for MSC_CTR_SMS_* entries * counters: clarify documentation for MSC_CTR_LOC_UPDATE_* entries * counters: clarify documentation for MSC_CTR_CALL_* entries * counters: polish documentation of cm_service_request / paging_resp * libmsc: fix potential NULL-pointer dereferences detected by GCC's LTO * libmsc/gsm_04_11_gsup.c: do not init a buffer in gsm411_gsup_mo_fwd_sm_req() * libmsc/gsm_04_11_gsup.c: fix SM-RP-OA encoding for MO SMS over GSUP [ Alexander Couzens ] * smpp_openbsc.c: check acl before deref it * vlr: gmm_cause_to_fsm_and_mm_cause() drop fsm_cause_p argument * make vlr_gmm_cause_to_mm_cause public * vlr_auth_fsm: on SAI use the GSUP provided GMM cause code [ Keith Whyte ] * Implement a global switch on the network to disable call waiting. [ Pau Espin Pedrol ] * vty: fix access to wrong argv in paging response-timer [ Oliver Smith ] * tests: only check IU configs if IU is enabled * osmoappdesc.py, tests: switch to python 3 [ Martin Hauke ] * Fix some typos [ Harald Welte ] * check for osmo_ss7_init() error return value * manual: Fix copy+paste error * Check for osmo_fsm_register() error return value * msc: exit(2) on unsupported positional arguments on command line -- Pau Espin Pedrol Fri, 03 Jan 2020 18:51:37 +0100 osmo-msc (1.5.0) unstable; urgency=medium [ Max ] * Handle LCLS-NOTIFICATION message from BSS * Various logging fixes * VLR tests: use msgb_eq_data_print() for comparison * transaction: drop meaningless ti_flag of trans_assign_trans_id() * transaction: clarify magic 0xff transaction ID [ Vadim Yanitskiy ] * transaction.c: cosmetic: use 'default' branch in trans_free() * libmsc/ran_conn.c: cosmetic: use tabs instead of N * 8 spaces * transaction: change arguments of trans_find_by_sm_rp_mr() * libmsc/gsm_04_11.c: also assign SM-RP-MR to MO transactions * libmsc/gsm_04_11.c: introduce and use gsm411_assign_sm_rp_mr() * libmsc/gsm_04_80.c: use gsm0480_create_release_complete() * libmsc/gsm_04_80.c: add msc_send_ussd_release_complete_cause() * libmsc/osmo_msc.c: move connection ref-counting code to 'ran_conn.c' * transaction: fix description of trans_assign_trans_id() * transaction.h: use #pragma once as include guard * libmsc/gsm_09_11.c: implement guard timer for NCSS sessions * libmsc/ran_conn.c: add missing 'break' to OSMO_RAT_EUTRAN_SGS * libmsc/sgs_iface.c: fix SGS_STATE_NS11 counter reference * libmsc/sgs_vty.c: always write server address and VLR name * libmsc/msc_vty.c: drop dead comparison against null * libmsc/sgs_iface.c: fix copy-paste error * libmsc/sgs_iface.c: register sgs_vlr_reset_fsm on DSO load * libmsc/sgs_vty.c: don't print SGs socket error twice * libmsc: fix: properly initialize the SGs server * libmsc/sms_queue.c: fix memleak in smsq_take_next_sms() * tests/sms_queue: track the use of NULL talloc memory contexts * msc/gsm_data.h: drop unused SMS_HDR_SIZE macro * configure.ac: drop rudimentary check for -fvisibility=hidden * configure.ac: drop useless SQLite3 dependency * libmsc/db.c: print info about database name and libdbi version * libmsc/gsm_04_11.c: clarify implicit CP-ACK handling * libmsc/ran_peer.c: fix msgb memleak in ran_peer_rx_reset() * libmsc/gsm_04_11.c: properly handle TP-User-Data-Length * libmsc/gsm_04_11.c: fix double init of both SMR and SMC FSMs * libmsc/gsm_04_11.c: cosmetic: restructure gsm411_mm_send() * libmsc/gsm_04_08.c: fix: print proper length value * libmsc/gsm_04_08.c: refactor CM Service Request parsing * libmsc/gsm_04_08.c: clarify IMEI rejection in gsm48_rx_mm_serv_req() * libmsc/gsm_04_11_gsup.c: cosmetic: drop useless variable * tests/.../Makefile.am avoid redundant linkage with librt * libmsc/sgs_server.c: do not override rc in case of SCTP_SHUTDOWN_EVENT * libmsc/msc_ho.c: fix unreacheable check of MSC-T role allocation * libmsc/msc_a.c: fix possible NULL-pointer dereferences * sms_queue_test: assert return value of osmo_use_count_get_put() * libmsc/gsm_04_11.c: fix NULL-pointer dereference in gsm340_rx_tpdu() * libmsc/ran_msg_a.c: avoid ternary operator in struct initialization * libmsc/ran_msg_a.c: refactor ran_a_decode_lcls_notification() * libmsc/ran_msg_a.c: prevent chosen_encryption->key buffer overrun * libmsc/mncc_call.c: fix uninitialized access of stack memory * libmsc/ran_peer.c: fix msgb memleaks in ran_peer_down_paging() * libmsc/ran_peer.c: avoid unreasonable use of goto in ran_peer_down_paging() * libmsc/msc_vty.c: fix: use msub_for_vsub() in subscr_dump_full_vty() * libmsc/msc_vty.c: fix documentation of 'show subscriber id' * libmsc/msc_vty.c: use llist_count() in subscr_dump_full_vty() * libmsc/rtp_stream.c: prevent NULL-pointer dereference * libmsc/gsm_04_11.c: properly handle MMTS indication * transaction: accept trans_type enum in trans_log_subsys() * Use GSM23003_MSISDN_MAX_DIGITS from libosmogsm * libmsc/msc_vty.c: refactor 'show subscr / conn / trans' commands * libmsc/msc_vty.c: do not abuse strlen() to check char buffers * tests: share stubs.h from msc_vlr_test as stubs.c * Introduce initial unit test for db_sms_* API * libmsc/db.c: fix storing SMS with empty TP-User-Data * debian/control: add missing libdbd-sqlite3 to Build-Depends * libmsc/db.c: fix potential integer overflow * libmsc/db.c: introduce and use parse_sm_ud_from_result() * libmsc/db.c: warn user about SMS text truncation * libmsc/db.c: get rid of hard-coded SMS expiry threshold * libmsc/mncc_builtin.c: drop dummy switch in int_mncc_recv() * libmsc/gsm_0(4|9)_11_gsup.c: print error message if subscr is not known * gsup_client_mux_tx_error_reply(): fix: do not override IMSI * gsup_client_mux_tx_error_reply(): fix: do not omit session IEs * gsup_client_mux_tx_error_reply(): fix: do not omit message class IE * gsup_client_mux_tx_error_reply(): fix: do not omit SM-RP-MR IE * libmsc/gsm_09_11.c: fix: return trans from establish_nc_ss_trans() * libmsc/gsm_09_11.c: send GSUP PROS_SS ERROR message when needed * libmsc/gsm_04_08.c: clean up unused leftover includes * libmsc/msc_a.c: fix: remove dummy allstate_action of msc_a_fsm * libmsc/paging.c: avoid double zero-initialization * libmsc/paging.c: cosmetic: actually use default branch of switch * libmsc/paging.c: cosmetic: remove leading space in log line * libmsc/gsm_09_11.c: do not abuse LOG_TRANS() and early trans allocation * libmsc/gsm_09_11.c: log network-originated session establishment error * libmsc/gsm_09_11.c: drop rudimentary vsub->cgi.lai.lac check * libmsc/gsm_09_11.c: drop meaningless check for concurrent paging * libmsc/msc_net_init.c: pass pointer to gsm_network directly * libmsc/gsm_09_11.c: inform HLR/EUSE if Paging has failed * libmsc/gsm_09_11.c: properly handle OSMO_GSUP_MSGT_PROC_SS_ERROR * libmsc/gsm_09_11.c: avoid double zero-initialization of gsup_msg * libmsc/gsm_09_11.c: fix broken reference counting for vsub * libmsc/gsm_09_11.c: do not abuse LOG_TRANS() in gsm0911_rcv_nc_ss() * libmsc/gsm_09_11.c: do not suppress rc of gsup_client_mux_tx() * tests/msc_vlr: fix: do not pass RAT type to expect_bssap_clear() * libvlr/vlr.c: do not expire subscribers if periodic LU is disabled * gsm_04_11_gsup.c: fix broken reference counting for vsub * libmsc/gsm_04_11.c: do not abuse LOG_TRANS() in gsm411_alloc_mt_trans() * libmsc/ran_msg_iu.c: fix: properly handle SAPI IE of RANAP_DirectTransfer * Fix: add missing semicolons to OSMO_ASSERT statements * libmsc/msc_vty.c: print subscriber expiration time [ Harald Welte ] * Add SGs Interface * debian: depend on libsctp-dev * configure.ac: Check for libsctp * a_iface: Centralize/wrap BSSAP / N-DATA transmission * a_iface: use 'const' qualifier for ran_conn whenever possible * a_iface: Fix hexdumping of N-DATA.req * a_iface: OSMO_ASSERT() if we ever want to send BSSAP with invalid length * smpp_smsc: Call destroy_tlv() when using build_tlv() * smpp: Make libsmpp34 use talloc for its allocations * msub_check_for_release(): Initialize msc_role_a_c * SMPP: Don't accept password or system-id exceeding spec length * Iu: Send SMS over SAPI-3 [ Philipp Maier ] * a_iface: Include CSFB Indication into BSSMAP CLEAR COMMAND * silent_call: use osmo_strlcpy() instead of strncpy() * msc_vty: add missing header file * vlr_sgs: fix SGs IMSI detech from non EPS services * vlr_sgs: start lu expiration timer on sgs eps detach * sgs_iface: fix nullpointer dereference * vlr_sgs_fsm: make sure vsub is marked used when LA is present * sgs_iface: detect and react to VLR/HLR failure [ Oliver Smith ] * debian: depend on libdbd-sqlite3 * vlr_lu_fsm.c: assert for invalid events * vty: make retrieve-imeisv-early configurable * vlr: fix IMEI length * vlr: when setting IMEISV, also set IMEI * vlr: optionally send IMEI early to HLR * debian: create -doc subpackage with pdf manuals * contrib/jenkins.sh: run "make maintainer-clean" * vlr_lu_fsm.c: don't send LU reject twice [ Keith ] * Don't deliver alert notifications to ESME not yet bound. * Write configuration correctly from vty (alert notifications) [ Neels Hofmeyr ] * use only accepted ran_conns for new transactions * gsm_04_11_gsup.c: drop unused conn lookup * SMS queue: properly log failed attempts number * vty: add cmd subscriber ID sms delete-all * vlr_subscr_name(): use OSMO_STRBUF * enable osmo_fsm_term_safely(), apply logging changes * sms queue: avoid repeated Paging for a failed SMS * vlr_subscr: use osmo_use_count * add LOG_TRANS, proper context for all transactions * gsm_04_08_cc: improve logging for CC trans * smpp: fix vlr_subscr use count bugs * vlr subscr get/put: also check against NULL * fix various missing line endings in logging * gsm_04_11: use gsm48_decode_bcd_number2(), evaluate rc * large refactoring: support inter-BSC and inter-MSC Handover * GSUP: include terminating nul in inter-MSC source/destination name * rename bscconfig.h to config.h, cleanup * fix regression: fix internal MNCC operation * vty/cfg: add missing write-back of inter-BSC and inter-MSC HO config * comment: apply function renames to message cycle explanation * ran_a_make_handover_request(): allow no encryption * make msc_a_vsub() and others NULL-safe * no HO call forwarding if no RTP stream * LOG_TRANS: store subsys in trans, unify USSD logging back to DMM * call_leg: remove unused event MSC_EV_CALL_LEG_RTP_RELEASED * call_leg: document the parent_event_* items * add DSS logging category * silence error messages about HANDOVER_END not permitted * build osmo-msc: add "missing" LIBASN1C_LIBS * minor comments in msc_vty.c * manual: adjust and fix auth and ciph docs * do not force encryption on UTRAN * add msc_vlr tests for UMTS without ciphering * doc/sequence_charts/mncc_fsm.msc: add SIP messages, tweak * doc/sequence_charts: fix naming of mncc_fsm to mncc_call * vlr_lu_fsm: fix missing event for IMEISV [ Sylvain Munaut ] * libmsc: Allow different channel types to be requested as silent calls * libvlr: Allow 2G auth tuples to be re-used without going through AUTH * make LOG_TRANS() NULL-safe again [ Pau Espin Pedrol ] * debian/control: Fix typo * sms_queue: Print dest msisdn instead of unknown subscriber * ran_peer: Move rx_reset_ack logic into its own func * vty: Add option to enable osmux towards BSCs * bssap: Detect BSC Osmux support on RESET (ACK) recv * a_iface: Announce Osmux support on RESET (ACK) send * Request Osmux CID and forward it in Assign Req and Assign Compl * db: Fix call to mempcy with NULL src ptr * db_sms_test: Do not print exact memcmp result * db_sms_test: Remove libdbi expected driver load errors * sms_queue.c: Improve misleading log line * doc: Add Osmux documentation to User Manual * Remove undefined param passed to logging_vty_add_cmds * Fix dependency version requirements [ Omar Ramadan ] * Allow MME name preformatted as FQDN in SGsAP [ Alexander Couzens ] * remove msc specific db counters * replace osmo_counter with stat_items [ Eric Wild ] * libvlr: fix sgsn tmsi creation, replace constant with define * turn -Werror=null-dereference into a warning [ Daniel Willmann ] * manuals: Add script to update vty/counter documentation from docker * manuals: Update counter/vty documentation * manuals: Include overview chapter about counters [ Thorsten Alteholz ] * fix spelling detected by lintian [ Keith Whyte ] * Set coding in mncc_set_cause() -- Pau Espin Pedrol Thu, 08 Aug 2019 16:01:38 +0200 osmo-msc (1.3.1) unstable; urgency=medium [ Neels Hofmeyr ] * fix build: apply msgb_wrap_with_TL() rename -- Harald Welte Tue, 22 Jan 2019 16:02:11 +0100 osmo-msc (1.3.0) unstable; urgency=medium [ Philipp Maier ] * vlr_access_req_fsm: use correct cause codes * a_reset: cleanup + remove dead code * mgcp: do not start connections in loopback mode * mgcp: hack to keep IuUP working * mgcp: use codec information returned with ASSIGNMENT COMPL. * doc: update mgw settings in example config file * mncc: fix byte ordering of IP-Address in mncc * msc_mgcp: move mncc struct initalization to where its actually needed * gsm_04_08_cc: Add global guard timer for MNCC * cosmetic: remove forgotten debug printf * vlr: drop unused is_ps parameter in vlr_subscr_req_lu() * osmo_msc: remove unused parameter from msc_dtap() * gsm_subscriber: make function msc_paging_request() static * msc_vty: display subscriber flags * msc_vty: display current RAN type * msc_vty: also show IMEI and IMEISV * gsm_04_08: Fix nullpointer deref [ Stefan Sperling ] * remove redundant unconditional PKG_CHECK_MODULES for libsmpp * implement periodic Location Update expiry in the VLR * VLR: reject overlong IMSIs in ID RESP messages * fix a use-after-free in msc_mgcp.c:_handle_error() * detach cancelled subscribers from VLR * make gsup ipa name configurable in osmo-msc.cfg * provide software version information to gsup peer * require 'ipa-name' option to be set via config file * use vty->type instead of local variable [ Vadim Yanitskiy ] * libmsc/ussd.c: FIX: properly indicate errors * libmsc: properly name the MSC_CONN_USE token for SS * libmsc/ussd.c: use connection ref-counting and transactions * Use proper naming for GSM TS 09.11 implementation * libmsc/gsm_04_08.c: expose gsm48_tx_simple() * libmsc/gsm_09_11.c: properly indicate transaction errors * libmsc/gsm_04_80.c: make the API abstract from ss_request struct * .gitignore: ignore src/libgsupclient/gsup_test_client * configure.ac: drop unused dependencies * msc_vlr_tests: don't abuse USSD-request to conclude connections * libvlr/vlr.c: forward unhandled GSUP messages towards MSC * libmsc/gsm_09_11.c: forward SS/USSD messages to HLR over GSUP * libmsc/gsm_09_11.c: implement network-initiated sessions * libmsc/gsm_09_11.c: properly handle MS-initiated release * libmsc/gsm_09_11.c: introduce rate counters for NC_SS sessions * libmsc/gsm_09_11.c: introduce counter for active sessions * msc/signal.h: use #pragma once include guard * msc/rrlp.h: use #pragma once include guard * libmsc/rrlp.c: add missing include * libmsc/gsm_09_11.c: clean up the local GSM 04.80 API * RRLP: properly name the init function * RRLP: fix: actually init the RRLP signal handlers * RRLP: migrate and share mode definitions from msc_vty.c * RRLP: print log when sending a position request * osmo-msc: free the VTY talloc context on exit * osmo-msc: track the use of talloc NULL memory contexts * libmsc/db.c: cosmetic: mark missing breaks in switch as intended * msc/gsm_04_11.h: drop unused sms_next_rp_msg_ref() * msc/gsm_04_11.h: use forward-declaration for _gsm411_sms_trans_free() * msc_vlr_tests.c: drop duplicating DMM category definition * libmsc/gsm_04_11.c: don't pass msgb to gsm411_rx_rp_{ack|error} * libmsc/gsm_04_11.c: refactor RP-DATA header validation * libmsc/transaction.c: cosmetic: fix typo * libmsc/gsm_09_11.c: drop redundant assertion of stored msgb * libmsc/gsm_04_11.c: refactor MT SMS message handling * libmsc/gsm_04_11.c: fix: always use SAPI 3 for MT SMS * libmsc/VTY: introduce kill-switch for routing SMS over GSUP * libmsc/gsm_04_11.c: forward MO SMS messages over GSUP * libmsc/gsm_04_11.c: accept MT SMS messages over GSUP [ Pau Espin Pedrol ] * msc_main: Fix typo in description of version param * jenkins.sh: Use --enable-werror only when iu support is disabled * osmo-msc: Improve shutdown due to signal and print talloc report on exit * msc: Set talloc ctx for osmo_signal structures * Install systemd services with autotools * Install sample cfg file to /etc/osmocom * msc: vty: Fix integer printf formatting [ Daniel Willmann ] * git-version-gen: Don't check for .git directory * OsmoBSC/HLR/MSC: Fix default config file name [ Harald Welte ] * libmsc: move L3 call-control to separate C file (gsm_04_08_cc.c) * migrate to oap_client in libosmogsm * Remove local libgsupclient; Use libosmo-gsup-client from osmo-hlr * gsm0407_is_duplicate(): Handle error ret of gsm0407_pdisc_ctr_bin() * share chapters/gsup.adoc from OsmoSGSN to OsmoMSC + OsmoHLR * vty-ref: Update URI of docbook 5.0 schema * add SGs / CSFB related dot + msc files [ Neels Hofmeyr ] * vlr_access_req_fsm.c: use osmo_strlcpy and avoid compiler error * Iu MGCP: no need to loopback on the cn side * cosmetic: typos in log and comment * use __FILE__, not __BASE_FILE__ * cosmetic: mute "COMPLETE_LAYER_3 not permitted" * store classmark in vlr_subscr, not conn * msc_vlr_tests: cosmetically tweak perm algo printing * A5/n Ciph: request Classmark Update if missing * fix Classmark Update without VLR subscriber * vty: add SCCP related vty commands * GSUP client: send CN domain IE on LU request * lu_fsm: result cb: use proper cause type (warning/coverity) * Importing history from osmo-gsm-manuals * add OsmoMSC manual * add OsmoHLR manual, OsmoHLR VTY reference * refactor Makefile build rules, don't use the FORCE * OsmoMSC: update VTY reference * msc: update vty reference * drop unused gsm_subscr_conn->mncc_rtp_bridge * drop unused gsm_network->handover.active * drop unused openbscdefines.h * drop unused SUBSCR_CONN_E_INVALID * drop unused gsm0408_allow_everyone() declaration * drop unused tests/db/* * cosmetic: subscr_conn_fsm_auth_ciph() should be static * adjust copyright in subscr_conn.c * populate gsm_subscriber_connection->encr during Ciph * rename gsm_encr to geran_encr, it is only applicable on GERAN * drop msc_compl_l3() return value * rename gsm_subscriber_connection to ran_conn * rename some RAN conn related stuff to ran_conn_* * move subscr_conn.c to ran_conn.c * move ran_conn declarations to new ran_conn.h * combine several small .h in msc_common.h * cosmetic: drop some unused opaque struct defs * move gsm_auth_tuple to vlr.h as vlr_auth_tuple * GSM_EXTENSION_LENGTH -> VLR_MSISDN_LENGTH * drop cruft from gsm_subscriber.h * move gsm_cbfn to gsm_subscriber.h, the only user * python tests: use py shebang instead of $(PYTHON) * make: prepare for adding transcript tests * add test_nodes.vty transcript test * cosmetic: msc_main.c: default args definition style * msc_main: mncc: move mncc socket decision to after read_cfg * vty: mncc cfg: separate the 'mncc' from 'mncc-guard-timeout' * add VTY commands: mncc internal / external (== -M) * ASS-COMPL: do not fire Sec Mode Compl event * move ASS-COMPL MGCP handling out of a_iface_bssap.c * drop gsm48 RR ciph mode compl from permitted initial messages * LU: do not always invoke sub_pres_vlr_fsm_start() * Revert "move ASS-COMPL MGCP handling out of a_iface_bssap.c" * log: by default start with all categories on LOGL_NOTICE * tweak comment to indicate sub_pres_vlr fsm as dead code * vlr_lu_fsm: drop unused out_state INIT -> WAIT_IMEI * comment: vlr: put the 'balancing' comment closer to the put() * vty: show subscriber: put() before printing the use count * fix msc_mgcp_fsm_evt_names: two missing events * mgcp log tweak: say RAN, not BTS, like surrounding logging * fix test_nodes.vty after libosmo-mgcp-client vty changes * cosmetics in msc_mgcp_call_release() * release RTP stream only for matching CC transaction * fix vlr ops.subscr_assoc re-association * remove code dup: add msc_mgcp_try_call_assignment() * move trans->assignment_done to cc.assignment_started * fix: incoming call during ongoing call * abort assignment on Assignment Failure * vlr: auth_fsm: make sure vsub->auth_fsm = NULL when it terminates * vty cfg: move 'ipa-name' from 'msc' to 'hlr' section * use osmo_rat_type from libosmocore * use mgcp-client configured endpoint domain name * use osmo_lu_type_name() from libosmocore * add LOG_RAN_CONN() to use the conn->fi->id for context * rx CM Service Req: reject double use sooner * refactor log ctx for vlr_subscr and ran_conn * mm_rx_id_resp(): use osmo_mi_name() * tweak fsm_msc_mgcp FSM and FI name * err log: fully log MS supported A5 algos on mismatch * msc_vlr_tests: tweak logging in verbose mode [ Keith ] * libmsc/mncc_sock.c: Add lchan_type_offset in queue_hello() * Make alert notifications vty configurable per ESME * Cosmetic: Fix spelling in smpp vty [ Max ] * Properly parse cause in cipher mode reject * Add counters for BSSMAP cipher mode messages * vty: add command to show all known BSC * msc_vlr_tests: tweak conn_exists() * Fix build with latest libosmocore * Use BSSAP-specific TLV parser from libosmocore * Use libosmocore to function to parse cipher mode reject cause * cosmetic: drop duplicated #include * cosmetic: drop unused variable * CC: log more details about unhandled message/state * VLR tests: add logging macro with explicit value description * VLR tests: avoid leaking LAC access details * Use proper type for tch_rtp_connect() parameter * VLR: drop unused struct members * Remove redundancy in LAC processing * MNCC: use log wrapper for call processing * Constify transaction helpers parameters * Use explicit protocol discriminator for NC SS/USSD session * Fix trans_has_conn() doxygen description * Enable SMS-related log in VLR tests * MNCC: use explicit struct type in gsm_call * SMS: remove code duplication in transaction init * vty: make 'sh connect/transact' readable again [ Keith Whyte ] * libmsc: Don't send SMS STATUS REPORT locally if the ESME accepted it. [ Alexander Couzens ] * OsmoMSC: add rate counter documentation [ Oliver Smith ] * build manuals moved here from osmo-gsm-manuals.git * Fix DISTCHECK_CONFIGURE_FLAGS override * contrib/jenkins.sh: build and publish manuals * contrib: fix makedistcheck with disabled systemd * Cosmetic: msc_vty: remove redundant "0 =", "1 =" * msc_vty.c: make check-imei-rqd configurable * vlr_core.h: remove duplicate declarations * VLR: vlr_subscr_{,msisdn_or_}name: const vsub arg * VLR: send CHECK-IMEI to EIR/HLR [ Ivan Kluchnikov ] * libmsc/transaction: introduce trans_find_by_sm_rp_mr() [ gsmevent admin ] * gsm_04_08_cc.c: drop non-sensible error message -- Harald Welte Mon, 21 Jan 2019 00:16:26 +0100 osmo-msc (1.2.0) unstable; urgency=medium [ Neels Hofmeyr ] * msc_vlr_tests: fix rebuild: rebuild when src/ libs were rebuilt * cosmetic: vlr: rename auth_tuple_max_use_count to _reuse_ * tests: add msc_vlr_test_authen_reuse * vty: make auth tuple reuse configurable * vty: drop deprecated 'logging level sms...' * defaults: assign TMSI by default * vty: skip installing cmds now always installed by default * examples: apply mgcp_client vty rename from 'mgcpgw' to 'mgw' * vlr: auth_fsm_start: check return value of fsm alloc * add --enable-sanitize config option * rate_ctr: don't use . as separator * sub_pres_vlr_fsm_start: fix heap use after free * vlr_gsupc_read_cb: fix use after free of GSUP msgb * subscr_conn: don't close after conn timeout * vlr_subscr_conn_timeout(): don't fire events to discarded fi * cosmetic: msc_vlr_tests: add comment to show expected tallocs * sms_queue_test: sanitize: clean up talloc contexts when done * cosmetic: log: CC state transition: log trans id and subscr * cosmetic: log: CC trans_alloc: log trans_id and subscr, not memory addrs * cosmetic: debug log: mncc: detached subscr: show subscriber * msc_vlr_tests: fix test nr arg: clear errno before strtol() * msc_vlr_tests: set a valid lac for fake conns * use only 0.23.1 as point code for both A and Iu * subscr_conn: introduce usage tokens for ref error tracking * cosmetic: log error when using a conn that's in release * add msc_vlr_test_call to reproduce a sanitizer error * fix use after free: missing conn_get on CC paging response * sms db: don't attempt to query pending SMS for unset MSISDN * sms db: properly quote MSISDN in various SQL queries * sms.db: silence libdbi warnings on out-of-range index * fix vty write: add missing 'authentication optional/required' output * compiler warning: drop double 'const' in a_iface_tx_cipher_mode() * debug log: a_iface_tx_cipher_mode(): log cipher and key * cosmetic: msc_vlr_tests: log SMS details when invoked with -v * vlr: debug log: log Ciphering Mode details * fix BSSMAP Cipher Mode Cmd: properly set permitted algorithms * cosmetic: move translation of vlr_ciph into msc_vlr_set_ciph_mode() * cosmetic prep: publish vlr_use_umts_aka() decision * cosmetic prep: tell vlr_ops.set_ciph_mode() whether UMTS AKA is used * drop unused T* timers (BSC land, not MSC) * cosmetic: msc_paging_request: drop obsolete comment * fix GSM-Milenage in presence of 2G keys * compiler warning: extend #if 0 to include unused array * a_iface_bssap: compiler warning: cast const away from TLV val for l2h * smpp_smsc: fix truncated string copy into bind_r.system_id * log: a_iface.c: revisit logging, use LOGPCONN * cosmetic: rename sccp_rx_udt and sccp_rx_dt to a_* * fix paging: add timeout to discard unsuccessful paging * fix: properly cancel all Paging on IMSI Detach * a_iface_tx_assignment: fix log lvl for "Sending Assignment..." * fix build: missing LIBOSMORANAP flags in libmsc * drop unused libmsc/meas_feed.h * cosmetic: gsm_network_init(): imply default 001-01 PLMN * implement support for 3-digit MNC with leading zeros * vlr: fix post-auth LU failure handling * vlr_lu_fsm: guard against using the wrong fi * msc_vlr_tests: revert IMSI parameter and test nr output * msc_vlr_test_gsm_ciph: drop unused function * msc_vlr_tests: make all test functions static * msc_vlr_tests: improve cipher mode coverage * fix: clear vlr_subscr->msc_conn_ref when the conn is discarded * vty: drop unused commands * vty: add 'msisdn' as alias for 'extension' * vty: add 'subscriber ... paging' cmd * msc_main: do not say 'osmo-nitb' in the usage * silent call: clarify rc and error messages logged on vty * msc_vlr_tests: clearly separate Ciph Mode from Security Mode checking * msc_vlr_test_gsm_ciph: add test for GSM AKA in UMTS environment * vlr: fix GSM AKA in a UMTS AKA capable environment * vlr auth: gracefully reject malformed auth response * gsm48_rx_mm_auth_resp(): pass is_r99 from classmark, not response size * cosmetic: gsm48_rx_mm_auth_resp(): log 'UMTS AUTH', not 'R99 AUTH' * msc_vlr_test_umts_authen: test response with too short RES * msc_vlr_test_umts_authen: test response with too long RES * msc_vlr_test_umts_authen: test response with only SRES half of RES * cosmetic: vlr_auth_fsm: clarify decision on UMTS AKA or GSM AKA * cosmetic: vlr_auth_fsm: log RAN and size along with SRES/RES * msc_vlr_tests: add test_a5_3_not_supported * configure: add --enable-werror * vlr_ciph_result: fix use after free of imeisv * trans_free: safeguard against a still running CC timer on free * cosmetic: vlr_auth: log decision to send UMTS or GSM AKA challenge * cosmetic: msc_vlr_tests: enable CC logging in debug * cosmetic: rename conn_fsm "bump" event to "release_when_unused" * msc_vlr_tests: add CC Release test and test to catch OS#2779 * cosmetic: gsm_04_08.c: drop unused struct gsm_lai * trans_free: tear down conn when last transaction is done * dissolve libcommon,libcommon-cs: clean up vty definitions * cosmetic: msc_vty.c: use static gsmnet instead of gsmnet_from_vty() * dissolve libcommon: drop unused bsc_version.c * dissolve libcommon: drop debug.c * dissolve libcommon: move talloc ctx into msc_main.c, drop talloc_ctx.c * dissolve libcommon: drop gsm_subscriber_base.c, move vlr_subscr_* to vlr.c * dissolve libcommon: drop gsm_data.c, move code to libmsc * rename libcommon to libgsupclient * dissolve libcommon-cs: mv a_reset.c to libmsc * dissolve libcommon-cs: move gsm_network_init() to libmsc * dissolve libcommon-cs: move gsm48_* code to libmsc, drop sms_next_rp_msg_ref() * remove empty libcommon-cs * gsup_test_client: gsupc_read_cb: fix uninitialized value 'io' * use osmo_init_logging2() with proper talloc ctx * drop some dead definitions (gsm_data.h, gsup_client.c) * test_reject_concurrency: missing assert * cosmetic: rx_bssmap: read message type once into local var * cosmetic: rename gsm_subscriber_connection->conn_fsm to ->fi * cosmetic: rename subscr_conn_from to complete_layer3_type * subscr_conn: store complete_layer3_type in conn, not FSM event arg * unify allocation of gsm_subscriber_connection * trans_free: drop bad assertion * msc_vlr_test_call: reproduce OS#3062 * CC: intentionally release T308 on BSSMAP Clear Request from BSC * refactor subscr_conn and subscr_conn_fsm de-/alloc * properly receive BSSMAP Clear Complete and Iu Release Complete * fix BSC Clear Request * cosmetic: embed compl_l3_type in FSM id * refactor VLR FSM result handling * msc conn ref counts: log human readable list of conn owners * cosmetic: use enum ranap_nsap_addr_enc instead of int [ Harald Welte ] * sms_route_mt_sms: Don't return uninitialized variable * MNCC: Add input validation * Log difference between SETUP and EMERGENCY_SETUP * Emergency Call: Set MNCC_F_EMERGENCY flag * Refuse Emergency Calls by IMEI with proper CM SERVICE REJECT Cause (Closes: #2866) * Reject any CM SERVICE we don't support * Remove traces of meas_feed * Fix msc_vlr test results (.err) for new libosmocore GSM48_PDISC names * Properly reject CM Re-Establishment Request * msc_cipher_mode_compl: Handle CIPH MOD COMPL without L3 message * remove unused paging.h and osmo_bsc_grace.h * debug: Remove code for filters that don't exist in OsmoMSC * remove traces of bsc_subscriber * jenkins.sh: Don't depend on osmo-ggsn * Massive removal of unused code/structs/headers * remove unused ipaccess.h * remove dead code in auth.h / auth.c * remove dead header files bsc_msc.h, bsc_msc_data.h and bsc_rll.h * signal.h: Remove unused/dead signal definitions * remove dead ctrl.h header file * debug: Remove dead log categories * Shift ciphering algorithm selection from VLR to MSC * Permit a set of multiple different A5 ciphers * MSC: Intersect configured A5 algorithms with MS-supported ones * Change GSUP re-connect interval to 1s * Implement checks for duplicate uplink UL L3 message (Closes: #2908) * VTY: Add 'show connections' and 'show transactions' commands * a_reset: Add additional "a_reset_alloc" argument * Don't answer to BSC-originated RESET with another RESET * cosmetic: Use msgb_hexdump*() rather than manual osmo_hexdump() on msg * a_iface: Reduce log levels * a_iface_bssap.c: Use LOGPCONN() whenever possible * a_sccp_rx_dt(): Don't print hexdump of message multiple times * cosmetic: a_iface: Harmonize log statements * cosmetic: No need for 'break' after 'return' * a_iface: centralize lookup of subscriber_conn * cosmetic: a_iface: More logging harmonization * a_iface: Add copyright statement (after recent contributions) * Introduce new BSSAP logging category/subsystem * a_iface: Fix heap-use-after-free by cleaning up msgb ownership * Add VTY command to configure destination MSISDN for emergency calls * a_iface: Fix heap-use-after-free in a_clear_all() * MGCP: Response code 250 is *not* an error for DLCX * a_iface: s/Abis/L3/ for speech version/preference fields * a_iface: Consistent and understandable function names * MT Calls: Copy bearer capabilities from NNCC primitive to trans * MNCC: Copy bearer_cap from MNCC to gsm_trans * gsm_data: remove unused gsm_subscriber_connection members * remove bsc_api.h and all users - they're all dead code * dead code removal * remove unused dyn_ts_allow_tch_f VTY option * osmo-msc: Add talloc context introspection via VTY * remove unused VTY command "location updating reject cause" * remove unused "authorized-regexp" VTY command * remove unused "auth policy" VTY command * remove dead code (gsm_parse_reg) * BSSAP: Return error code if COMPL L3 with no or too short L3 payload * a_iface_bssap: Treat inbound RESET as implicit RESET ACK * a_iface: If L3/DTAP returns error in COMPL L3, close SCCP connection * DTAP: Ensure proper DLCI is used in MSC-originated DTAP * Permit any Sender MSISDN when sending SMS from VTY * smpp: Unset esme->acl on socket close * sms_queue: fix use-after-free on 'pending' [ Alexander Couzens ] * debian/rules: remove doublicated project name in example files * libmsc/vty: don't access old bsc rate counters [ Philipp Maier ] * reset: remove name variable from reset context * cosmetic: move log message to else branch * cosmetic: add missing spaces * cosmetic: remove duplicate logging * mncc: re-add lchan members to structs * mncc: remove deprecated commandline option. * a_iface: correct data type for a.conn_id in gsm_subscriber_connection * mgcp: use osmo-mgw to switch rtp streams * increase RAN timeout in MGCP FSM * a_reset: Add FSM event names * msc_mgcp: Add FSM event names * a_iface: fix BSSMAP reset handling * msc_mgcp: fix mgw timeout handling * mgcp: be sure that pending mgcp transactions are canceled before free * msc_mgcp: use more conceise error msg on truncation * mcgp: let the MGW allocate the MGCP endpoint * cosmetic: remove disabled (debug) code gsm_04_08.c * msc_mgcp: to not access higher layers after release * cosmetic: remove unused variable * msc_mgcp.c: log endpoint name instead of pointer * msc_mgcp: do not send wildcarded DLCX messages [ Max ] * Use osmo-ggsn instead of openggsn in jenkins tests * Add basic CTRL test * Remove obsolete ./configure option * Remove unneeded .py scripts * Enable sanitize for CI tests * Migrate from OpenSSL to osmo_get_rand_id() * VLR: remove unused parameter * VLR: log subscriber update * Add control command to expire subscriber * VLR: constify GSUP-related function parameters * cosmetic: log prim operation as text * Remove unused code * Wrap osmo_strlcpy() calls * Fix whitespace issues * Constify msc_subscr_conn_is_accepted() parameter * Move IMSI into test parameters * VLR tests: mark static test functions as such * Expand VLR tests * VLR tests: don't fail via assert * VLR tests: remove weird code * VLR tests: always print test parameters * VLR tests: move network init into function * GSUP: check osmo_gsup_encode() result * VLR: fix potential NULL dereference [ Alexander Huemer ] * Add missing CFLAGS * Remove utils imported from openbsc, fix building remaining util smpp_mirror [ Pau Espin Pedrol ] * libmsc: db.c: Replace dbi APIs marked as deprecated * libmsc: msc_vty: Fix compilation warning * libmsc: bssap: Fix typo in log message * libmsc: bssap: Refactor rx paths to to avoid parse_tlv code duplication * libmsc: bssap: Catch TLV parse failures * libmsc: bssap: Remove fixme and properly update msgb tail * msc_mgcp.c: Fix several wrong ptr printf fmt * contrib: osmo-msc.service: Depend on osmo-mgw.service * smpp_smsc_conf: Fix heap-use-after-free * Remove unused GSM_PAGING_OOM * setup_trig_pag_evt: Remove uneeded default case in switch statement * setup_trig_pag_evt: Always log correct paging failure case * setup_trig_pag_evt: Fix heap-use-after-free [ the 34c3 gsm team ] * smpp_smsc.c: don't talloc_strdup NULL pointers [ Vadim Yanitskiy ] * msc/gsm_04_80.h: clean up useless declarations * msc/gsm_04_80.h: cosmetic: whitespace fix * msc/gsm_04_80.h: use '#pragma once' instead of includes * src/libmsc/ussd.c: drop useless forward declaration * ussd.h: cosmetic: remove useless comment * ussd.h: cosmetic: use '#pragma once' include guard * libmsc/gsm_04_80.c: drop unused 'in_msg' argument * libmsc/ussd.c: cosmetic: correct log level and message * libmsc/ussd: don't overwrite rc if decoding failed * tests/msc_vlr: fix expected SS message names [ Stefan Sperling ] * Improve an error message in db_init(). * Delete SMS from the database once they were sent successfully * Store/retrieve SMS validity time in the SMS datebase * Fix value of stored SMS validity time. * Add a VTY command which deletes all expired SMS. * Accept SMS for any receiver * Delete expired SMS automatically. * Make sending an SMS to an unknown subscriber B work over SMPP. * enable osmo_fsm vty commands in osmo-msc vty * Track libosmocore API change in osmo-msc. * restore sending of optional MM info messages * use libosmocom to parse cell identifier in bssmap_rx_l3_compl() [ Daniel Willmann ] * iucs: Add a function to return the connection ID for the IU SCCP conn * libmsc: Add a function to return a unique ID of the subscriber conn * libmsc: Pretend MNCC requested release in handle_error() -- Pau Espin Pedrol Thu, 03 May 2018 18:52:03 +0200 osmo-msc (1.1.2) unstable; urgency=medium * Depend on both libosmo-sigtran-dev and libosmo-sccp-dev * Debian: require minimum versions of packages we depend on -- Harald Welte Sun, 29 Oct 2017 09:01:30 +0100 osmo-msc (1.1.1) unstable; urgency=medium * Debian: Depend on libosmo-sigtran-dev, not libsomo-sccp-dev! -- Harald Welte Sat, 28 Oct 2017 21:57:22 +0200 osmo-msc (1.1.0) unstable; urgency=medium [ Alexander Couzens ] * Initial release. * debian/rules: show testsuite.log when tests are failing [ Neels Hofmeyr ] * build: check for -lgsm * am: msc_vlr_tests: use AM_LDFLAGS instead of COMMON vars * jenkins: fix build: osmo-mgw from master, not pre_release * jenkins: drop unused build matrix vars, always --enable-smpp * configure.ac: fix to "AC_INIT[osmo-msc]" * rewrite README * rename openbsc.pc to osmo-msc.pc * debian: fix web and VCS links, tweak osmo-msc.install * drop files unrelated to osmo-msc * rename include/openbsc to include/osmocom/msc * doc/examples: add detailed cs7 config examples * use separated libosmo-mgcp-client, apply rename to mgcp_client_* * ctrl: subscriber-list-active: list only attached subscribers * debian: fix dependency to mgcp library * main: remove cmdline args no longer available for osmo-msc * vty: fix: missing default cmds at hlr node * ctrl: remove unimplemented cmds subscriber-{modify,delete} * fix build: remove obsolete header legacy_mgcp/mgcp.h * fix debian: fix erratic doc/examples install path * fix memory leak: vlr: vlr_gsupc_read_cb() must msgb_free() * fix vty tests: long timeout due to unreachable STP address * cosmetic: vlr: declare a struct in .h; drop unused header * add ';' after OSMO_ASSERT() [ Philipp Maier ] * a_iface: fix memory leaks * a_iface: fix typo [ Max ] * Remove rest_octets.h * Remove SI-related code * Remove BTS-specific attributes * Remove unused osmo_bsc_rf.h header * Remove pkg-config file [ Harald Welte ] * Update .gitignore for post-nitb-split * remove further files and autotest/autoconf bits irrelevant to osmo-msc * Rename osmo_fsm to avoid illegal space in name + more meaningful name * Debian: remove obsolete Dependencies * configure.ac: Depend on latest tagged/released libosmo-* versions * Debian: Build with enabled SMPP support * osmo-msc: Don't link against libasn1c * Debian: Include systemd.service in package * Debian: include all (not just one) example config files -- Harald Welte Sat, 28 Oct 2017 14:45:58 +0200 osmo-msc (0.1.0) UNRELEASED; urgency=low * Initial release. -- Alexander Couzens Tue, 08 Aug 2017 01:13:01 +0000