osmo-msc/openbsc/include/openbsc
Neels Hofmeyr 058cd573d8 SGSN: Integrate support for UMTS AKA
The general infrastructure for UMTS AKA is already in place:
* GSUP with capability to send us auth_vectors that contain
  either triplets or quintuples
* mm_context that holds such auth_vectors

Add:
* capability to send UMTS AUTN in GMM AUTH REQ
* parse extended UMTS RES
* on auth response, validate expected AKA with vector and received res/sres
* add Auth Failure message to receive resync AUTS token and
  * send to HLR
  * clear out-of-sync auth tuple
  * enter new state for when we're waiting for HLR to resync and send new
    tuples so that the next Auth Request will be handled

Original first half of this patch by: Harald Welte <laforge@gnumonks.org>

Full UMTS AKA procedure including AUTS resync tested to work against OsmoHLR
with R99 USIM and Milenage algorithm.

The sgsn_test.c needs adjustment because we're checking the vector's auth_types
now.

Depends: libosmocore change-ids
         I277fb3d407396dffa5c07a9c5454d87a415d393f
         If943731a78089f0aac3d55245de80596d01314a4
Related: OS#1956
Change-Id: Ie6a0cefba5e4e7f02cc2eaf6ec006ac07d5c1816
2017-02-27 14:29:41 +00:00
..
Makefile.am add struct gprs_subscr, separating gprs from gsm_subscriber 2017-02-25 01:25:22 +00:00
abis_nm.h move to libcommon-cs: net init 2: move bsc_network_init decl to new .h 2016-11-24 16:58:31 +01:00
abis_om2000.h Support configuration of CON MO Groups/Paths from VTY 2016-11-13 21:22:29 +01:00
abis_rsl.h dyn TS: clearly use lchan[0], fixing minor confusion 2016-08-27 02:23:47 +00:00
arfcn_range_encode.h Cosmetic fixes around SI generation 2017-01-06 11:37:52 +00:00
auth.h MM Auth: introduce AUTH_ERROR constant. 2016-03-31 11:56:29 +02:00
bsc_api.h mscsplit: move subscriber conns list into struct gsm_network 2016-09-26 02:25:46 +02:00
bsc_msc.h bsc: Check for the rand and then generate a res 2015-07-01 08:16:41 +02:00
bsc_msc_data.h cosmetic: rename struct osmo_msc_data to bsc_msc_data 2017-02-24 21:01:55 +01:00
bsc_msg_filter.h filter: Move the con_type into the filter_state 2015-05-03 22:09:02 +02:00
bsc_nat.h NAT: reload BSCs config dynamically 2016-04-14 08:37:34 -04:00
bsc_nat_callstats.h nat: Move the callstats to a new header file due sccp usage 2013-04-22 09:07:39 +02:00
bsc_nat_sccp.h filter: Move the con_type into the filter_state 2015-05-03 22:09:02 +02:00
bsc_rll.h misc: Move from u_int to uint types of stdint.h 2011-04-18 17:31:39 +02:00
bss.h split bsc_bootstrap_network() in alloc and config 2016-12-02 12:09:15 +00:00
bts_ipaccess_nanobts_omlattr.h OML: Improve OML attribute handling 2016-11-01 21:56:22 +00:00
chan_alloc.h Revert "bts: extend bts_chan_load to allow counting tch only" 2016-09-28 00:28:01 +00:00
common_bsc.h move to libcommon-cs: net init 2: move bsc_network_init decl to new .h 2016-11-24 16:58:31 +01:00
common_cs.h move to libcommon-cs: network VTY that isn't BSC-specific 2016-12-02 12:09:16 +00:00
crc24.h crc24: Include stdint.h as a possible compile fix 2011-04-19 20:06:26 +02:00
ctrl.h enable ctrl bind config for various programs 2016-02-25 12:18:04 +01:00
db.h Make random MSISDN assignment optional 2016-07-09 19:52:54 +00:00
debug.h debug.h/c: remove unused cruft / cosmetic tweaks 2017-02-22 17:28:49 +01:00
e1_config.h fix some "implicit declaration" warnings in libbsc 2011-09-06 09:32:14 +02:00
gb_proxy.h gbproxy: Check whether gbproxy_update_link_state_after() deletes the link_info 2016-11-15 22:32:02 +00:00
gprs_gb_parse.h gbproxy: Patch BSSGP P-TMSI in PAGING PS messages 2014-10-27 11:59:28 +01:00
gprs_gmm.h IuPS: add Iu response to create_pdp_conf() 2016-09-01 23:44:45 +02:00
gprs_llc.h Improve GPRS logging 2016-12-21 10:27:24 +00:00
gprs_llc_xid.h Adding LLC-XID encoder / decoder and unit test 2016-08-27 04:45:54 +00:00
gprs_sgsn.h SGSN: Integrate support for UMTS AKA 2017-02-27 14:29:41 +00:00
gprs_sndcp.h SNDCP: add RFC1144 header compression functionality 2016-09-24 03:17:58 +00:00
gprs_sndcp_comp.h SNDCP: add RFC1144 header compression functionality 2016-09-24 03:17:58 +00:00
gprs_sndcp_dcomp.h SNDCP: add V.42bis data compression functionality 2016-09-24 03:17:59 +00:00
gprs_sndcp_pcomp.h SNDCP: add RFC1144 header compression functionality 2016-09-24 03:17:58 +00:00
gprs_sndcp_xid.h sndcp: Allow empty SNDCP-XID indications 2016-12-23 11:19:15 +01:00
gprs_subscriber.h add struct gprs_subscr, separating gprs from gsm_subscriber 2017-02-25 01:25:22 +00:00
gprs_utils.h move osmo_shift_* / osmo_match_shift_* to libosmogsm 2016-04-29 13:10:37 +02:00
gsm_04_08.h gsm48_tx_mm_auth_req(): support UMTS AUTN 2017-02-03 05:35:25 +01:00
gsm_04_11.h sms_next_rp_msg_ref(): use direct pointer to next_rp_ref counter 2016-12-02 12:09:15 +00:00
gsm_04_80.h factor out gen of USSD notify and release complete to libosmocore 2016-12-02 12:09:15 +00:00
gsm_data.h add struct gprs_subscr, separating gprs from gsm_subscriber 2017-02-25 01:25:22 +00:00
gsm_data_shared.h rsl: Fix dropping of LAPDm UA message. 2017-01-27 22:17:22 +00:00
gsm_subscriber.h add struct gprs_subscr, separating gprs from gsm_subscriber 2017-02-25 01:25:22 +00:00
gsup_client.h rename oap.h to oap_client.h 2016-12-13 14:54:01 +00:00
gtphub.h gtphub: simplify/fix: one TEI mapping per tunnel. 2015-12-07 13:37:11 +01:00
handover.h comment tweak for bsc_handover_start() 2016-06-05 23:01:25 +00:00
handover_decision.h fix some "implicit declaration" warnings in osmo-nitb 2011-09-06 09:32:13 +02:00
ipaccess.h use new libosmocore gsm_23_003.h for IMEI/IMSI length 2016-04-29 13:10:37 +02:00
iu.h IuPS: add VTY config for asn_debug 2016-08-31 11:11:07 +00:00
meas_feed.h msc: Add channel information to the meas_feed, bump version to v1. 2015-09-14 10:08:41 +02:00
meas_rep.h port over to libosmocore include/osmocom/gsm/meas_rep.h 2014-08-25 09:20:33 +02:00
mgcp.h osmux: Allow to listen to a specific address 2015-10-12 20:06:16 +02:00
mgcp_internal.h mgcp: Use the right bind addresses for NET and BTS 2015-10-12 09:37:35 +02:00
mgcp_transcode.h mgcp: Add transcoding from PCMU as well 2015-08-19 15:44:44 +02:00
misdn.h src: port openBSC over libosmo-abis 2011-08-19 22:38:35 +02:00
mncc.h osmo-nitb: add -M to pass specific MNCC socket path 2016-02-25 12:18:03 +01:00
mncc_int.h mncc: Use the default codec from the built-in mncc mode 2015-09-14 10:12:29 +02:00
nat_rewrite_trie.h nat: Allow to use the prefix lookup to rewrite numbers 2013-07-31 16:36:40 +02:00
network_listen.h [ipaccess-config] fix bugs in generating the PHYSICAL CONFIG attribute 2010-07-22 21:54:19 +02:00
oap_client.h rename oap.h to oap_client.h 2016-12-13 14:54:01 +00:00
openbscdefines.h License change: We are now AGPLv3+ instead of GPLv2+ 2011-01-01 15:39:34 +01:00
osmo_bsc.h cosmetic: rename struct osmo_msc_data to bsc_msc_data 2017-02-24 21:01:55 +01:00
osmo_bsc_grace.h cosmetic: rename struct osmo_msc_data to bsc_msc_data 2017-02-24 21:01:55 +01:00
osmo_bsc_rf.h ctrl: Remember last 'rf_locked' control command 2013-09-11 20:27:08 +02:00
osmo_msc.h bsc_msc: Remove use_count from the subscriber connection 2010-06-28 18:01:47 +08:00
osmux.h osmux: Add negotiation state so race conditions can't disable osmux 2016-07-11 19:19:05 +00:00
paging.h paging.h: use '<>' include, not '""' 2017-02-02 04:26:36 +01:00
rest_octets.h Modify SI 13 field for control_ack_type 2016-09-17 10:00:58 +00:00
rrlp.h fix some "implicit declaration" warnings in osmo-nitb 2011-09-06 09:32:13 +02:00
rs232.h move openbsc into its own subdirectory 2009-06-10 05:40:52 +08:00
rtp_proxy.h Use 'defines' for length and duration of RTP payload 2014-01-26 08:49:35 +01:00
sgsn.h rename oap.h to oap_client.h 2016-12-13 14:54:01 +00:00
signal.h cosmetic: rename struct osmo_msc_data to bsc_msc_data 2017-02-24 21:01:55 +01:00
silent_call.h silent_call: Use the gsm_subscriber_connection instead of lchan->conn 2010-06-21 16:40:09 +08:00
slhc.h RFC1144: integration and unit-test 2016-09-24 03:17:58 +00:00
smpp.h smpp: refactor initialization, add bind address 2016-02-25 12:18:04 +01:00
sms_queue.h sms: Allow setting amount of failures through the vty. 2010-12-26 09:40:30 +01:00
socket.h src: use namespace prefix osmo_fd* and osmo_select* 2011-05-06 12:11:23 +02:00
system_information.h Prevent segfault in range encoding 2017-01-23 12:32:00 +00:00
token_auth.h fix some "implicit declaration" warnings in osmo-nitb 2011-09-06 09:32:13 +02:00
transaction.h cosmetic: transaction.h: 1 comment typo, 1 whitespace 2016-09-19 11:51:12 +00:00
trau_mux.h trau: Fix compiler warning about decoded_trau_frame 2014-02-20 11:19:32 +01:00
trau_upqueue.h fix some "implicit declaration" warnings in libtrau 2011-09-06 09:32:14 +02:00
ussd.h src: use new library libosmogsm and new path to headers in libosmocore 2011-03-23 18:17:56 +01:00
v42bis.h V.42bis: integration and unit test 2016-09-24 03:17:59 +00:00
v42bis_private.h V.42bis: integration and unit test 2016-09-24 03:17:59 +00:00
vty.h vty: remove ignored logging parameters 2017-02-08 09:37:38 +00:00