Commit Graph

309 Commits

Author SHA1 Message Date
Pedro Alvarez 7d37c6b9c3 Continuing to fix compilation issues. Starting to change S1AP to use the new functions to store ctx. 2018-03-14 13:36:20 +00:00
Pedro Alvarez be84ee854a Changing the way that ECM context is stored to keep uplink teids active when the context is release. 2018-03-14 11:14:44 +00:00
Pedro Alvarez be09457ccb Starting to make sure that UL S1-U fteid and S11 SGW ctr fteid are kept, even when UE context release is called. 2018-03-12 16:18:32 +00:00
Pedro Alvarez ff8818590a Changing SPGW's handle_create_session_request to check weather GTP context already exists. 2018-03-09 21:30:33 +00:00
Pedro Alvarez d5478ff7a2 Starting to use EMM state to know whether attach request or service request are initiating the NAS. 2018-03-09 16:25:59 +00:00
Pedro Alvarez 6583d6b2e5 Changing handle UE context release to send release access bearer request instead od delte session request. 2018-03-08 15:55:53 +00:00
Pedro Alvarez 2b84e78389 Adding release access bearer request to SPGW. Compiling now. 2018-03-08 14:19:13 +00:00
Pedro Alvarez 2cc4959667 Adding release access bearers request. 2018-03-08 12:50:07 +00:00
Pedro Alvarez 3b338067c9 Changing Delete session request to delete GTP-C context. 2018-03-08 12:13:53 +00:00
Pedro Alvarez a3b31966b8 Changing Activate EPS bearer function to work with IMSI. 2018-03-07 18:48:08 +00:00
Pedro Alvarez 98345ed6a2 Adapting send modify bearer request to new GTP-C context 2018-03-07 18:10:58 +00:00
Pedro Alvarez 0c50ccef1c Changed create session request to keep GTPC context. 2018-03-07 15:36:08 +00:00
Pedro Alvarez e499fffe01 Starting to save GTP-C context in a map, to keep the GTP-C connection even when the NAS connection is released. 2018-03-07 14:58:08 +00:00
Pedro Alvarez e9213f807d Starting to change SPGW to handle release access bearers request. Changing MME GTPC entity to contain an IMSI to sgw_ctr_fteid and ctr_teid to IMSI maps. 2018-03-07 12:17:49 +00:00
Pedro Alvarez 5488609096 Resolving conflicts from merging next. Adding the functionality of echoing the attach type. 2018-03-06 16:54:32 +00:00
Pedro Alvarez 01cf00700a Adding DNS config options 2018-03-06 10:55:22 +00:00
Pedro Alvarez 0cb1127f93 Sending Service reject to UE as a temporary handling of service requests (Thanks to Merlin Chlosta). 2018-03-05 10:05:58 +00:00
Pedro Alvarez 01e5642882 Replying same attach type to the UE as in the attach request. 2018-03-05 09:51:31 +00:00
Pedro Alvarez ecb846717c Starting to handle UE capability info indication 2018-02-27 13:33:43 +00:00
Pedro Alvarez d301d7599f Quick and dirty hack to not send activate default eps bearer when a service request is received. 2018-02-26 16:03:11 +00:00
Pedro Alvarez d913fdd499 Adding EMM information message. 2018-02-23 10:18:13 +00:00
Pedro Alvarez bdc72c65c4 Adding print to debug TPC issue. 2018-02-20 18:54:41 +00:00
Pedro Alvarez 5f4613bffd Fixing conflicts from merge. 2018-02-19 20:09:09 +00:00
Pedro Alvarez c6e2f144d7 Merging next into guti_attach branch 2018-02-19 19:38:21 +00:00
Pedro Alvarez c02b67b709 Sending initial context setup request on receiving service request 2018-02-19 19:28:54 +00:00
Pedro Alvarez fc0f1e4c23 Sendind intial context setup in response to service request. 2018-02-19 17:54:01 +00:00
Pedro Alvarez 4ee08fdeca Changing send initial context setup request to not need the create session response struct. 2018-02-19 15:19:07 +00:00
Pedro Alvarez 2cb1f27ddb Adding UE context release command. Fixing issue when identity response is integrity protected. 2018-02-16 17:47:55 +00:00
Pedro Alvarez 24d394d8ca Fixed some compilation issues. 2018-02-15 18:47:56 +00:00
FabianEckermann 148c0a97bd Read MME APN from epc config 2018-02-15 16:42:26 +01:00
Pedro Alvarez 7ae2975de4 Starting to get M-TMSI from service request. 2018-02-14 17:40:05 +00:00
Pedro Alvarez 1c4dce8066 Generating k_enb in the securty mode command. Fixed wrong k_enb generation. Integrity is being checked corretly in upstream NAS messages. 2018-02-14 12:28:55 +00:00
Pedro Alvarez 3f7bea1af6 Starting to integrity check GUTI attach. Integrity failing for now. 2018-02-12 16:19:31 +00:00
Pedro Alvarez 1bef5cebf6 small commit 2018-02-09 10:29:40 +00:00
Pedro Alvarez 2cc717b506 Starting to check NAS intgrity of GUTI attach. 2018-02-08 13:57:30 +00:00
Pedro Alvarez 386e56ef40 Fixed bug when GUTI is unknown but EMM context was previously present. Added function to delete EMM context. 2018-02-07 18:13:51 +00:00
Pedro Alvarez 95bc4f8b08 adding tmp emm storage for when the UE uses an unknown guti and id request has to be sent. 2018-02-07 14:11:42 +00:00
Pedro Alvarez 47b574a3ba Removed unused value in ECM ctx 2018-02-06 18:59:53 +00:00
Pedro Alvarez af927eb1d8 Changing handling of ue context release request. Compiling now, needs testing. 2018-02-06 17:21:18 +00:00
Pedro Alvarez 86adc29ce8 Changing send initial context setup. 2018-02-06 16:23:41 +00:00
Pedro Alvarez 97f60ae6ff starting to change handle_attach_request to support separate EMM and ECM context. 2018-02-06 12:19:18 +00:00
Pedro Alvarez 1df3f04192 Changing handle nas security mode complete. 2018-02-05 18:06:19 +00:00
Pedro Alvarez d9da1f84f0 Continuing to separate EMM and ECM context 2018-02-05 15:33:16 +00:00
Pedro Alvarez a0d727166f Starting to split EMM and ECM context. 2018-02-05 13:11:03 +00:00
Pedro Alvarez 336af1ed93 Adding functions to get context from IMSI or MME UE S1AP Id. 2018-02-05 12:26:23 +00:00
Pedro Alvarez 955be59a59 starting to add EMM states to keep EMM state, security context, etc., even when UE context release request is received. 2018-02-03 11:06:03 +00:00
Pedro Alvarez c4b2dd5e65 Starting to add the response to the service request. 2018-02-02 19:08:51 +00:00
David Rupprecht 52e7082aee Small bug fixes, debug print. MAC f1_star does not work 2018-01-29 16:12:36 +01:00
David Rupprecht 244b68e76b Added authentication failure in s1ap 2018-01-29 16:12:36 +01:00
David Rupprecht 5db5399b2f Added HSS sync support (not tested) 2018-01-29 16:12:36 +01:00
David Rupprecht 8ea2e73b63 Making hss an interface for testing 2018-01-29 16:12:36 +01:00
David Rupprecht 3ead643c64 Introducing epc interfaces for hss and srsepc namespace 2018-01-29 16:12:36 +01:00
David Rupprecht 53f05354e6 Making HSS functions private 2018-01-29 16:12:36 +01:00
David Rupprecht 9f3d14cfab Increment sqn 2018-01-29 16:12:36 +01:00
David Rupprecht 5666d3021d Write sqn and user context back to db file 2018-01-29 16:12:36 +01:00
David Rupprecht 1aced47d6a Making the SQN readable from the csv database file 2018-01-29 16:12:36 +01:00
David Rupprecht b1cabf8117 Made MCC and MNC in HSS configurable (not tested) 2018-01-22 09:46:27 +01:00
Pedro Alvarez 3227bc8e66 Deleting commented out and unused code. 2018-01-17 19:55:00 +00:00
Pedro Alvarez 074cf4526f Cleaned up the handling of the Initial UE message. 2018-01-17 19:50:24 +00:00
Pedro Alvarez 0e1058c8d2 Fixing small bug at filling out GUTI. 2018-01-17 10:24:26 +00:00
Pedro Alvarez 3984e1d9db Added NAS identity request/response. 2018-01-14 15:40:41 +00:00
Pedro Alvarez 45effcca08 Starting to add GUTI attach support. 2018-01-10 17:04:36 +00:00
Pedro Alvarez 84e0723c3d Starting to add the mechanisms to perform GUTI attach. 2018-01-10 11:35:08 +00:00
Pedro Alvarez 3beb708806 Moved context mangement functions to s1ap_ctx_mngmnt_proc class. 2017-12-27 16:21:30 +00:00
Pedro Alvarez 9e72fbce43 Continuing to change functions to ctx_mngmnt_proc 2017-12-26 15:59:57 +00:00
Pedro Alvarez c5b1b7edc3 Continuing to cleanup. moving procedures to ctx_mngmt_proc. 2017-12-22 16:11:51 +00:00
Pedro Alvarez 05604ec6eb Added UML diagram to docs 2017-12-22 00:14:42 +00:00
Pedro Alvarez 8c9704ef3c Adding delete session request. 2017-12-21 18:48:31 +00:00
Pedro Alvarez c08b89f3e5 Continuing cleaning up. Moved a lot of functionality to nas_transport 2017-12-20 18:16:54 +00:00
Pedro Alvarez 1f55db09dc Deleted unused functions 2017-12-20 15:33:56 +00:00
Pedro Alvarez d3e1e7d853 Continuing to cleanup. Moved initial ue message to nas_transport 2017-12-20 15:28:10 +00:00
Pedro Alvarez 1fb304ddd3 Continuing to clean up. Moved S1 setup request to s1ap_mngmnt_proc 2017-12-20 10:45:55 +00:00
Pedro Alvarez a5633bf143 Continuing to clean S1AP 2017-12-19 18:12:12 +00:00
Pedro Alvarez da7c105a29 Starting to cleanup S1AP 2017-12-19 16:54:44 +00:00
Pedro Alvarez e839d09b52 Fixed bug in generating keNB. 2017-12-18 14:05:21 +00:00
Pedro Alvarez 80780bfb2f Changed the way UE's IPs are assigned 2017-12-17 17:54:26 +00:00
Pedro Alvarez a8f268c55b Added cleanup functionality to the hss. 2017-12-17 16:30:50 +00:00
Pedro Alvarez a4e1707835 Fixed bug in packing ESM information request. 2017-12-17 16:05:52 +00:00
Pedro Alvarez 39e34a7bf9 Starting to send ESM information request msg when required. 2017-12-16 20:08:33 +00:00
Pedro Alvarez 0884d35378 added replayed GRPS security capabilities. Moto G4 sends security mode complete. 2017-12-16 15:32:40 +00:00
Pedro Alvarez 9d88d2b78f Addind replayed UE security capabilities. 2017-12-16 14:25:20 +00:00
Pedro Alvarez 9a0b883296 Added XOR support the the HSS. 2017-12-15 18:20:57 +00:00
Pedro Alvarez aef328d68b Added the ability to the HSS to be configured through a .csv. 2017-12-13 19:50:19 +00:00
Pedro Alvarez c183ac509d Fixed endianess bug of S-GW address sent to eNB. S-GW now receives upstream user traffic. Starting to strip the gtp-u header. 2017-12-07 18:34:05 +00:00
Pedro Alvarez 2b7bd546bc Able to find eNB F-TEID from destination IP. Starting to add the GTP-U header to the packet. 2017-12-07 15:06:24 +00:00
Pedro Alvarez d18ff13d27 Modify Bearer response parsed ok. Starting to setup the user-plane tunnels 2017-12-06 20:18:11 +00:00
Pedro Alvarez 04d67509cf Getting all information necessary at the SP-GW to setup the user tunnels from the modify bearer response. 2017-12-06 18:34:37 +00:00
Pedro Alvarez d972549124 Starting to create structure for modify bearer response 2017-12-06 12:50:25 +00:00
Pedro Alvarez 489865fa22 Starting to parse Modify Bearer Request at the S-GW. 2017-12-05 19:17:46 +00:00
Pedro Alvarez 9f994dba04 Starting to generate modify bearer request. Fixed bug in unpacking activate default bearer accept. 2017-12-05 17:21:46 +00:00
Pedro Alvarez 8becf4ab23 Unpacking Activate EPS Bearer Context Accept. 2017-12-04 16:00:53 +00:00
Pedro Alvarez b2826402b9 Continuing to parse intial context setup 2017-12-04 10:54:47 +00:00
Pedro Alvarez c4c0a61d3c Continuing to work on context setup response. 2017-12-01 17:41:45 +00:00
Pedro Alvarez 0a36f00d2e Starting to decode initial context setup response. 2017-12-01 14:58:01 +00:00
Pedro Alvarez 47576aced1 Starting to add Init Context Setup Response Parsing. 2017-12-01 12:37:34 +00:00
Pedro Alvarez f71c87d895 Starting to add attach accept and activate default bearer request NAS messages. 2017-11-30 17:06:56 +00:00
Pedro Alvarez 13595ccb2d Added logging to MME GTP-C. Fixed weird comment bug. 2017-11-29 16:34:14 +00:00
Pedro Alvarez 425f5d22b5 Starting to send Initial Context Setup Request to eNB. 2017-11-29 12:01:53 +00:00
Pedro Alvarez 103361deb9 Fixed SPGW initialization bug. 2017-11-28 17:52:57 +00:00
Pedro Alvarez 5bd630ad15 Finalizing Context setup request. Compiling now. 2017-11-28 15:48:44 +00:00
Pedro Alvarez 6cd055e80e Continuing to work on initial context setup request. 2017-11-27 19:13:34 +00:00
Pedro Alvarez fd6baaf15c Changed S1AP to singleton. Continuing to work on the intial context setup request. Added a TEID to MME_UE_S1AP_ID map. 2017-11-27 15:38:10 +00:00
Pedro Alvarez 3c839c1c9b Starting to create Initial Context Setup request message. 2017-11-24 18:20:14 +00:00
Pedro Alvarez ee21a277e5 Added PAA information in the create session response. 2017-11-24 12:14:36 +00:00
Pedro Alvarez d76daf3db5 Added GTP-C cause value enum. 2017-11-24 11:36:49 +00:00
Pedro Alvarez 2e6050bf38 Started to fill in the necessary information for the create session response. 2017-11-23 18:11:53 +00:00
Pedro Alvarez 2172662388 Added initial create session response structure. Compiling now. 2017-11-23 14:57:21 +00:00
Pedro Alvarez ccbeb9e1c5 Fixed a bunch of compilation errors. 2017-11-22 14:41:59 +00:00
Pedro Alvarez a8a370ec21 Starting to add Create Session Request function 2017-11-22 11:52:37 +00:00
Pedro Alvarez 606520d244 Added a TUN interface for the SGi and a socket to receive packets from the S1-U. Select is able choose the fd that needs to be read from. 2017-11-20 20:34:08 +00:00
Pedro Alvarez 796fba6f55 Adding socket for S1-U interface. 2017-11-20 12:30:25 +00:00
Pedro Alvarez f9b2c6434a Added TUN SGi interface to SP-GW. 2017-11-17 18:01:06 +00:00
Pedro Alvarez eac3ee26c1 Starting to add TUN if for SGi interface 2017-11-17 16:04:42 +00:00
Pedro Alvarez b6d0fcfdbe Renamed s-gw to sp-gw. 2017-11-17 12:28:05 +00:00
Pedro Alvarez 042cabc8a0 Starting to add S-GW 2017-11-13 16:42:41 +00:00
Pedro Alvarez f908439ed4 Added the Authentication reject nas message. 2017-11-10 19:32:32 +00:00
Pedro Alvarez 150a747181 Handling UE Context release to cleanup UE context. 2017-11-10 18:18:32 +00:00
Pedro Alvarez 1f52d1741c Added the mechanisms to remove UE's context when the eNB is terminated. 2017-11-10 15:21:56 +00:00
Pedro Alvarez 87b775d94b Added functionallity to delete eNB context when SCTP session is terminated. 2017-11-09 17:43:40 +00:00
Pedro Alvarez c049069346 Added a function to handle the security mode complete. 2017-11-08 18:44:27 +00:00
Pedro Alvarez a77308b4b8 Starting to add a function to parse security command complete. 2017-11-08 18:00:44 +00:00
Pedro Alvarez 468b0f2581 Fixed some issues with the MME and HSS logging. 2017-11-08 14:10:25 +00:00
Pedro Alvarez 1621b6e93a Starting to integrity protect NAS messages. UE accepted security command reques, starting to parse security command complete. 2017-11-07 20:14:43 +00:00
Pedro Alvarez dc107edd41 Continue to pack security mode command 2017-11-07 15:10:52 +00:00
Pedro Alvarez 44a28b3302 Starting to save UE context. 2017-11-06 19:10:57 +00:00
Pedro Alvarez 9170f5c4cf Starting to parse UL NAS Transport 2017-11-06 17:03:26 +00:00
Pedro Alvarez 5b5c65435d Fixed bug in the packing of the dw nas message. UE receives the authentication request message now. 2017-11-03 14:38:34 +00:00
Pedro Alvarez 961e0fc68d Cleaning up the code 2017-11-03 11:02:30 +00:00
Pedro Alvarez fae584dc91 Packed authentication request message. Code needs cleanup and testing. 2017-11-02 15:07:28 +00:00
Pedro Alvarez 7737acb970 Starting to fill the Attach Request message. 2017-11-01 19:14:16 +00:00
Pedro Alvarez 9c54a8b7de Initial code to generate Kasme, rand, autn and xres 2017-11-01 15:14:41 +00:00
Pedro Alvarez 470c815196 Generating RAND 2017-11-01 14:07:44 +00:00
Pedro Alvarez 1a8a2f738b Starting to add SQN generation. 2017-10-31 19:34:10 +00:00
Pedro Alvarez 81827f891b Decoding correctly the NAS Attach request message now. 2017-10-31 13:53:24 +00:00
Pedro Alvarez ae18da83b2 Starting to add functions to the HSS to get K, AMF and OP. 2017-10-27 14:22:04 +01:00
Pedro Alvarez efe258fb6f Starting to get the IMSI from the attach request. 2017-10-26 18:26:47 +01:00
Pedro Alvarez ef73254707 Added new HSS class to compute the authentication vectors. 2017-10-26 14:20:29 +01:00
Pedro Alvarez 70f3bcaeba Starting to parse NAS Attach Request message to get IMSI 2017-10-25 19:17:36 +01:00
Pedro Alvarez 841f38fac0 Starting to save eNB context 2017-10-20 15:21:44 +01:00
Pedro Alvarez 17ffc1f4bb Added a file for common S1AP structs 2017-10-20 14:21:23 +01:00
Pedro Alvarez bfb7f12298 Fixed small bug with sleep. 2017-10-20 14:16:19 +01:00
Pedro Alvarez 0dbddb8a4b Finished separating the pack/unpack from the main S1AP class. 2017-10-20 11:45:45 +01:00
Pedro Alvarez f73d295ae0 Separating msg packing from the main S1AP class. 2017-10-20 09:35:26 +01:00
Pedro Alvarez d8436ea2fc A bit of code cleanup 2017-10-19 14:47:41 +01:00
Pedro Alvarez 4f6fafb66d General code cleanup 2017-10-18 15:27:21 +01:00
Pedro Alvarez 26f03a49f3 Intial code for S1 setup response 2017-10-17 18:13:20 +01:00
Pedro Alvarez 2bfb008bd2 MME now replies with S1 Setup falure. 2017-10-17 12:32:34 +01:00
Pedro Alvarez 5aa91483c5 Done decoding of s1 Setup message. Starting to store context and prepare a reply. 2017-10-13 19:19:45 +01:00
Pedro Alvarez 41aafbc9c8 Added initial ability to parse the S1 setup request. 2017-10-12 21:53:48 +01:00
Pedro Alvarez ca212db4c9 Adding argument parsing to main.cc 2017-10-11 19:24:02 +01:00
Pedro Alvarez 0a670d526a Added some logging functionality. 2017-10-11 16:18:47 +01:00
Pedro Alvarez f93335fa50 Fixed bug of not subscribing to sctp_data_io_event 2017-10-11 12:22:02 +01:00
Pedro Alvarez 396335afee Added initial mechanisms to receive msgs from eNB. 2017-10-10 17:32:34 +01:00
Pedro Alvarez 58b5831009 Starting to create SCTP socket for S1APP 2017-10-09 19:35:00 +01:00
Pedro Alvarez 429c32cd5a Added initial app to run MME. Starting to add S1APP class. 2017-10-09 18:36:40 +01:00
Pedro Alvarez 136e3a2697 Added some boieler plate code for the MME (contruct, singleton, destruct). 2017-10-09 16:49:43 +01:00
Pedro Alvarez b561dfa087 Initial skeleton of the code. 2017-10-09 15:42:13 +01:00
Pedro Alvarez 5c0e2ee32e Starting to add CMake support 2017-10-09 14:11:43 +01:00
Pedro Alvarez 3e5e244440 Changing CMakeLists to compile EPC 2017-10-09 12:22:17 +01:00