Pedro Alvarez
1bac758a85
EPC now sends service reject to a UE that sends service request with bad integrity.
6 years ago
Joseph Giovatto
fa99aa590e
added support for optional ue static ip address (rebase #225 )
6 years ago
Pedro Alvarez
3ad19f21b6
Adding per UE authentication algorithm choice to the HSS and users_db.csv.
6 years ago
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.
6 years ago
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
6 years ago
Pedro Alvarez
9463b95dc1
Remove unused mutex in the SPGW.
6 years ago
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
6 years ago
Pedro Alvarez
3e9f10e20d
Adding S11 initialization in MME and SPGW as unix sockets.
6 years ago
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.
6 years ago
Pedro Alvarez
6e500c5b86
Changed initilization of the NAS at the EPC, to make it easier to add new interfaces.
6 years ago
Pedro Alvarez
add60c1288
Applied clang-format to the EPC.
6 years ago
Pedro Alvarez
179aeddfa2
Added encryption of security mode command and attach accept again. Attach is working with encryption.
6 years ago
Pedro Alvarez
997c24c099
Added config of cipher_algo and integ_algo initialization in NAS class.
6 years ago
Pedro Alvarez
5eacdd5418
Fixed compilation issues. Attach failing with COTS UE.
6 years ago
Pedro Alvarez
31a25067f5
Merging David Ruprecth's mme_msg_encryption branch into next. Not compiling.
6 years ago
David Rupprecht
c480e57721
Config based security algorithm selection
6 years ago
David Rupprecht
e547883a8f
Wrapper functions for integrity generate
6 years ago
David Rupprecht
7eef2c1c4b
start with decryption function
6 years ago
Andre Puschmann
23836a8ab3
Merge branch 'next' into nas_cleanup
6 years ago
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.
6 years ago
Pedro Alvarez
35ca9ffd34
Adding TTL option
6 years ago
Pedro Alvarez
3ecacdf3a6
Adding selection of local interface at the MBMS-GW.
6 years ago
Pedro Alvarez
8dc029cc47
Merging next into NAS cleanup.
6 years ago
Andre Puschmann
860d8af911
Merge branch 'master' into next
6 years ago
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.
6 years ago
Pedro Alvarez
9350e03810
Changed detach request and tracking area update request to nas.cc
6 years ago
Pedro Alvarez
a9e5b3b8e9
Changed service request to nas.cc
6 years ago
Pedro Alvarez
3337f21ffa
Added handle GUTI attach from known UE again.
6 years ago
Pedro Alvarez
0d80ae795b
Added IMSI attach from unknown UE as a static function.
6 years ago
Pedro Alvarez
860e1b5491
Changing Handling of initial UE NAS messages to use static methods. Handling of unknown GUTI attach request should be ok.
6 years ago
Pedro Alvarez
9e808ff968
Starting to handle NAS initial UE messages as static methods of the nas class.
6 years ago
Pedro Alvarez
e3286897ce
Changed the rest of the nas handling to use send_downlink_nas_transport.
6 years ago
Pedro Alvarez
f1d30c7f23
Changed handle guti_attach_from_known_ue and unknown_ue to use send_downstream_nas_message.
6 years ago
Pedro Alvarez
dd725be60c
Changed pack identity request.
6 years ago
Pedro Alvarez
65a5139751
Fixed mistake in downlink nas transport. Changing authication request to use downlink_nas_transport.
6 years ago
Pedro Alvarez
21c34b9ce5
Changing security mode complete to use downlink nas transport
6 years ago
Pedro Alvarez
93222f582c
Changed authentication response to use downlink_nas_transport().
6 years ago
Pedro Alvarez
3073ab6822
Changed dettach request to use downlink nas transport.
6 years ago
Pedro Alvarez
749e84315a
Starting to add send_downlink_nas_transport helper function.
6 years ago
Pedro Alvarez
872f7adc49
Added find imsi from TMSI helper function.
6 years ago
Pedro Alvarez
fa0c8d5995
Moved most of IMSI attach request into nas.cc.
6 years ago
Pedro Alvarez
f6b8982939
Moved most of the GUTI attach to nas.cc.
6 years ago
Pedro Alvarez
c518d3fde3
Starting to move inital UE messages to nas.cc. Breaking up attach request handling into smaller functions.
6 years ago
Pedro Alvarez
55675eb532
Fixed bug in setting MCC and MNC in attach accept. Attach seems to be working again.
6 years ago
Pedro Alvarez
7c53330bec
Fixed NAS initialization. Attach request seems to work again now.
6 years ago
Pedro Alvarez
4ba777c9c3
Added nas log. Fixed gen_auth_info_anwser. Authentication is working again.
6 years ago
Pedro Alvarez
de8679b536
Continuing to cleanup. Starting to compile again.
6 years ago
Pedro Alvarez
406d198eac
Cleaning up nas.cc
6 years ago
Pedro Alvarez
f03967776a
Continuing to clean nas.cc
6 years ago
Pedro Alvarez
6ef3124fc9
Fixed up release ue ctx command.
6 years ago
Pedro Alvarez
b25c12a084
Fixing nas.cc
6 years ago
Pedro Alvarez
85672d4a3f
Fixing up s1ap.cc
6 years ago
Pedro Alvarez
d8f1b3c88d
Moved uplink nas messages to nas.cc. s1ap_nas_transport is compiling.
6 years ago
Pedro Alvarez
1bad88a432
Changing integrity functions in nas.cc
6 years ago
Pedro Alvarez
5fd337a7ad
Continue to move uplink NAS into nas.cc.
6 years ago
Pedro Alvarez
4d40e9ca2d
Temporarilly changing ESM state back to previous definition.
6 years ago
Pedro Alvarez
c1eff4ce73
Changing pack accept
6 years ago
Pedro Alvarez
3663d59920
Starting to add s1ap_interface_gtpc and s1ap_interface_nas. Adapting send initial context setup request accordingly.
6 years ago
Pedro Alvarez
f33fcf65bf
Fixing up S1AP context management procedures to use the new class.
6 years ago
Pedro Alvarez
4c164acbc3
Moving many of the functions fron s1ap_nas_transport to it's own NAS class.
6 years ago
Pedro Alvarez
41a5788cc7
Adding nas.h
6 years ago
Pedro Alvarez
151efc61d5
Added s1ap_tx_pdu function. This function will record to pcap if PCAP is enabled.
6 years ago
Pedro Alvarez
b89ad628e2
Added config option to enable pcap.
6 years ago
Pedro Alvarez
ba5708dc60
Starting to add S1AP pcap to EPC.
6 years ago
Pedro Alvarez
1dc5836365
Adding SGi-mb mask to config
6 years ago
Pedro Alvarez
0a6540d8bf
Saving QCI into ESM context. Different QCIs should be working now.
6 years ago
Pedro Alvarez
66db3deeb4
Starting to add Bearer QoS parameter to create session request.
6 years ago
Pedro Alvarez
f9e3d3a1f7
Added mechanisms to read and write QCI from/to user_db.csv.
6 years ago
Pedro Alvarez
b8bb270ac7
Cosmetic fix.
6 years ago
Pedro Alvarez
f301bb6373
Merging next into op_vs_opc and resolving conflicts.
6 years ago
Pedro Alvarez
d44a3c44ca
Making sure eKSI is changed on re-synch. Re-synch on SYSMOCOM USIMs seem to work.
6 years ago
Pedro Alvarez
11b51e7cb4
Merge branch 'next' into epc_sigpipe
6 years ago
Pedro Alvarez
6a32b5b047
Starting to separate the increment of SQN into a seperate function.
7 years ago
Pedro Alvarez
bd39d8bac2
Fixed bug in getting OPc. Removed debug print. Fixed test12345. UE is still having re-synch issues.
7 years ago
Pedro Alvarez
0d61011d13
Changing user_db.csv to allow users to choose OP/OPc.
7 years ago
yagoda
fac8bb7b7a
adding mbms-gw broadcast support, adding parameter for automatic mbms service start
7 years ago
yagoda
e4c3f0bc30
adding mbms-gw and mch generation tables
7 years ago
David Rupprecht
01985fbffa
private internal nas methods
7 years ago
Pedro Alvarez
362c856e53
Changed UE set to be accessible from SCTP association.
7 years ago
Pedro Alvarez
300b9e7757
Starting to add UEs to the eNB context again.
7 years ago
Pedro Alvarez
a6fbdb62cd
Adding function to mark the UE as present to in the eNB
7 years ago
David Rupprecht
06d4559294
Change include path absolut to project dir
7 years ago
David Rupprecht
9d71bec7b6
Unified include guards
7 years ago
Andre Puschmann
2227b0fb26
Merge branch 'epc' into next
7 years ago
Andre Puschmann
ded550b793
remove unneeded boost includes
7 years ago
Pedro Alvarez
49a830e548
Making sure TAU requests are counted.
7 years ago
Pedro Alvarez
b1f4ee47d1
Temporally removed unhandled UE cap info.
7 years ago
Pedro Alvarez
d82c0b7f6b
Adding handling of detach request.
7 years ago
Pedro Alvarez
b73a4da8f9
Starting to add support to NAS detach request.
7 years ago
Pedro Alvarez
f4f8f746da
Merging changes from epc branch into guti_attach branch.
7 years ago
Pedro Alvarez
d932a2ad85
Starting to add the ability to handle UE context release complete.
7 years ago
Pedro Alvarez
1f3ccb9bda
Fixed bug in integrity check, UE is IMSI attaching again.
7 years ago
Pedro Alvarez
9617a63d27
continuing to change the way context is stored. Compiling now.
7 years ago
Pedro Alvarez
7d37c6b9c3
Continuing to fix compilation issues. Starting to change S1AP to use the new functions to store ctx.
7 years ago
Pedro Alvarez
be84ee854a
Changing the way that ECM context is stored to keep uplink teids active when the context is release.
7 years ago
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.
7 years ago
Pedro Alvarez
ff8818590a
Changing SPGW's handle_create_session_request to check weather GTP context already exists.
7 years ago
Pedro Alvarez
d5478ff7a2
Starting to use EMM state to know whether attach request or service request are initiating the NAS.
7 years ago
Pedro Alvarez
6583d6b2e5
Changing handle UE context release to send release access bearer request instead od delte session request.
7 years ago
Pedro Alvarez
2b84e78389
Adding release access bearer request to SPGW. Compiling now.
7 years ago