642 Commits (a988351f464899d13e39ae9689c5caa027c75763)

Author SHA1 Message Date
Pedro Alvarez 49577b6b5f Making sure that packet queued in the SPGW is freed when queue_downlink_packet enconters errors. Reverse the order of sending paging and queueing packet so that paging_pending is properly set to true. 6 years ago
Pedro Alvarez 7cdc012bb2 Printing fixes in the EPC for ARM 6 years ago
Pedro Alvarez 1bac758a85 EPC now sends service reject to a UE that sends service request with bad integrity. 6 years ago
David Rupprecht dabf586316 ISMI to IMSI typo 6 years ago
Pedro Alvarez d7d461fb8c Change user_db.csv.example to consider static IPs. Changed warning print in HSS. 6 years ago
Joseph Giovatto 056bfef996 use inet_pton to vefify ip address validity 6 years ago
Joseph Giovatto fa99aa590e added support for optional ue static ip address (rebase #225) 6 years ago
Andre Puschmann 41c85adaf2 handle EPC config file errors gracefully 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
Andre Puschmann a436baed39 fix build string for builds without valid .git folder 6 years ago
Pedro Alvarez c5dad67a16 Adding catch to boost program options parser. 6 years ago
Francisco Paisana 0204db2e12 new asn1 rrc library 6 years ago
Pedro Alvarez b675e1fcc9 Ciphering EMM information message. Chainging detach_request security header in the UE to integrity and ciphered to avoid malformed message. 6 years ago
Pedro Alvarez b5d5f9f91c Re-adding support for EIA2 in 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 412b08c4bf Fixed UL nas count increment for GUTI with known UE and Service Request. Both seem to work now. 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
Pedro Alvarez a5a7eb02d2 Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 6 years ago
Andre Puschmann df7ab7ffe8 Merge branch 'master' into next 6 years ago
Pedro Alvarez 60fdc9ebe2 Small commit. 6 years ago
Pedro Alvarez ac0aa76afc Small print changes on NAS. 6 years ago
Pedro Alvarez 9380d56bbf Changing prints in S1AP and SPGW. 6 years ago
Pedro Alvarez 7fd6ae4c40 Changing NAS printing. 6 years ago
Pedro Alvarez 983ba4a3ab Strating to change prints in the HSS. 6 years ago
yagoda 94ec379f68 Small commit to test changes in prints. 6 years ago
rubund b801c3dd4e Fix some spelling errors detected by lintian (#271) 6 years ago
Pedro Alvarez 0320d475e9 Fix Uninitialized QoS options in attach accept. 6 years ago
David Rupprecht c480e57721 Config based security algorithm selection 6 years ago
David Rupprecht 3b7eeb5909 Do security (integrity checks in case of NAS UL message 6 years ago
David Rupprecht 1442606ee1 Encryption for ESM request 6 years ago
David Rupprecht 82f69d66dc ul_nas_count increment tau request 6 years ago
David Rupprecht 4a2c563f85 increase uplink ul nas count 6 years ago
David Rupprecht 2543a84aa4 Minor changes in nas uplink transport and increase uplink count 6 years ago
David Rupprecht 718262eaaf restucture NAS uplink message: todo security of message 6 years ago
David Rupprecht 894471e326 restructure handle_initial_ue_message 6 years ago
David Rupprecht 0dfa6426dd restructure handle_initial_ue_message 6 years ago
David Rupprecht e5e091b0c9 Minor fixes and code clean up 6 years ago
David Rupprecht e547883a8f Wrapper functions for integrity generate 6 years ago
Andre Puschmann cd7008a269 fix typo 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
Andre Puschmann 15d439761a log build info in eNB/EPC logs 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 d443604661 Merge next into gtp_cleanup_sn. Fixed some conflicts. 6 years ago
Andre Puschmann 0deda67930 print build-info during epc startup 6 years ago
Pedro Alvarez c1f633c5c7 Dropping bitfields for now. Using #defines and uint8_t for the flags. 6 years ago
Pedro Alvarez e320c33aef Fixed last compilation issues. 6 years ago
Pedro Alvarez ee04639337 Changed gtpu header flags to use a bitfield. Fixing compilation issues. 6 years ago
Pedro Alvarez 8072aaa091 Fixed minor mistake in resolving conflict. 6 years ago
Pedro Alvarez 8dc029cc47 Merging next into NAS cleanup. 6 years ago
Andre Puschmann b27ff06e79 Merge remote-tracking branch 'origin/issue_178' into next 6 years ago
Pedro Alvarez b4f9fb06dd Changing EPC to use uint32_to_uint8 function 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
Andre Puschmann a9d46cbad3 Merge branch 'master' into next_test_after_merge 6 years ago
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.
6 years ago
Pedro Alvarez 7bad5a52a0 Merging handling of initial UE messages as static methods into nas cleanup. 6 years ago
Pedro Alvarez 9350e03810 Changed detach request and tracking area update request to nas.cc 6 years ago
Pedro Alvarez d2cb01ce87 Deleted old service request. 6 years ago
Pedro Alvarez a9e5b3b8e9 Changed service request to nas.cc 6 years ago
Pedro Alvarez 4313fb1e72 Making sure M-TMSI is in host order in other small bug fixes. 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 0ddb3d39dc Moved handle_imsi_attach_request_from_unknown_ue to nas.cc in static method. Working. 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 c011df5612 Changing Service request to nas.cc 6 years ago
Pedro Alvarez a46f1e4e9a Changing Tracking Area Update Request Initial Message to nas.cc 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 8bcc8ecaeb Starting to move initial attach request handling to nas.cc 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 1f2e22adf4 coding style fixup. 6 years ago
Pedro Alvarez 23bd95c432 Whitespace fix. 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 1fba7f0afa Moved function that gets NAS type string to liblte_mme.cc 6 years ago
Pedro Alvarez 127e214b07 Added function to print string of NAS message type based on the message code. 6 years ago
Pedro Alvarez 5d75b16ee9 Fixed up mistake in UE Context Release command. 6 years ago
Pedro Alvarez 7c53330bec Fixed NAS initialization. Attach request seems to work again now. 6 years ago
Pedro Alvarez d76053e7ec Making sure NAS message is added to the initial context setup request. 6 years ago
Pedro Alvarez cdc72b8164 Fix bug in packing of transport layer address 6 years ago
Pedro Alvarez a4be55c030 Fixed bug in re-synch procedure. 6 years ago
Pedro Alvarez 4059b19b57 Coding style fixups in SP-GW. 6 years ago
Pedro Alvarez 66dc1e0700 Fixed up the initialization of NAS context in IMSI attach request. 6 years ago
Pedro Alvarez 7077530a29 Merge branch 'next' into nas_cleanup 6 years ago
Pedro Alvarez 0aed1f47a5 White space fixes. 6 years ago
Pedro Alvarez 4ba777c9c3 Added nas log. Fixed gen_auth_info_anwser. Authentication is working again. 7 years ago
Pedro Alvarez da840ac334 Fix un-initialized buffer pool in nas.cc 7 years ago
Pedro Alvarez 4e78d70d97 Fixing issue in pack identity request. 7 years ago
Pedro Alvarez 6615af57ee Cleaning up handle initial UE message a bit more. 7 years ago
Pedro Alvarez bd2fa4c04b Cleaning up Handle initial UE message 7 years ago
Pedro Alvarez de8679b536 Continuing to cleanup. Starting to compile again. 7 years ago
Pedro Alvarez 406d198eac Cleaning up nas.cc 7 years ago
Pedro Alvarez f03967776a Continuing to clean nas.cc 7 years ago
Pedro Alvarez 6ef3124fc9 Fixed up release ue ctx command. 7 years ago
Pedro Alvarez f350fa5ec0 Small fixes in coding style. 7 years ago
Pedro Alvarez b25c12a084 Fixing nas.cc 7 years ago
Pedro Alvarez 85672d4a3f Fixing up s1ap.cc 7 years ago
Pedro Alvarez 05a34ec8e3 Cleaning up s1ap.cc 7 years ago
Pedro Alvarez 993e986315 Changing mme_gtpc 7 years ago
Pedro Alvarez d8f1b3c88d Moved uplink nas messages to nas.cc. s1ap_nas_transport is compiling. 7 years ago
Pedro Alvarez 1bad88a432 Changing integrity functions in nas.cc 7 years ago
Pedro Alvarez 5fd337a7ad Continue to move uplink NAS into nas.cc. 7 years ago
Pedro Alvarez 40d53f8f45 Changed s1ap_ctx_mngmt_proc. Starting to address s1ap_nas_transport. 7 years ago
Pedro Alvarez e9528155b5 Changing handle initial context setup response. 7 years ago
Pedro Alvarez 4d40e9ca2d Temporarilly changing ESM state back to previous definition. 7 years ago
Pedro Alvarez c1eff4ce73 Changing pack accept 7 years ago
Pedro Alvarez 3663d59920 Starting to add s1ap_interface_gtpc and s1ap_interface_nas. Adapting send initial context setup request accordingly. 7 years ago
Pedro Alvarez fead1affaa Continue to cleanup s1ap_ctx_managment. 7 years ago
Pedro Alvarez f33fcf65bf Fixing up S1AP context management procedures to use the new class. 7 years ago
Pedro Alvarez 4c164acbc3 Moving many of the functions fron s1ap_nas_transport to it's own NAS class. 7 years ago
Pedro Alvarez 41a5788cc7 Adding nas.h 7 years ago
Pedro Alvarez 597cf18b9d Changing common/debug.h to crash_handler.h 7 years ago
Pedro Alvarez 081721751b Starting to clean up the NAS in the EPC. 7 years ago
Pedro Alvarez c3ef88e112 Fixing conflicts with next. 7 years ago
Pedro Alvarez 39c5c49189 Fixing coding style of some if statements. 7 years ago
Ismael Gomez 7d324306b3 Default RLC to UM 7 years ago
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. 7 years ago
Pedro Alvarez 151efc61d5 Added s1ap_tx_pdu function. This function will record to pcap if PCAP is enabled. 7 years ago
Pedro Alvarez b89ad628e2 Added config option to enable pcap. 7 years ago
Pedro Alvarez ba5708dc60 Starting to add S1AP pcap to EPC. 7 years ago
Pedro Alvarez 304510ea31 Whitespaces fix. 7 years ago
Pedro Alvarez d00662708f Added srslte_debug_handle_crash to EPC. 7 years ago
Ismael Gomez 67d4096e9e Default RLC to UM 7 years ago
Pedro Alvarez 3d24094829 Merge branch 'next' into epc_sigpipe 7 years ago
Pedro Alvarez a74d1905b4 Fix command line parsing in mbms-gw 7 years ago
Pedro Alvarez 712a1b7639 Fix compiling bug 7 years ago
Pedro Alvarez 1dc5836365 Adding SGi-mb mask to config 7 years ago
Pedro Alvarez ec0d7b0c7b Making sure that MME updates the eNB SCTP info when it receives GUTI attach from attached user. 7 years ago