Commit Graph

144 Commits

Author SHA1 Message Date
Francisco Paisana d59016ae68 use of srslte::log* type for ASN1 logging. Initialization of the asn1 and rrc_asn1 loggers done now in both the ue and enb 2019-12-12 15:45:24 +00:00
Francisco Paisana d270518d69 updated rrc to new srsasn1 version 2019-12-11 19:58:20 +00:00
Francisco Paisana 514b9045ca added begin/end methods to asn1 arrays and fixed v2x bug 2019-11-27 20:44:24 +01:00
Francisco Paisana 35c9f02579 added quant cfg parsing and addition to measCfg 2019-11-01 15:48:47 +00:00
Francisco Paisana 427fdb83fe using std::make_tuple now to support old compilers. Move operator== definitions for meascfg types to rrc_asn1_types 2019-11-01 15:48:47 +00:00
Francisco Paisana 200e18ee3a added diff computation for reportconfig and measid. Tests passing 2019-11-01 15:48:47 +00:00
Francisco Paisana 1524e28c3a finished the function to compute diffs between cells/measObjs of two var_meas_cfg objects. Added tests for this. Now the update of a UE's var_meas_cfg is made via a shared pointer. 2019-11-01 15:48:47 +00:00
Francisco Paisana b7559171b7 added logic to insert cells from conf file into var_meas_cfg and calculate diffs between meas_objs 2019-11-01 15:48:47 +00:00
Francisco Paisana 7e62d6d1f9 added parser for rrc_cnfg section of rr.conf file, and dummy rrc_mobility class 2019-10-29 15:27:09 +00:00
Andre Puschmann 50999d8116 allow integrity protection for identity response 2019-10-01 20:59:00 +02:00
Francisco Paisana fc9bb3c934 removed rrc asn1 header include from the ue_interfaces and phy 2019-09-30 21:05:32 +02:00
Ismael Gomez a3932f9bea Minor change to fix coverty issue 2019-09-17 14:22:38 +02:00
Francisco Paisana e768989074 added a packer/unpacker for bytes. This should a faster version than normal bit_ref::pack, when we want to pack multiple bytes, and the bit_ref::offset is 0. Also added a way to skip a fixed number of bits 2019-09-13 21:09:26 +02:00
Ismael Gomez bfddc55148
RRC-PHY interface (#639)
RRC-PHY interface refactor. Moved RRC-MAC interface to rrc_asn1_utils and created RRC-PHY interface also in rrc_asn1_utils. All ASN1 includes should be made from rrc_asn1_utils only keeping ue_interfaces clean of ASN1

Tested with different common and dedicated configurations (64QAM UL, 256QAM, CA, SRS enabled/disabled, etc)
2019-09-04 16:59:10 +02:00
Francisco Paisana ef61f0408c fix asn1 version separator string 2019-09-02 20:21:54 +02:00
Francisco Paisana ad64207a32 added test for unknown group extensions, and the asn1 lib version in its generated files 2019-09-02 20:21:54 +02:00
Francisco Paisana 939c8905cb now the unknown group exts are also consumed 2019-09-02 20:21:54 +02:00
Francisco Paisana 116dc0a57b fixed group extensions, removed extra presence flag for copy_ptr<T> types as it was just a source of bugs. 2019-09-02 20:21:54 +02:00
Pedro Alvarez 9597cc4c14 Clang-formated liblte_* 2019-07-13 14:41:04 +02:00
Francisco Paisana 58e2e51044 removed rlc_interfaces. The rlc_cnfg types are now part of the rrc_interface_types. Removed implicit RB initialization in the RLC. 2019-07-05 10:44:15 +02:00
Francisco Paisana c5509caece added extra operators and remove rrc_asn1 in some cmake targets 2019-07-05 10:44:15 +02:00
Francisco Paisana b936629221 removed rrc asn1 header from bcd_helpers, from rlc_interface, and rlc tests 2019-07-05 10:44:15 +02:00
Francisco Paisana bb0dbf0f1c created a asn1 utils with helper functions and types related to the asn1. These types/functions will help isolate the rrc_asn1 lib from most of the layers, reducing this way the compile times, and leading to better isolation. This will also make the transition to NR smoother. I removed the asn1 types from the NAS and USIM interface so far. 2019-07-05 10:44:15 +02:00
Francisco Paisana 416f9896ec fixes to include the findings from PR #550 2019-07-05 10:38:28 +02:00
Andre Puschmann f357c995fc liblte_mme: fix packing and unpacking of modify EPS bearer context
this just skips the security bits but the packing/unpacking of
the values, i.e. new TFT may still be wrong
2019-06-05 17:41:46 +02:00
Andre Puschmann e97343579b liblte_mme: fix typo in header 2019-05-30 13:05:02 +02:00
Andre Puschmann 1c749ad559 add basic handling for deactivating eps bearer 2019-05-30 13:05:02 +02:00
Andre Puschmann f000e36f21 liblte_mme: fix dedicated bearer handling, add handling for UE testmode 2019-05-30 13:05:02 +02:00
Francisco Paisana 4311c3121c avoid crash when converting nulltype to string 2019-05-24 09:42:42 +02:00
Francisco Paisana aca1e9612d revert back from max_sizeof(...) to macros 2019-05-10 11:59:34 +02:00
Francisco Paisana 14b6a1d483 setter method for choice types 2019-05-10 11:59:34 +02:00
Francisco Paisana 896ef5ee64 added default init for booleans and integers 2019-05-03 09:54:57 +02:00
Francisco Paisana 37d104a2c5 max_sizeof(...) now does a divide a conquer to reduce recursion depth 2019-05-03 09:53:30 +02:00
Andre Puschmann 4b01a2e4a0 update copyright notice 2019-04-29 09:20:02 +02:00
Pedro Alvarez ca603810ce Adding Downlink data notification and paging functionality to the EPC.
This entails:

  * Adding S1AP paging messaging to the MME.
  * Adding the Downlink Data Notification, Donlink Data Notification Acknoledgment, and Downlink Data Notification Failure Messages.
  * Adding the logic at the GTP-U to detect that Downlink Data notification needs to be sent.
  * Proper handling of the new GTP-C messages at the MME GTPC and SPGW GTPC classes
  * Add queuing mechanisms at the GTP-U while waiting for paging response. Queue is flushed when paging fails (timeout or other).
  * Make sure eNB's SCTP information is properly stored.
  * Make sure UE's GUTI information is properly stored.
2019-04-09 16:59:44 +02:00
Francisco Paisana dc0b903130 added default enum inits 2019-04-02 11:03:37 +02:00
Pedro Alvarez 5f7b6ba79e Split GTP-C and GTP-U functionality into seperate classes in the SPGW. Added GTP-U specific logging in the EPC. Added handle_s11_pdu function to both the MME GTP-C entity and the SPGW GTP-C entity. 2019-04-02 09:17:00 +02:00
Pedro Alvarez add60c1288 Applied clang-format to the EPC. 2019-03-20 14:00:02 +01:00
Francisco Paisana 80031d0846 shortened enumerated string/number conversion implementations. 2019-02-21 15:56:23 +01:00
Francisco Paisana ca3ea5e658 shortened enumerated types declarations 2019-02-21 15:56:23 +01:00
Francisco Paisana e50c062084 added extra separator comments 2019-02-21 15:56:23 +01:00
Francisco Paisana 0204db2e12 new asn1 rrc library 2019-01-17 17:43:13 +01:00
Pedro Alvarez 997c24c099 Added config of cipher_algo and integ_algo initialization in NAS class. 2018-12-18 18:27:31 +00:00
Pedro Alvarez 3205121015 M2 interface packing/unpacking (#305)
* Starting to add M2AP serialization structures.

* Added M2AP procedure ids.

* Added some M2AP max values.

* Removing m2ap.cc for now.

* Adding cause IE.

* Adding dummy m2ap.cc to check correct compilation of m2ap.h

* Fixed compilation issues in m2ap.h

* Adding Cell Information IE.

* Added Criticality diagnostics IE.

* Adding eNB-MBMS-ConfigurationDataItem.

* Adding MBMS-Service-Area-Id-List

* Added MBMS Service Area Id.

* Added Global eNB Id IE.

* Added Global MCE id IE.

* Added MBMS-Service-associatedLogicalM2-ConnectionItem IE.

* Added MBSFN_SUBFRAME_CONFIGURATION IE

* Added MCCHrelatedBCCH-ConfigPerMBSFNArea IE.

* Added MCH scheduling period IE.

* Added PMCH-Configuration IE.

* Added Time-to-Wait IE.

* Added TNL-Information IE.

* Starting to add M2SetupRequest msg.

* Adding M2 Setup Request message.

* Fixed up enums related to initiating messages, successful outcome and unscesseful outcome.

* Starting to add m2ap apck/unpack PDU functions.

* Started to add a test for M2 Setup Request Pack/Unpack.

* Filling in M2SetupRequest structure.

* Adding packing of more IEs in the M2SetupRequest.

* Starting to add unpacking functions to M2SetupRequest.

* Continuing to unpack M2SetupRequest. Unpacking PLMN Identity correctly now.

* Fixed up enb_id unpacking. eNB Id and eNB name unpacking correctly now.

* Starting to add unpacking for dataconfiguration item.

* Adding support for eCGI unpacking.

* Adding MBSFN Synchronization Area id Unpacking.

* Adding service area unpacking.

* Added unpacking functionality to the rest of the IEs in the M2 Setup Request. Unpacking the M2 Setup Request is passing unit test.

* Fized mistake in packing eNB Id. Starting to add packing to eCGI.

* Starting to pack value in ENB MBMS Configuration item.

* Fixed packing of ENB MBMS configuration item header.

* Packing of M2 Setup request is now passing the unit test.

* Starting to add M2setup response.

* Starting to add packing/unpacking succeful outcome.

* Starting to add M2SetupResponse to test.

* Continue to add testing to setup response. Choice type seems OK.

* Starting to add unpacking to MCE Id.

* Adding MCEname packing/unpacking.

* Continue to unpack m2setupresponse.

* Adding MBMS Area Id unpacking

* Added pddch length unpacking.

* Adding more IE unpacking.

* Adding more code to unpack M2 Setup response.

* Added M2 Setup response unpacking.

* Added M2 response packing. Fixed mistake on eCGI packing/unpacking, which broke M2 Setup request.

* M2 setup request and response pack and unpacking seems to work.

* Starting to add MBMS Session Start Request.

* Continue to unpack MBMS session start request.

* Added TMGI unpacking.

* Continue to add unpacking to MBMS session start request

* Starting to add TNL Information unpacking

* Added unpack for MBMS session start request.

* Strating to add MBMS session start request packing.

* Adding MCE MBMS M2AP Id packing.

* Added MBMS Session Start Reqeust pack and unpack.

* Added MBMS Session start response packing/unpacking.

* Starting to add unpacking of MBMS Scheduling information.

* Adding MCCH Update time Unpacking.

* Adding MBSFN Area Configuration List Unpacking.

* Starting to add unpack PMCH configuration Item.

* Adding AllocatedSubframesEnd unpack

* Fixed multiple mistakes in unpacking PMCH configuration.

* Unpacking MCH Scheduling Period

* Continue to unpack MBMS Session List Per PMCH Item.

* Added unpacking of PMCH Configuration List. Starting to add unpacking of MBSFN Subframe Configuration List.

* Adding radioframe allocation period and offset unpacking.

* Added unpacking of MBMS Scheduling Information (needs testing.)

* Added more testing to MBMS Scheduling Info.

* Small commit.

* Added more testing to the unpacking of MBMS Scheduling Information. Unpacking correctly now.

* Continue to pack MBMS Scheduling information. Packing PMCH Configuration.

* Fixed mistach in packing PMCH configuration list.

* Adding more packing to MBMS scheduling info message.

* Fixed more mistakes in MBMS Scheduling information packing. Passing tests now.

* Added MBMS Scheduling Information Response.

* Remove debug prints.
2018-12-12 15:22:35 +01:00
Andre Puschmann 23836a8ab3 Merge branch 'next' into nas_cleanup 2018-10-22 11:26:00 +02:00
Andre Puschmann 2645fb50b1 add aligned attribute to liblte_bit_msg_struct to fix issues on ARM 2018-10-05 12:10:43 +02:00
Pedro Alvarez 1fba7f0afa Moved function that gets NAS type string to liblte_mme.cc 2018-08-14 18:42:48 +01:00
Pedro Alvarez 127e214b07 Added function to print string of NAS message type based on the message code. 2018-08-14 17:19:19 +01:00
Andre Puschmann 9b894799f0 add support for ciphered authentication response 2018-07-10 12:34:25 +02:00
Pedro Alvarez 0a6540d8bf Saving QCI into ESM context. Different QCIs should be working now. 2018-06-27 17:45:19 +01:00
Pedro Alvarez 1b43c40422 Starting to add Bearer QoS IE to Create Session Request. 2018-06-26 18:53:04 +01:00
Andre Puschmann 9ce3be974a Merge branch 'next' into embms_merge_final 2018-05-15 22:32:56 +02:00
yagoda 49c3578f64 introducing embms support in common upper layer functions 2018-05-15 16:57:23 +02:00
Andre Puschmann a30ad8952c fix indent and simplify auth request packing 2018-05-15 12:40:29 +02:00
Andre Puschmann 4dc2951d59 perform initial attach with ESM info transfer 2018-05-15 12:40:29 +02:00
Andre Puschmann 455d4491c5 make RES length variable when packing auth response 2018-05-15 12:40:29 +02:00
Ismael Gomez b237d6063e Align header buffer to 8-byte boundary as expected by S1AP pack/unpack functions 2018-04-26 11:46:22 +02:00
Ismael Gomez 208871b251 Changed liblte structs to simple structs and initialized nas/rrc uses. 2018-04-25 18:01:37 +02:00
David Rupprecht 9d71bec7b6 Unified include guards 2018-03-31 19:04:04 +02:00
Pedro Alvarez 2cc4959667 Adding release access bearers request. 2018-03-08 12:50:07 +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 669ef9816f Added packing of TMSI to mobile station identity IE. 2018-02-26 10:39:40 +00:00
Pedro Alvarez 042552491b Merging next into epc branch. 2018-01-08 14:45:13 +00:00
Pedro Alvarez 8c9704ef3c Adding delete session request. 2017-12-21 18:48:31 +00:00
Pedro Alvarez a4e1707835 Fixed bug in packing ESM information request. 2017-12-17 16:05:52 +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 9f994dba04 Starting to generate modify bearer request. Fixed bug in unpacking activate default bearer accept. 2017-12-05 17:21:46 +00:00
Ismael Gomez 9a255b477a Merge branch 'crypto' into mobility_crypto 2017-12-02 12:23:05 +01:00
Paul Sutton 84724d2ab1 NAS-plane encryption working (thanks to David Rupprecht) 2017-11-30 17:09:12 +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 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 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
Ismael Gomez d428760b20 Merge branch 'next' into mobility 2017-11-24 12:02:41 +01:00
Ismael Gomez 408545dab8 X2 (constant NCC) working 2017-11-23 19:46:34 +01:00
Paul Sutton d9b9ae9454 Fix for GUTI pack bug, add support for integrity with attach req 2017-11-23 18:42:08 +00:00
Pedro Alvarez 2172662388 Added initial create session response structure. Compiling now. 2017-11-23 14:57:21 +00:00
Pedro Alvarez ff32f31c9b Added structures to create session request. Starting to add create session response structure 2017-11-23 12:45:30 +00:00
Pedro Alvarez e754c6cbf5 Fixed more compilation bugs. Bearer context IE still needs to be added. 2017-11-23 11:23:40 +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
Xavier Arteaga 4ecd73c984 Added power allocation p_a in UE 2017-11-21 11:51:18 +01:00
Ismael Gomez 12d8b373c7 srsUE takes and reports intra-frequency measurements correctly 2017-11-20 10:02:39 +01:00
Pedro Alvarez 2088b3967b Commenting out the initial GTP-C packing functions (for now). 2017-11-17 11:59:22 +00:00
Pedro Alvarez 542edb988a Added GTPC ie and msg type definitions 2017-11-16 21:07:55 +00:00
Pedro Alvarez 04d3a3f8ca Continue to work on pakcing the create session request message 2017-11-15 19:10:14 +00:00
Pedro Alvarez 99f6ffe63b Starting to add code to create the GTP-C messages. 2017-11-15 16:39:25 +00:00
Paul Sutton 7e3fbbc639 Adding ASN support for RRC measurement report messages 2017-10-20 16:18:26 +01:00
Ismael Gomez 8a367bf825 changed srsue namespace to srslte for all common objects 2017-06-01 12:25:42 +02:00
Andre Puschmann c51c4d2a38 fix compile warnings 2017-05-31 13:45:01 +02:00
Andre Puschmann 5898af3d0b add srslte_asn1 lib
- remove extra subfolder containing liblte
- add asn1 lib containing rrc msg packing and unpacking
- add security related bits to common
2017-05-30 15:06:24 +02:00