Andre Puschmann
41c85adaf2
handle EPC config file errors gracefully
2019-04-09 17:28:09 +02:00
Pedro Alvarez
3ad19f21b6
Adding per UE authentication algorithm choice to the HSS and users_db.csv.
2019-04-09 17:17: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
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
9463b95dc1
Remove unused mutex in the SPGW.
2019-04-03 09:52:18 +02:00
Pedro Alvarez
3933b269d7
Added GTP-C message passing between MME and SPGW using UNIX sockets.
...
* Added S11 sockets to SPGW select and MME select
* Added send_s11_pdu message to SPGW and MME
* Remove pointer for replies in handle_s11_pdu
2019-04-03 09:52:18 +02:00
Pedro Alvarez
3e9f10e20d
Adding S11 initialization in MME and SPGW as unix sockets.
2019-04-03 09:52:18 +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
6e500c5b86
Changed initilization of the NAS at the EPC, to make it easier to add new interfaces.
2019-03-20 14:00:02 +01:00
Pedro Alvarez
add60c1288
Applied clang-format to the EPC.
2019-03-20 14:00:02 +01:00
Andre Puschmann
a436baed39
fix build string for builds without valid .git folder
2019-01-22 12:09:52 +01:00
Pedro Alvarez
c5dad67a16
Adding catch to boost program options parser.
2019-01-18 12:38:56 +00:00
Francisco Paisana
0204db2e12
new asn1 rrc library
2019-01-17 17:43:13 +01:00
Pedro Alvarez
b675e1fcc9
Ciphering EMM information message. Chainging detach_request security header in the UE to integrity and ciphered to avoid malformed message.
2019-01-14 17:00:16 +00:00
Pedro Alvarez
b5d5f9f91c
Re-adding support for EIA2 in EPC.
2019-01-14 15:38:19 +00:00
Pedro Alvarez
179aeddfa2
Added encryption of security mode command and attach accept again. Attach is working with encryption.
2019-01-11 18:13:29 +00:00
Pedro Alvarez
412b08c4bf
Fixed UL nas count increment for GUTI with known UE and Service Request. Both seem to work now.
2019-01-11 16:28:35 +00: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
5eacdd5418
Fixed compilation issues. Attach failing with COTS UE.
2018-12-18 16:48:25 +00:00
Pedro Alvarez
31a25067f5
Merging David Ruprecth's mme_msg_encryption branch into next. Not compiling.
2018-12-18 12:03:52 +00:00
Pedro Alvarez
a5a7eb02d2
Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next
2018-12-14 17:16:41 +00:00
Andre Puschmann
df7ab7ffe8
Merge branch 'master' into next
2018-12-14 16:54:46 +01:00
Pedro Alvarez
60fdc9ebe2
Small commit.
2018-12-14 14:45:40 +00:00
Pedro Alvarez
ac0aa76afc
Small print changes on NAS.
2018-12-14 14:42:24 +00:00
Pedro Alvarez
9380d56bbf
Changing prints in S1AP and SPGW.
2018-12-14 14:28:25 +00:00
Pedro Alvarez
7fd6ae4c40
Changing NAS printing.
2018-12-14 14:16:41 +00:00
Pedro Alvarez
983ba4a3ab
Strating to change prints in the HSS.
2018-12-14 14:10:49 +00:00
yagoda
94ec379f68
Small commit to test changes in prints.
2018-12-14 13:37:08 +00:00
rubund
b801c3dd4e
Fix some spelling errors detected by lintian ( #271 )
2018-12-03 10:36:15 +01:00
Pedro Alvarez
0320d475e9
Fix Uninitialized QoS options in attach accept.
2018-11-28 11:16:50 +00:00
David Rupprecht
c480e57721
Config based security algorithm selection
2018-11-19 15:34:57 +01:00
David Rupprecht
3b7eeb5909
Do security (integrity checks in case of NAS UL message
2018-11-19 14:38:44 +01:00
David Rupprecht
1442606ee1
Encryption for ESM request
2018-11-19 14:11:33 +01:00
David Rupprecht
82f69d66dc
ul_nas_count increment tau request
2018-11-19 13:40:54 +01:00
David Rupprecht
4a2c563f85
increase uplink ul nas count
2018-11-19 13:40:16 +01:00
David Rupprecht
2543a84aa4
Minor changes in nas uplink transport and increase uplink count
2018-11-19 13:39:30 +01:00
David Rupprecht
718262eaaf
restucture NAS uplink message: todo security of message
2018-11-18 22:29:32 +01:00
David Rupprecht
894471e326
restructure handle_initial_ue_message
2018-11-18 21:36:36 +01:00
David Rupprecht
0dfa6426dd
restructure handle_initial_ue_message
2018-11-18 21:35:55 +01:00
David Rupprecht
e5e091b0c9
Minor fixes and code clean up
2018-11-18 21:18:17 +01:00
David Rupprecht
e547883a8f
Wrapper functions for integrity generate
2018-11-18 20:30:22 +01:00
Andre Puschmann
cd7008a269
fix typo
2018-11-16 14:56:43 +01:00
David Rupprecht
7eef2c1c4b
start with decryption function
2018-11-15 23:02:30 +01:00
Andre Puschmann
23836a8ab3
Merge branch 'next' into nas_cleanup
2018-10-22 11:26:00 +02:00
Andre Puschmann
15d439761a
log build info in eNB/EPC logs
2018-10-05 14:58:09 +02:00
Pedro Alvarez
3cddad79cc
Adding ability to configure names of TUN interfaces. ( #277 )
...
* added config option for tun dev names vs fixed names added config option for M1-U interface addr
* Added options to sgi_mb tun name.
* Added some comments to mbms.conf.example
* Added some comments to example configs to explain the new values.
2018-10-05 11:12:31 +02:00
Pedro Alvarez
35ca9ffd34
Adding TTL option
2018-10-04 14:44:26 +02:00
Pedro Alvarez
3ecacdf3a6
Adding selection of local interface at the MBMS-GW.
2018-10-04 14:44:26 +02:00
Pedro Alvarez
d443604661
Merge next into gtp_cleanup_sn. Fixed some conflicts.
2018-10-04 12:09:13 +01:00
Andre Puschmann
0deda67930
print build-info during epc startup
2018-10-01 21:44:16 +02:00
Pedro Alvarez
c1f633c5c7
Dropping bitfields for now. Using #defines and uint8_t for the flags.
2018-10-01 15:17:26 +01:00
Pedro Alvarez
e320c33aef
Fixed last compilation issues.
2018-09-28 15:42:28 +01:00
Pedro Alvarez
ee04639337
Changed gtpu header flags to use a bitfield. Fixing compilation issues.
2018-09-28 13:46:13 +01:00
Pedro Alvarez
8072aaa091
Fixed minor mistake in resolving conflict.
2018-09-25 19:11:56 +01:00
Pedro Alvarez
8dc029cc47
Merging next into NAS cleanup.
2018-09-25 18:56:03 +01:00
Andre Puschmann
b27ff06e79
Merge remote-tracking branch 'origin/issue_178' into next
2018-09-25 15:10:38 +02:00
Pedro Alvarez
b4f9fb06dd
Changing EPC to use uint32_to_uint8 function
2018-09-25 12:09:18 +01:00
Andre Puschmann
860d8af911
Merge branch 'master' into next
2018-09-24 15:50:10 +02:00
Zhe Huang
8b526e1c20
Fix SQN incrementation arithmetic ( #212 )
...
* Fix SQN incrementation arithmetic
Current implementation of increment_sqn function increments the 48 bits
SQN directly by 1 which is incorrect according to 3GPP TS 33.102 version
11.5.1 Annex C. This bug causes commercial UEs to report AUTHENTICATION
FAILURE EMM cause #21 "synch failure" when SQN is out of sync.
According to 3GPP TS 33.102 version 11.5.1 Annex C, 48 bits SQN consists
of 43 bits SEQ and 5 bits IND parts where SEQ are incremented during
generation of authentication vector or resync procedure. A
new IND value is also assigned when an authentication vector is
generated. However, resync procedure will use the same IND value.
This patch implements the increment_sqn function according to 3GPP TS
33.102 version 11.5.1 Annex C. A new function increment_seq_after_resync
is added to handle the special case of SQN arithmetic during SQN
resynchronization.
This patch is tested with two comercial UEs (Oneplus One and Oneplus 3T).
* Fix the maximum value of SEQ value to be 2^43-1
The SEQ value is 43 bits long and previous maximum value has a typo (one
extra F) which allows SEQ value to be 2^47-1. This patch corrects the typo.
2018-09-24 11:28:07 +02:00
Andre Puschmann
a9d46cbad3
Merge branch 'master' into next_test_after_merge
2018-09-20 13:01:43 +02:00
Zhe Huang
cd1fb0d81e
Set AMF to all zeros during resync ( #213 )
...
During the resync procedure, the security_milenage_f1_star generates a
MAC_S value that does not match the MAC_S value reported in AUTS. This
posts a security risk.
According to 3GPP TS 33.102 version 11.5.1 section 6.3.3, the AMF used
to calculate MAC-S assumes a dummy value of all zeros so that it does
not need to be transmitted in the clear in the re-synch message.
This patch corrects this problem. MAC_S reported by AUTS matches the
MAC_S calculated using f1_star function after the fix.
2018-09-20 12:57:47 +02:00
Pedro Alvarez
7bad5a52a0
Merging handling of initial UE messages as static methods into nas cleanup.
2018-08-29 18:44:18 +01:00
Pedro Alvarez
9350e03810
Changed detach request and tracking area update request to nas.cc
2018-08-29 17:47:34 +01:00
Pedro Alvarez
d2cb01ce87
Deleted old service request.
2018-08-29 14:56:55 +01:00
Pedro Alvarez
a9e5b3b8e9
Changed service request to nas.cc
2018-08-29 14:52:09 +01:00
Pedro Alvarez
4313fb1e72
Making sure M-TMSI is in host order in other small bug fixes.
2018-08-28 17:28:31 +01:00
Pedro Alvarez
3337f21ffa
Added handle GUTI attach from known UE again.
2018-08-28 15:29:26 +01:00
Pedro Alvarez
0d80ae795b
Added IMSI attach from unknown UE as a static function.
2018-08-27 19:17:23 +01:00
Pedro Alvarez
0ddb3d39dc
Moved handle_imsi_attach_request_from_unknown_ue to nas.cc in static method. Working.
2018-08-27 18:13:42 +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
9e808ff968
Starting to handle NAS initial UE messages as static methods of the nas class.
2018-08-24 18:15:06 +01:00
Pedro Alvarez
c011df5612
Changing Service request to nas.cc
2018-08-23 14:15:12 +01:00
Pedro Alvarez
a46f1e4e9a
Changing Tracking Area Update Request Initial Message to nas.cc
2018-08-23 12:19:17 +01:00
Pedro Alvarez
e3286897ce
Changed the rest of the nas handling to use send_downlink_nas_transport.
2018-08-22 16:59:40 +01:00
Pedro Alvarez
f1d30c7f23
Changed handle guti_attach_from_known_ue and unknown_ue to use send_downstream_nas_message.
2018-08-22 15:00:01 +01:00
Pedro Alvarez
dd725be60c
Changed pack identity request.
2018-08-21 18:29:28 +01:00
Pedro Alvarez
65a5139751
Fixed mistake in downlink nas transport. Changing authication request to use downlink_nas_transport.
2018-08-21 17:51:00 +01:00
Pedro Alvarez
21c34b9ce5
Changing security mode complete to use downlink nas transport
2018-08-21 16:05:08 +01:00
Pedro Alvarez
93222f582c
Changed authentication response to use downlink_nas_transport().
2018-08-21 15:17:08 +01:00
Pedro Alvarez
3073ab6822
Changed dettach request to use downlink nas transport.
2018-08-21 14:11:28 +01:00
Pedro Alvarez
749e84315a
Starting to add send_downlink_nas_transport helper function.
2018-08-21 12:57:23 +01:00
Pedro Alvarez
8bcc8ecaeb
Starting to move initial attach request handling to nas.cc
2018-08-20 19:47:21 +01:00
Pedro Alvarez
872f7adc49
Added find imsi from TMSI helper function.
2018-08-20 17:59:50 +01:00
Pedro Alvarez
fa0c8d5995
Moved most of IMSI attach request into nas.cc.
2018-08-20 16:48:16 +01:00
Pedro Alvarez
f6b8982939
Moved most of the GUTI attach to nas.cc.
2018-08-20 15:48:23 +01:00
Pedro Alvarez
c518d3fde3
Starting to move inital UE messages to nas.cc. Breaking up attach request handling into smaller functions.
2018-08-16 17:45:39 +01:00
Pedro Alvarez
1f2e22adf4
coding style fixup.
2018-08-16 12:48:37 +01:00
Pedro Alvarez
23bd95c432
Whitespace fix.
2018-08-15 18:38:06 +01:00
Pedro Alvarez
55675eb532
Fixed bug in setting MCC and MNC in attach accept. Attach seems to be working again.
2018-08-15 18:13:36 +01: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
Pedro Alvarez
5d75b16ee9
Fixed up mistake in UE Context Release command.
2018-08-14 15:38:25 +01:00
Pedro Alvarez
7c53330bec
Fixed NAS initialization. Attach request seems to work again now.
2018-08-14 13:59:05 +01:00
Pedro Alvarez
d76053e7ec
Making sure NAS message is added to the initial context setup request.
2018-08-13 18:22:30 +01:00
Pedro Alvarez
cdc72b8164
Fix bug in packing of transport layer address
2018-08-13 18:06:20 +01:00
Pedro Alvarez
a4be55c030
Fixed bug in re-synch procedure.
2018-08-13 16:29:44 +01:00
Pedro Alvarez
4059b19b57
Coding style fixups in SP-GW.
2018-08-13 15:55:14 +01:00
Pedro Alvarez
66dc1e0700
Fixed up the initialization of NAS context in IMSI attach request.
2018-08-13 15:54:53 +01:00
Pedro Alvarez
7077530a29
Merge branch 'next' into nas_cleanup
2018-08-13 11:59:23 +01:00
Pedro Alvarez
0aed1f47a5
White space fixes.
2018-08-13 11:58:06 +01:00
Pedro Alvarez
4ba777c9c3
Added nas log. Fixed gen_auth_info_anwser. Authentication is working again.
2018-07-24 18:38:16 +01:00
Pedro Alvarez
da840ac334
Fix un-initialized buffer pool in nas.cc
2018-07-23 18:44:19 +01:00
Pedro Alvarez
4e78d70d97
Fixing issue in pack identity request.
2018-07-23 18:25:15 +01:00
Pedro Alvarez
6615af57ee
Cleaning up handle initial UE message a bit more.
2018-07-23 17:59:03 +01:00
Pedro Alvarez
bd2fa4c04b
Cleaning up Handle initial UE message
2018-07-23 17:46:23 +01:00
Pedro Alvarez
de8679b536
Continuing to cleanup. Starting to compile again.
2018-07-23 15:30:19 +01:00
Pedro Alvarez
406d198eac
Cleaning up nas.cc
2018-07-23 12:38:40 +01:00
Pedro Alvarez
f03967776a
Continuing to clean nas.cc
2018-07-20 19:50:46 +01:00
Pedro Alvarez
6ef3124fc9
Fixed up release ue ctx command.
2018-07-20 14:54:03 +01:00
Pedro Alvarez
f350fa5ec0
Small fixes in coding style.
2018-07-19 11:15:31 +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
05a34ec8e3
Cleaning up s1ap.cc
2018-07-18 16:13:55 +01:00
Pedro Alvarez
993e986315
Changing mme_gtpc
2018-07-18 14:04:03 +01:00
Pedro Alvarez
d8f1b3c88d
Moved uplink nas messages to nas.cc. s1ap_nas_transport is compiling.
2018-07-17 18:33:10 +01:00
Pedro Alvarez
1bad88a432
Changing integrity functions in nas.cc
2018-07-16 19:41:27 +01:00
Pedro Alvarez
5fd337a7ad
Continue to move uplink NAS into nas.cc.
2018-07-16 19:05:53 +01:00
Pedro Alvarez
40d53f8f45
Changed s1ap_ctx_mngmt_proc. Starting to address s1ap_nas_transport.
2018-07-16 16:06:27 +01:00
Pedro Alvarez
e9528155b5
Changing handle initial context setup response.
2018-07-16 15:39:02 +01:00
Pedro Alvarez
4d40e9ca2d
Temporarilly changing ESM state back to previous definition.
2018-07-16 15:21:03 +01:00
Pedro Alvarez
c1eff4ce73
Changing pack accept
2018-07-16 14:55:36 +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
Pedro Alvarez
fead1affaa
Continue to cleanup s1ap_ctx_managment.
2018-07-13 18:53:44 +01:00
Pedro Alvarez
f33fcf65bf
Fixing up S1AP context management procedures to use the new class.
2018-07-13 18:31:05 +01:00
Pedro Alvarez
4c164acbc3
Moving many of the functions fron s1ap_nas_transport to it's own NAS class.
2018-07-13 17:28:20 +01:00
Pedro Alvarez
41a5788cc7
Adding nas.h
2018-07-13 15:27:38 +01:00
Pedro Alvarez
597cf18b9d
Changing common/debug.h to crash_handler.h
2018-07-13 11:57:15 +01:00
Pedro Alvarez
081721751b
Starting to clean up the NAS in the EPC.
2018-07-13 10:32:47 +01:00
Pedro Alvarez
c3ef88e112
Fixing conflicts with next.
2018-07-12 15:43:27 +01:00
Pedro Alvarez
39c5c49189
Fixing coding style of some if statements.
2018-07-12 14:43:14 +01:00
Ismael Gomez
7d324306b3
Default RLC to UM
2018-07-11 12:56:30 +02:00
Pedro Alvarez
55a6c3d808
Changed the epc.conf to have some instructions how to configure wireshark to decode the S1AP packets from the epc.pcap file.
2018-07-10 15:54:09 +01:00
Pedro Alvarez
151efc61d5
Added s1ap_tx_pdu function. This function will record to pcap if PCAP is enabled.
2018-07-10 15:18:31 +01:00
Pedro Alvarez
b89ad628e2
Added config option to enable pcap.
2018-07-10 14:23:21 +01:00
Pedro Alvarez
ba5708dc60
Starting to add S1AP pcap to EPC.
2018-07-09 19:17:31 +01:00
Pedro Alvarez
304510ea31
Whitespaces fix.
2018-07-09 16:49:34 +01:00
Pedro Alvarez
d00662708f
Added srslte_debug_handle_crash to EPC.
2018-07-09 14:39:19 +01:00
Ismael Gomez
67d4096e9e
Default RLC to UM
2018-07-07 11:43:40 +02:00
Pedro Alvarez
3d24094829
Merge branch 'next' into epc_sigpipe
2018-07-06 13:01:41 +01:00
Pedro Alvarez
a74d1905b4
Fix command line parsing in mbms-gw
2018-07-06 12:23:36 +01:00
Pedro Alvarez
712a1b7639
Fix compiling bug
2018-07-06 12:13:44 +01:00
Pedro Alvarez
1dc5836365
Adding SGi-mb mask to config
2018-07-06 11:52:04 +01:00
Pedro Alvarez
ec0d7b0c7b
Making sure that MME updates the eNB SCTP info when it receives GUTI attach from attached user.
2018-07-04 17:07:33 +01:00
Pedro Alvarez
ced47af7ba
Chenging the MBMS-Gw to pass the log to the gtpu_write_header.
2018-07-03 16:58:30 +01:00
Pedro Alvarez
dc3cc43e02
Changing SPGW to pass log to lib function.
2018-07-03 14:45:50 +01:00
Pedro Alvarez
e2e82cc464
Removing broadcats hack. Returning to a simple TUN insterface on the MBMS-GW.
2018-06-29 11:27:12 +01:00
Pedro Alvarez
badbb1de77
Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next
2018-06-28 14:08:55 +01:00
Pedro Alvarez
aee66c3624
Merge branch 'ip_check' into next
2018-06-28 14:08:16 +01:00
Pedro Alvarez
66757573c1
Making sure that QCI helper comments in user_dg.csv stay when file is overwritten.
2018-06-28 12:34:38 +01:00
Pedro Alvarez
99715dc6e2
Adding check for total length as well.
2018-06-28 12:23:29 +01:00