Pedro Alvarez
a7e0a0624b
Starting to add interface apply_traffic_flow_template between NAS and GW.
2019-06-07 21:40:03 +02:00
Francisco Paisana
415d3418b6
reorganized enb to mirror ue director/class structure with a stack class
2019-06-07 15:41:56 +02:00
Pedro Alvarez
d67d18cc6b
Removing deplicated error codes.
2019-06-07 13:51:56 +02:00
Xavier Arteaga
bd3ec34f7b
SRSUE: Apply CLang format phy args structure
2019-06-06 15:00:26 +02:00
Xavier Arteaga
fd3671a7e5
SRSUE: Enable AGC
2019-06-06 15:00:26 +02:00
Ismael Gomez
c2e9817f41
Possible solution to RLC Reestablishment
2019-06-06 14:34:25 +02:00
Ismael Gomez
14b526f2aa
Add PDCP per-bearer reestablish
2019-06-06 14:34:25 +02:00
Andre Puschmann
3f613d7183
nas/gw/rrc: make LCID for DRB dynamic
...
- add interface to RRC to allow NAS to query the DRB for a given
EPS bearer id
- extend interface for NAS to setup GW to also pass LCID of bearer
- in NAS, use this new interface to pass actual LCID of the default
DRB when creating the TUN device
2019-06-05 20:50:52 +02:00
Xavier Arteaga
9ab2b2de81
SRSUE: Created delay channel emulator and added fading to the UE
2019-05-30 13:07:23 +02:00
Andre Puschmann
20c9f4687c
remove duplicated code mac_cfg_t
2019-05-27 12:37:52 +02:00
Xavier Arteaga
7629863c5a
SRSUE MAC: 36.331 v10 9.2.2 MAC main config defaults does not include RACH
2019-05-27 12:37:52 +02:00
Xavier Arteaga
080b4a327c
SRSUE: Refactored asynchronous cell and ue_radio. CA Fixed.
2019-05-17 18:13:51 +02:00
Andre Puschmann
65f50cd7ba
introduce new UE layer design
...
- abstract UE object now consists of a radio, a PHY, and a stack layer
- add new stack abstraction layer that combines MAC, RLC, RRC, PDCP, NAS and GW
- PHY layer now has a single stack interface and does not talk to MAC and RRC seperatly
2019-05-17 17:46:28 +02:00
Francisco Paisana
3bedc93ba5
added _t to unique_byte_buffer type
2019-05-16 12:35:01 +02:00
Francisco Paisana
f469e2178b
replaced byte_buffer_t allocated by the buffer pool for unique_byte_buffer which is safer and easier to use
2019-05-16 12:35:01 +02:00
Francisco Paisana
0976ea6f27
created a unique byte buffer that automatically deallocates
2019-05-16 12:35:01 +02:00
Francisco Paisana
7be183c223
rework scheduler
2019-05-14 22:34:50 +02:00
Andre Puschmann
e77adbe5a5
fix uninitialized members in ue_interface
2019-05-02 12:43:19 +02:00
Andre Puschmann
4b01a2e4a0
update copyright notice
2019-04-29 09:20:02 +02:00
Ismael Gomez
7780b1aba5
add tdd/ca support
2019-04-25 20:57:58 +02:00
David Rupprecht
b84e49310e
Enable encryption in reconfiguration and after security mode command (NOT TEST)
2019-04-11 21:38:01 +02:00
David Rupprecht
eb3a83ac45
User Plane key in configuration interface
2019-04-11 21:38:01 +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
Pedro Alvarez
1db959c661
Added NAS timer functionality to the EPC. This entails:
...
* Adding timer creation at NAS using timerfd_create
* Adding the ability to add and remove the timer file descriptor to the MME main select loop
* Adding the ability to the MME for the NAS to check if a timer is running
* Adding the timer expiry handling functionality at the MME
2019-04-08 13:05:54 +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
0204db2e12
new asn1 rrc library
2019-01-17 17:43:13 +01:00
Andre Puschmann
d6196ba234
simplify RRC-NAS interface and only have msg as param (RRC selects LCID)
2018-12-10 17:48:52 +01:00
Andre Puschmann
c3441046c9
simplify RLC buffer status query procedures
...
- add a simple and low-overhead has_data() method to check whether
an RLC entity has data to transmit or not
- use this method for all calls that are actually not interested
in the amount of data to send
- use the more expensive get_buffer_state() for all cases where
the actual size of the buffer is of importance
2018-12-10 17:48:52 +01:00
Pedro Alvarez
dc727a192b
Changing way UL NAS count is used to generate the K_enb.
2018-11-30 21:42:43 +01:00
Andre Puschmann
db910cb84b
add CSV metrics for eNB
2018-11-20 12:15:04 +01:00
Andre Puschmann
8a1368c8d6
send connection reject if MME isn't connected
2018-11-16 14:56:39 +01:00
Andre Puschmann
0af19b070c
add function to query if RLC bearer exists to UE interface
2018-11-02 21:28:03 +01:00
Andre Puschmann
1ed225a10b
add getter for IPv4 and IPv6 addresses
2018-10-26 13:09:03 +02:00
Pedro Alvarez
5c29dba741
Changed Interface between NAS and GW to avoid the GW start function being called twice in IPv4v6 mode.
2018-10-26 11:42:27 +02:00
Pedro Alvarez
ac1c300126
Adding the ability to set the interface local link IPv6 address.
2018-10-26 11:42:27 +02:00
Pedro Alvarez
8dc029cc47
Merging next into NAS cleanup.
2018-09-25 18:56:03 +01:00
Andre Puschmann
184539b87d
add LCID change API to UE interface, add method to reestablish single RLC bearer
2018-09-18 15:09:24 +02:00
Ismael Gomez
bc9d342959
New optimization on the PHY for both UE and eNodeB ( #251 )
...
* New parallel Turbodecoder implementation in SSE/AVX 16-bit and 8-bit
* Optimised UL Interleaver
* Include TB CRC calculation in FEC encoder
* New threading priorities
2018-09-04 17:51:35 +02:00
Pedro Alvarez
0d80ae795b
Added IMSI attach from unknown UE as a static function.
2018-08-27 19:17:23 +01:00
Pedro Alvarez
860e1b5491
Changing Handling of initial UE NAS messages to use static methods. Handling of unknown GUTI attach request should be ok.
2018-08-27 16:06:18 +01:00
Pedro Alvarez
93222f582c
Changed authentication response to use downlink_nas_transport().
2018-08-21 15:17:08 +01:00
Pedro Alvarez
f6b8982939
Moved most of the GUTI attach to nas.cc.
2018-08-20 15:48:23 +01:00
Pedro Alvarez
7077530a29
Merge branch 'next' into nas_cleanup
2018-08-13 11:59:23 +01:00
Andre Puschmann
f56592b0fe
add getter for PDCP ul/dl counter
2018-08-08 16:26:32 +02:00
Andre Puschmann
91492b87ef
add del_bearer for RLC/PDCP
2018-08-06 13:17:51 +02:00
Andre Puschmann
3b8371d090
add detach support (for switch off)
2018-08-06 11:10:12 +02:00
Andre Puschmann
ee5b055829
rename pdcp function for GW to is_lcid_enabled()
2018-07-25 15:09:19 +02:00
Andre Puschmann
b8438e9cc3
extend PDCP interface to allow non-blocking write of SDUs
2018-07-24 15:49:09 +02:00
Pedro Alvarez
de8679b536
Continuing to cleanup. Starting to compile again.
2018-07-23 15:30:19 +01:00
Pedro Alvarez
f03967776a
Continuing to clean nas.cc
2018-07-20 19:50:46 +01:00
Pedro Alvarez
b25c12a084
Fixing nas.cc
2018-07-18 19:25:59 +01:00
Pedro Alvarez
85672d4a3f
Fixing up s1ap.cc
2018-07-18 17:25:37 +01:00
Pedro Alvarez
3663d59920
Starting to add s1ap_interface_gtpc and s1ap_interface_nas. Adapting send initial context setup request accordingly.
2018-07-16 13:50:12 +01:00
Ismael Gomez
589e569ce9
Changes on srsENB mutexing logic to fix general race condition and deadlock issues ( #229 )
...
* fixed some issues with the UL scheduling
* Hack to fix UL scheduler
* minor fix
* Cleaned up code and fixed issue with the update_allocation function
* fixed the console printing in the enb
* log/console fix
* fixed the log print
* added a normalization factor
* RLC: entity uses dynamic instances. Simplified stop/reset/reestablish procedure. Added non-blocking interface
* Limit decimals in metrics stdout
* Changed mutexes to rwlock in RLC/RRC/MAC/PDCP to fix race conditions when removing users
* Fix deadlock bug for MIMO
* Remove headers
* Fix missing unlock causing overflows
* Do not decrease CQI when PUCCH (this is a temporal fix, requires to reduce the maximum MCS)
* Fix mutex unlock in worker
* Configurable RLC tx buffer. Default to 512 for enodeb
* Check NULL SDU in write_sdu()
* Protect RLC objects and tx_queue from being destroyed while using it
* Remove superfluous code
* Disable SIB logging
* Fix block_queue for enb
2018-07-05 11:00:19 +02:00
Ismael Gomez
8c92f3fddc
Improvements and fixes on srsENB scheduler ( #228 )
2018-06-29 11:25:22 +02:00
Pedro Alvarez
66db3deeb4
Starting to add Bearer QoS parameter to create session request.
2018-06-27 15:10:17 +01:00
Andre Puschmann
064d7bd2dc
use original UE establishment cause in S1AP initial UE message
2018-06-25 18:19:57 +02:00
Ismael Gomez
6120f20290
Changes in RRC and S1AP to make enb more robust on UE add/rem operations.
...
* Consolidated functions in S1AP
* Fixed ASAN in some GCC
* Stop quicker the enb
* Minor typo edit
* Fixed mutexing issues in RRC and possibly RLC/PDCP when adding/removing users
2018-06-12 17:31:07 +02:00
Andre Puschmann
61d525ea80
Merge branch 'next' into embms_merge_final
2018-05-22 10:39:05 +02:00
Ismael Gomez
467ba4e326
Average sampling offset estimate before adjusting timing to be more robust against EVA and ETU fading
2018-05-21 23:00:57 +02:00
Andre Puschmann
9ce3be974a
Merge branch 'next' into embms_merge_final
2018-05-15 22:32:56 +02:00
yagoda
e4c3f0bc30
adding mbms-gw and mch generation tables
2018-05-15 17:27:10 +02:00
yagoda
ec918eab76
adding support for embms in common functions and interfaces
2018-05-15 16:50:57 +02:00
Andre Puschmann
3fe6dad323
adding hard SIM card support using PCSC
2018-05-15 12:40:29 +02:00
Ismael Gomez
ffb8337be7
Merge branch 'next' into sync_states
2018-04-12 18:30:19 +02:00
Xavier Arteaga
15173c5c30
Added gaussian filter configuration options in srsue.conf
2018-04-10 13:25:26 +02:00
Ismael Gomez
edd9cbf4dc
Merge branch 'next' into sync_states
2018-04-10 09:35:21 +02:00
David Rupprecht
06d4559294
Change include path absolut to project dir
2018-04-01 18:08:24 +02:00
David Rupprecht
9d71bec7b6
Unified include guards
2018-03-31 19:04:04 +02:00
Ismael Gomez
b3be54b274
Attach and paging ok. Reselection on IDLE not working
2018-03-21 10:46:24 +01:00
Ismael Gomez
f88f465c97
Refactored NAS/RRC/PHY cell_search/selection procedures
2018-03-19 14:14:51 +01:00
Ismael Gomez
86d4ce52e0
Make intra-frequency measurement period/length a parameter
2018-03-15 12:27:55 +01:00
Ismael Gomez
f9d770e50e
Added option for Doppler frequency correction
2018-03-14 17:30:55 +01:00
Ismael Gomez
c2098ad626
Removed unused sample offset correction
2018-03-13 18:52:21 +01:00
Ismael Gomez
3adc6b5cbc
Merge pull request #158 from softwareradiosystems/csi
...
Csi
2018-03-07 14:40:57 +01:00
Ismael Gomez
13efa740e8
Changed logic in RRC/NAS/PHY for cell/plmn search to avoid stucking in IDLE
2018-03-06 22:20:38 +01:00
Ismael Gomez
90553e830d
Fixed cell search for non-home PLMN
2018-03-05 13:07:24 +01:00
Ismael Gomez
91664ef2be
Do sell reselection on IDLE by phch_recv thread instead of worker
2018-03-04 11:55:58 +01:00
Xavier Arteaga
8cabfa82cf
Added CSI report enable option in SRS UE
2018-02-28 12:30:34 +01:00
Ismael Gomez
cfaa5e9b28
Fix previous commit could not HO more than once due to not refreshing serving cell after 1st HO
2018-02-25 19:13:12 +01:00
Ismael Gomez
56df710d1f
Add rx_gain_offset interface for RSRP calibration
2018-02-21 11:51:55 +01:00
Pedro Alvarez
cc9845ef07
Merging HSS resynch functionality from David Rupprecht. Resolving conflict in user_db.csv.
2018-02-09 15:04:22 +00:00
Ismael Gomez
a279ab47f0
Improved neighbour cell accuracy. Changed RRC to avoid segfault when neighbour cell addition
2018-02-02 19:31:22 +01:00
David Rupprecht
5db5399b2f
Added HSS sync support (not tested)
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
Andre Puschmann
74138071db
move radio bearer definition to RRC
2018-01-12 14:57:38 +01:00
Ismael Gomez
b0a2fa3b0b
Merge branch 'enbmimo' into mob_crypto_mimo
2017-12-04 12:10:46 -06:00
Ismael Gomez
48dfc08fa3
Fixed SIC for PSS using channel estimates, added option to disable it (not usable on synchronous same-site cells). Use PSS CE in SSS decoding
2017-12-03 22:13:07 -06:00
Ismael Gomez
5c31800ccb
Fixed HO with ciphering
2017-12-02 22:43:35 +01:00
Ismael Gomez
9a255b477a
Merge branch 'crypto' into mobility_crypto
2017-12-02 12:23:05 +01:00
Paul Sutton
1a323770c9
Added support for AS ciphering
2017-12-01 19:19:38 +00:00
Ismael Gomez
f1c6bcd252
Merge branch 'next' into mobility
2017-11-30 20:13:06 +01:00
Ismael Gomez
dd8bacf466
Calibrated CFO loop default values
2017-11-30 20:01:35 +01:00
Paul Sutton
84724d2ab1
NAS-plane encryption working (thanks to David Rupprecht)
2017-11-30 17:09:12 +00:00
Ismael Gomez
3a0ab02264
S1/X2 handover tested and working
2017-11-27 13:57:05 +01:00
Ismael Gomez
8447c965e3
Fixing RSRP measurements
2017-11-25 10:40:53 +01: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
4877c7ab07
Adding support for GUTI attach
2017-11-23 18:42:48 +00:00
Ismael Gomez
12d8b373c7
srsUE takes and reports intra-frequency measurements correctly
2017-11-20 10:02:39 +01:00
Xavier Arteaga
75957d41d7
Added DCI formats 2 and 2a inScheduler. Improved UE PHCH, corrected some MIMO bugs on both sides.
2017-11-08 17:10:16 +01:00
Xavier Arteaga
96a6d6ae9f
Merge branch 'next' into enbmimo
2017-10-27 16:25:03 +02:00
Xavier Arteaga
6985682ef0
Added 2nd Codeword interface in scheduler, plus pmi close loop reporting
2017-10-26 17:09:28 +02:00
Xavier Arteaga
af669a6cbb
Added RI reporting in enb and optimised RI computing calling time
2017-10-24 10:07:54 +02:00
Ismael Gomez
85571c47cd
Added option to ue.conf to configure CFO EMA (set default to 0.4)
2017-10-20 12:34:34 -04:00
Xavier Arteaga
21355de77e
Added TM3 (1 layer only) eNB support at RRC
2017-10-11 17:00:49 +02:00
Ismael Gomez
1c677f7183
Read Home PLMN from IMSI
2017-10-07 21:58:08 +02:00
Ismael Gomez
2159ad3280
Added support for roaming PLMN
2017-10-07 21:31:13 +02:00
Paul Sutton
428e5955df
Fix for SPGW address issue for GTP bearers - now using addresses from bearer setup requests
...
htonl fix
2017-10-02 13:04:40 +01:00
Ismael Gomez
92144ce15d
Revert "Handle RRC ConnectionReject at eNodeB and UE"
...
This reverts commit b6f905e2df
.
2017-09-26 18:26:57 +02:00
Ismael Gomez
b6f905e2df
Handle RRC ConnectionReject at eNodeB and UE
2017-09-26 16:45:02 +02:00
Ismael Gomez
4a86967530
Improved stability after radio link failure and radio transport error
2017-09-18 18:34:33 +02:00
Xavier Arteaga
c29af35158
Solved bug: when a retransmission of a succesfully decoded block was received
2017-09-18 15:56:58 +02:00
Ismael Gomez
68b1782c86
Fixed Paging and reattachment in new state machine. Moved GW to srsue
2017-09-18 14:02:31 +02:00
Ismael Gomez
826667361e
Reduced chances of uhd demuxer error. Reset device when it occurs
2017-09-15 17:49:31 +02:00
Xavier Arteaga
230eb63a97
Refactored grant: removed nof_tb from grant. Use tb_en instead.
2017-09-13 13:36:20 +02:00
Ismael Gomez
b0639ab394
resolved merge conflicts
2017-09-05 15:26:36 +02:00
Ismael Gomez
a51b6b09dd
Merged with next. Attach successful
2017-09-01 19:32:57 +02:00
Ismael Gomez
e5feec1934
Temporal commit before merge. Changed sequence objects to avoid reallocating memory. new NAS/RRC working with initial attachment
2017-09-01 13:29:11 +02:00
Ismael Gomez
955170bd52
Improved DL TCP performance by tweeking BSR reports and UL scheduler
2017-08-28 10:06:12 +02:00
Andre Puschmann
8030778809
fix PDCP initialization in eNB
2017-07-06 16:42:16 +02:00
Andre Puschmann
7ca0988ea3
refactor RLC to use RAT-agnostic config
2017-07-04 18:29:49 +02:00
Andre Puschmann
8dbabb2834
rework bearer/LCID handling
...
This is a larger patch that reworks the LCID handling throughout the
code.
- It first moves the RB/LCID mapping out of common.h into the RRC object
because different RATs may have different mappings.
- It adds a interface to RRC that other objects like RLC/PDCP/etc. may
use to get the bearer name of a specific LCID.
- The patch also introduces a PDCP config class.
2017-07-04 17:48:39 +02:00
Andre Puschmann
cbfcb281a9
seperate RAT agnostic bits from various interfaces
2017-07-04 17:46:50 +02:00
Andre Puschmann
c247f1103d
parameterize TTI offset between UL grant and UL tx and UL tx and HARQ rx
2017-07-04 17:46:50 +02:00
Andre Puschmann
20a004a768
add seperate interface for MUX to query BSR procedure
...
- this is also intented to make MUX RAT-agnostic
2017-07-04 17:46:50 +02:00
Andre Puschmann
583aa2d180
move MAC structs shared between multiple RATs out RAT specific interface
2017-07-04 17:46:50 +02:00
Ismael Gomez
4b5cbafdb5
upgraded to new code restruct
2017-06-21 18:29:17 +02:00
Andre Puschmann
04ec09bd71
add license text to various files
2017-06-02 13:01:47 +02:00
Ismael Gomez
8a367bf825
changed srsue namespace to srslte for all common objects
2017-06-01 12:25:42 +02:00